| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- # vim: set sw=2 ts=2 sts=2 et tw=80 fmr={{{,}}} fdl=0 fdm=marker:
- # pgs-cli build.
- .PHONY: help dist
- # Auto-Documenting Section. Displays a target list with `##` descriptions.
- help:
- @grep -E '^[a-zA-Z_-]+:.*## .*$$' $(MAKEFILE_LIST) | awk 'BEGIN {FS = ":.*?## "}; {printf "* %-10s %s\n", $$1, $$2}'
- dist: ## Create a distribution for live usage.
- # --- Create Folders ---
- @rm -rf dist/*
- @mkdir -p dist/css dist/js dist/tags
- # --- Combine CSS ---
- @for file in $$(cat css/app.css | sed "$(CSS_FILES)"); do \
- cat css/$$file >> dist/css/app.css; \
- done
- # --- Combine Javascript ---
- @for file in $$(grep "$(JS_TAGS)" index.html | sed "$(JS_FILES)"); do \
- cat $$file >> dist/js/app.js; \
- done
- # --- Combine Riot Tags ---
- @for file in $$(grep "$(RIOT_TAGS)" index.html | sed "$(RIOT_FILES)"); do \
- cat $$file >> dist/tags/app.tag; \
- done
- # --- Modify Index Page ---
- @sed -e "/$(JS_TAGS)/D" -e "s|$(APPJS_PH)|$(APPJS_TAG)|" \
- -e "/$(RIOT_TAGS)/D" -e "s|$(APPTAG_PH)|$(APPTAG_TAG)|" \
- index.html > dist/index.html
- @echo "All Done!"
- CSS_FILES = s|@import.*[\'\"]\(.*\)[\'\"].*|\1|
- JS_TAGS = <script .*src=[\'\"].*\.js[\'\"]
- JS_FILES = s|.*src=[\'\"]\(.*\.js\)[\'\"].*|\1|
- RIOT_TAGS = <script .*src=[\'\"].*\.tag[\'\"]
- RIOT_FILES = s|.*src=[\'\"]\(.*\.tag\)[\'\"].*|\1|
- APPJS_PH = <!-- appjsplaceholder -->
- APPJS_TAG = <script type='text/javascript' src='js/app.js'></script>
- APPTAG_PH = <!-- apptagplaceholder -->
- APPTAG_TAG = <script type='riot/tag' src='tags/app.tag'></script>
- update: ## Get latest js/css library versions.
- # -- Update Riot --
- @curl https://cdn.jsdelivr.net/npm/riot@3.13/riot+compiler.min.js \
- -o js/vendor/riot+compiler.min.js -#
- # -- Update Skeleton --
- @curl https://raw.githubusercontent.com/skeleton-framework/skeleton-framework/master/dist/skeleton.min.css \
- -o css/vendor/skeleton.min.css -#
|