diff options
-rw-r--r-- | .github/workflows/gen.yml | 4 | ||||
-rwxr-xr-x | std/generate_map.sh | 19 |
2 files changed, 23 insertions, 0 deletions
diff --git a/.github/workflows/gen.yml b/.github/workflows/gen.yml index 202af05..5e4ac2b 100644 --- a/.github/workflows/gen.yml +++ b/.github/workflows/gen.yml @@ -29,6 +29,10 @@ jobs: run: cd docs/ && mkdocs build - name: Generate std run: cd docs/ && ./gen.sh + - name: Generate std map + run: + | sudo apt install jq + | cd std/ && ./generate_map.sh >../docs/std_map.json - name: Upload artifact uses: actions/upload-pages-artifact@v1 with: diff --git a/std/generate_map.sh b/std/generate_map.sh new file mode 100755 index 0000000..d8ac791 --- /dev/null +++ b/std/generate_map.sh @@ -0,0 +1,19 @@ +#!/bin/sh + +FILES="$(find * -type f -name "*.bruijn" ! -name "All.bruijn" ! -path "*Generic*")" + +list_defs() { + grep -Po "^[^:# \t][^ \t]*" "$1" + inputs="$(awk '/^:input/ {print $2}' "$1")" + for i in $inputs; do + list_defs "${i#std/}.bruijn" + done +} + +{ + for f in $FILES; do + echo "{\"$f\":" + list_defs "$f" | jq -R . | jq -s . + echo "}" + done +} | jq -s add |