Skip to content

Instantly share code, notes, and snippets.

@nickcernis
Created September 18, 2017 20:43
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nickcernis/2d258f3fefa7360d6547f99785212966 to your computer and use it in GitHub Desktop.
Save nickcernis/2d258f3fefa7360d6547f99785212966 to your computer and use it in GitHub Desktop.
include config/theme-info.make
include src/make/theme-info-original.make
include src/make/show-help-from-comments.make
.PHONY: help sass build watch bump gitinit rename undo-rename dist clean b r ur gi ts
help: show-help-from-comments
## Watch and build Sass files only. Compiles all Sass to style.css, unminified.
sass:
@sass --watch assets/sass/style.scss:./style.css
## Build minified assets for distribution and save to ./dist/$current_version/. Bump your version first.
dist:
$(eval current_version := $(shell grep "\tVersion: .*" ./assets/sass/style.scss | cut -d':' -f2))
@mkdir -p ./dist/$(current_version)
@sass --update ./assets/sass/style.scss:./dist/$(current_version)/style.css --force --style compressed --no-cache
## Remove the ./dist/$current_version/ and ./.sass-cache/ folders.
clean:
$(eval current_version := $(shell grep "\tVersion: .*" ./assets/sass/style.scss | cut -d':' -f2))
rm -rf ./.sass-cache
rm -rf ./dist/$(current_version)/
## Watch and build unminified Sass files.
watch: sass
## Change theme version to the specified value: `make bump v=1.0.1`. Does not git tag.
bump:
ifdef v
@echo Changing version to $(v).
@find . -type f -name style.css -exec sed -i '' -e "s| Version: .*| Version: $(v)|" {} +
@echo Done!
else
@echo 'error: version must be provided'
@echo 'usage: make bump v=1.0.1'
@false
endif
m = Initial commit # Default commit message.
## Destroy current git repo, init afresh, and commit all with message, 'Initial commit'.
## To set your own message: `make gitinit m='Your message'`.
gitinit:
@rm -rf .git
@echo Removed existing Git repository
@git init
@git add .
git commit -am '$(m)'
@echo Done!
## Update theme name and developer credits in all files. Edit config/theme-info.make first.
rename:
@echo Changing…
@echo - Theme name to $(THEME_NAME)
@find . -type f \( -name \*.css -o -name \*.php \) -exec sed -i '' -e "s|$(DEFAULT_THEME_NAME)|$(THEME_NAME)|g" {} +
@echo - Theme URL to $(THEME_URL)
@find . -type f \( -name \*.css -o -name \*.php \) -exec sed -i '' -e "s|$(DEFAULT_THEME_URL)|$(THEME_URL)|g" {} +
@echo - Description to $(DESCRIPTION)
@find . -type f -name "*.css" -exec sed -i '' -e "s|$(DEFAULT_DESCRIPTION)|$(DESCRIPTION)|g" {} +
@echo - Author name to $(AUTHOR_NAME)
@find . -type f \( -name \*.css -o -name \*.php \) -exec sed -i '' -e "s|$(DEFAULT_AUTHOR_NAME)|$(AUTHOR_NAME)|g" {} +
@echo - Author URL to $(AUTHOR_URL)
@find . -type f -name "*.css" -exec sed -i '' -e "s|$(DEFAULT_AUTHOR_URL)|$(AUTHOR_URL)|g" {} +
@echo - Theme version to $(INITIAL_VERSION)
@find . -type f \( -name \*.css -o -name \*.php \) -exec sed -i '' -e "s|$(DEFAULT_INITIAL_VERSION)|$(INITIAL_VERSION)|g" {} +
@sed -i '' -e "s|$(DEFAULT_INITIAL_VERSION)|$(INITIAL_VERSION)|g" CHANGELOG.md
sed -i '' -e "s|YEAR-MONTH-DAY|`date +%Y-%m-%d`|g" CHANGELOG.md
@echo - Genesis version to $(MIN_GENESIS_VERSION)
@find . -type f -name "*.css" -exec sed -i '' -e "s|$(DEFAULT_MIN_GENESIS_VERSION)|$(MIN_GENESIS_VERSION)|g" {} +
@echo - Text domain to $(TEXT_DOMAIN)
@find . -type f \( -name \*.css -o -name \*.php \) -exec sed -i '' -e "s|$(DEFAULT_TEXT_DOMAIN)|$(TEXT_DOMAIN)|g" {} +
@echo - Root namespace to $(ROOT_NAMESPACE)
@find . -type f -name "*.php" -exec sed -i '' -e "s|$(DEFAULT_ROOT_NAMESPACE)|$(ROOT_NAMESPACE)|g" {} +
@echo Done!
## Reset theme name and credits to the default. Use before running `make rename` a second time. Does not undo version number changes.
undo-rename:
@echo Resetting…
@echo - Theme name
@find . -type f \( -name \*.css -o -name \*.php \) -exec sed -i '' -e "s|$(THEME_NAME)|$(DEFAULT_THEME_NAME)|g" {} +
@echo - Theme URL
@find . -type f \( -name \*.css -o -name \*.php \) -exec sed -i '' -e "s|$(THEME_URL)|$(DEFAULT_THEME_URL)|g" {} +
@echo - Description
@find . -type f -name "*.css" -exec sed -i '' -e "s|$(DESCRIPTION)|$(DEFAULT_DESCRIPTION)|g" {} +
@echo - Author name
@find . -type f \( -name \*.css -o -name \*.php \) -exec sed -i '' -e "s|$(AUTHOR_NAME)|$(DEFAULT_AUTHOR_NAME)|g" {} +
@echo - Author URL
@find . -type f -name "*.css" -exec sed -i '' -e "s|$(AUTHOR_URL)|$(DEFAULT_AUTHOR_URL)|g" {} +
@echo - Text domain
@find . -type f \( -name \*.css -o -name \*.php \) -exec sed -i '' -e "s|$(TEXT_DOMAIN)|$(DEFAULT_TEXT_DOMAIN)|g" {} +
@echo - Root namespace
@find . -type f -name "*.php" -exec sed -i '' -e "s|$(ROOT_NAMESPACE)|$(DEFAULT_ROOT_NAMESPACE)|g" {} +
@echo Done!
# Check for dependencies.
#setup:
#@command -v fswatch --version >/dev/null 2>&1 || { printf >&2 "fswatch is not installed, please run: brew install fswatch\n"; exit 1; }
#@command -v go-bindata >/dev/null 2>&1 || { printf >&2 "go-bindata is not installed, please run: go get github.com/jteeuwen/go-bindata/...\n"; exit 1; }
# Aliases.
b: bump
rel: release
r: rename
ur: undo-rename
gi: gitinit
ts: typescript
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment