diff --git a/Makefile b/Makefile index d0add7d92b2d12a0c714bd45e70d70c60a1a0c35..a76e77eea899279a7b7dfc9b2fb7817677ffc49e 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,11 @@ +include makext.mk + +help: .help + MAKEFLAGS+=-j2 PROJECTS_FILENAME = content/pages/projects.md -dev: watch server +dev: watch server # Starts a development server watch: find . -type f \( -name "*.html" -o -name "*.js" -o -name "*.md" -o -name "*.yaml" -o -name "*.css" -o -name "*.xml" \) | entr jbmafp -b @@ -9,7 +13,7 @@ server: jbmafp -s -update-projects: projects-header +update-projects: projects-header # Update projects page cat content/pages/projects.fossil.md.part \ content/pages/projects.github.md.part >> \ content/pages/projects.md @@ -19,12 +23,12 @@ echo "---" > $(PROJECTS_FILENAME) echo "title: Personal projects" >> $(PROJECTS_FILENAME) echo "date: 2024-10-21T12:00:00+02:00" >> $(PROJECTS_FILENAME) echo "url: projects.html" >> $(PROJECTS_FILENAME) - echo "type: page" >> $(PROJECTS_FILENAME) + echo "type: page-no-title" >> $(PROJECTS_FILENAME) echo "draft: false" >> $(PROJECTS_FILENAME) echo "---\n" >> $(PROJECTS_FILENAME) -update-fossil: +update-fossil: # Update Fossil projects cd tools && bash fossil-projects.sh -update-github: +update-github: # Update GitHub projects cd tools && python github-projects.py diff --git a/content/pages/projects.fossil.md.part b/content/pages/projects.fossil.md.part index 796af87522d43a41a996c875ffd7744c357e21a4..1813dabdd91c20511e9546f7540f8ce89b5fb90d 100644 --- a/content/pages/projects.fossil.md.part +++ b/content/pages/projects.fossil.md.part @@ -1,4 +1,4 @@ -## Fossil repositories +# Fossil repositories -- [pats.fossil](/projects/pats.fossil)
Size: 220K, Modified: 2025-08-02 20:24:05 -- [xmagnify.fossil](/projects/xmagnify.fossil)
Size: 220K, Modified: 2025-08-02 20:24:05 +- [pats.fossil](/projects/pats.fossil)
Size: 220K, Modified: 2025-08-02 20:30:23 +- [xmagnify.fossil](/projects/xmagnify.fossil)
Size: 220K, Modified: 2025-08-02 20:37:02 diff --git a/content/pages/projects.github.md.part b/content/pages/projects.github.md.part index 92a8c748c98beb063863dbab60e0e119320ad151..bdc56f788d81807b40de4a8d7205d2c00a4ccd28 100644 --- a/content/pages/projects.github.md.part +++ b/content/pages/projects.github.md.part @@ -1,6 +1,6 @@ -## GitHub repositories +# GitHub repositories
diff --git a/content/pages/projects.md b/content/pages/projects.md index cc1018524348843e120f2adf26b3ba6aaafe6cdd..cabde1dd315e1b3a3472207e2dbe706da58f676c 100644 --- a/content/pages/projects.md +++ b/content/pages/projects.md @@ -2,17 +2,17 @@ --- title: Personal projects date: 2024-10-21T12:00:00+02:00 url: projects.html -type: page +type: page-no-title draft: false --- -## Fossil repositories +# Fossil repositories -- [pats.fossil](/projects/pats.fossil)
Size: 220K, Modified: 2025-08-02 20:21:40 -- [xmagnify.fossil](/projects/xmagnify.fossil)
Size: 220K, Modified: 2025-08-02 20:21:40 +- [pats.fossil](/projects/pats.fossil)
Size: 220K, Modified: 2025-08-02 20:30:23 +- [xmagnify.fossil](/projects/xmagnify.fossil)
Size: 220K, Modified: 2025-08-02 20:37:02 -## GitHub repositories +# GitHub repositories
diff --git a/makext.mk b/makext.mk new file mode 100644 index 0000000000000000000000000000000000000000..bbfa148d98f5ae69c63cb95bf1efc1438d2f3b07 --- /dev/null +++ b/makext.mk @@ -0,0 +1,46 @@ +# Makext is a collection of useful extensions for Makefiles, aimed at +# simplifying and enhancing the functionality of Make-based projects. These +# extensions provide additional features and convenience functions to +# improve the build process, manage dependencies, and streamline common +# tasks. +# +# Visit the GitHub repository at https://github.com/mitjafelicijan/makext +# to learn more and contribute to the project. +# +# `makext` was written by Mitja Felicijan and is released under the BSD +# two-clause license, see the LICENSE file for more information. + +# Load environmental files from `MEX_ENVIRONMENT`. By default GNU make +# loads what is already in `env`. This extends it to other files. +ifdef MEX_ENVIRONMENT +TEMP_ENV_FILES=$(shell echo $(MEX_ENVIRONMENT) | tr ',' ' ') +$(foreach file,$(TEMP_ENV_FILES),$(eval include $(file))) +endif + +# Help extension that lists all the targets with descriptions +# and adds description and license information if data provided. +.PHONY: .help +.help: +ifdef MEX_DESCRIPTION + @printf "%s\n\n" $(MEX_DESCRIPTION) | fmt +endif + @echo "Targets:" + @grep -vE '^[[:space:]]' $(MAKEFILE_LIST) | grep -E '^.*:.* #' | sed -E 's/(.*):(.*):.*#(.*)/ \2###\3/' | column -t -s '###' +ifdef MEX_LICENSE + @printf "\n%s" $(MEX_LICENSE) | fmt +endif + +# Checks `MEX_ASSURE` variable if all the programs declared actually +# exist on a machine. If not this exists make with error. +.PHONY: .assure +.assure: +ifndef MEX_ASSURE + @printf "Variable MEX_ASSURE is not defined. Can not check for programs.\n" +else + @for prog in $(shell echo $(MEX_ASSURE)); do \ + if ! which $$prog > /dev/null; then \ + echo "Error: '$$prog' not found on this machine."; \ + exit 1; \ + fi; \ + done +endif diff --git a/static/projects/xmagnify.fossil b/static/projects/xmagnify.fossil index 258d27d65a7f3a2fd27ae361250dfa8745557668..a68e892dcf26ecf452a9d3afe0a7df99877b4cc4 100644 Binary files a/static/projects/xmagnify.fossil and b/static/projects/xmagnify.fossil differ diff --git a/templates/page-no-title.html b/templates/page-no-title.html new file mode 100644 index 0000000000000000000000000000000000000000..16ca10d97bacc6e575f05bbc62a90f020b9f9e63 --- /dev/null +++ b/templates/page-no-title.html @@ -0,0 +1,10 @@ +{{ template "base.html" . }} + +{{ define "title" }}{{ .Page.Title }}{{ end }} +{{ define "description" }}{{ .Page.Summary }}{{ end }} + +{{ define "content" }} +
+
{{ .Page.HTML }}
+
+{{ end }} diff --git a/tools/fossil-projects.sh b/tools/fossil-projects.sh index bb6e67356f05003343e34b10d7dd9712967e0462..a87be94faafc87aca2d0efcea23cb979977971b6 100644 --- a/tools/fossil-projects.sh +++ b/tools/fossil-projects.sh @@ -1,11 +1,9 @@ -set -xe - OUT=../content/pages/projects.fossil.md.part -echo -e "## Fossil repositories\n" > $OUT +echo -e "# Fossil repositories\n" > $OUT find ~/Projects/ -type f -name "*.fossil" -not -path "*/website/*" | while read -r file; do - cp $file ../static/projects/ + rsync -uv $file ../static/projects/ done find ../static/projects/ -type f -name "*.fossil" | while read -r file; do diff --git a/tools/github-projects.py b/tools/github-projects.py index e2afe958c466d98892fe2e1b9ab4a7e5cf5b85e3..ff890f6b792bb8fad8754440c53deaf1c45fd086 100644 --- a/tools/github-projects.py +++ b/tools/github-projects.py @@ -16,7 +16,7 @@ def generate_markdown_file(include_repositories): file = open("../content/pages/projects.github.md.part", "w") file.write(DOUBLE_NL) - file.write("## GitHub repositories") + file.write("# GitHub repositories") file.write(DOUBLE_NL) file.write("
")