diff --git a/Makefile b/Makefile index bee887f..a2e43c9 100644 --- a/Makefile +++ b/Makefile @@ -1,9 +1,21 @@ sourcefiles := $(wildcard *.jscad) -default: $(sourcefiles) +default: $(sourcefiles) README.md + +### Generators %.jscad: docker-build docker run --rm -i -v "$(CURDIR):$(CURDIR)" -w "$(CURDIR)" registry.local/openjscad:cli "$@" +README.md: + bash ci/gen_readme.sh + +.PHONY: README.md + +### Helpers + +auto-hook-pre-commit: README.md + git diff --exit-code README.md || git add README.md + docker-build: docker build -q -f ci/Dockerfile.compile -t registry.local/openjscad:cli ci diff --git a/README.md b/README.md new file mode 100644 index 0000000..d4ac2ab --- /dev/null +++ b/README.md @@ -0,0 +1,5 @@ +# Luzifer / 3dmodels + +| Model | Source | Version | Title | +| ----- | ------ | ------- | ----- | +| [`sonoff_dev_housing.stl`](sonoff_dev_housing.stl) | [`sonoff_dev_housing.jscad`](sonoff_dev_housing.jscad) | 0.1 | Sonoff DEV box for lamp post | diff --git a/README.tpl.md b/README.tpl.md new file mode 100644 index 0000000..d14d385 --- /dev/null +++ b/README.tpl.md @@ -0,0 +1,4 @@ +# Luzifer / 3dmodels + +| Model | Source | Version | Title | +| ----- | ------ | ------- | ----- | diff --git a/ci/gen_readme.sh b/ci/gen_readme.sh new file mode 100755 index 0000000..d0de60b --- /dev/null +++ b/ci/gen_readme.sh @@ -0,0 +1,11 @@ +#!/bin/bash +set -euo pipefail + +# Reset README to template stub +cp README.tpl.md README.md + +for filename in *.jscad; do + title=$(awk -F ':' '/title\s*:/{ print $2 }' "${filename}") + rev=$(awk -F ':' '/revision\s*:/{ print $2 }' "${filename}") + echo "| [\`${filename%%.jscad}.stl\`](${filename%%.jscad}.stl) | [\`${filename}\`](${filename}) | ${rev# *} | ${title# *} |" >>README.md +done