1
0
mirror of https://github.com/kellyjonbrazil/jc.git synced 2025-06-17 00:07:37 +02:00
Files
jc/docgen.sh

50 lines
2.3 KiB
Bash
Raw Normal View History

2019-11-11 18:30:46 -08:00
#!/bin/bash
# Generate docs.md
2022-01-25 18:42:55 -08:00
# requires pydoc-markdown 4.5.0
2022-01-25 18:38:26 -08:00
2019-11-11 18:30:46 -08:00
cd jc
2021-04-05 09:42:25 -07:00
echo Building docs for: package
2022-01-25 18:38:26 -08:00
pydoc-markdown -m jc '{"processors":[{"type":"filter","expression":"not name ==\"info\" and default()"},{"type":"pydocmd"}]}' > ../docs/readme.md
2022-01-25 19:28:37 -08:00
sed -i "" 's/^#### /### /g' ../docs/readme.md
2022-01-19 22:20:36 -08:00
echo Building docs for: lib
2022-01-25 18:38:26 -08:00
pydoc-markdown -m jc.lib '{"processors":[{"type":"filter","expression":"not name ==\"info\" and default()"},{"type":"pydocmd"}]}' > ../docs/lib.md
2022-01-25 19:28:37 -08:00
sed -i "" 's/^#### /### /g' ../docs/lib.md
2022-01-19 22:20:36 -08:00
2021-04-05 09:42:25 -07:00
echo Building docs for: utils
2022-01-25 18:38:26 -08:00
pydoc-markdown -m jc.utils '{"processors":[{"type":"filter","expression":"not name ==\"info\" and default()"},{"type":"pydocmd"}]}' > ../docs/utils.md
2022-01-25 19:28:37 -08:00
sed -i "" 's/^#### /### /g' ../docs/utils.md
2022-01-20 09:46:24 -08:00
echo Building docs for: universal parser
2022-01-25 18:38:26 -08:00
pydoc-markdown -m jc.parsers.universal '{"processors":[{"type":"filter","expression":"not name ==\"info\" and default()"},{"type":"pydocmd"}]}' > ../docs/parsers/universal.md
2022-01-25 19:28:37 -08:00
sed -i "" 's/^#### /### /g' ../docs/parsers/universal.md
2022-01-20 09:46:24 -08:00
# a bit of inception here... jc is being used to help
# automate the generation of its own documentation. :)
# pull jc parser objects into a bash array from jq
2022-01-25 18:42:55 -08:00
# filter out any plugin parsers
parsers=()
while read -r value
do
parsers+=("$value")
2022-01-25 17:07:47 -08:00
done < <(jc -a | jq -c '.parsers[] | select(.plugin != true)')
for parser in "${parsers[@]}"
do
parser_name=$(jq -r '.name' <<< "$parser")
compatible=$(jq -r '.compatible | join(", ")' <<< "$parser")
version=$(jq -r '.version' <<< "$parser")
author=$(jq -r '.author' <<< "$parser")
author_email=$(jq -r '.author_email' <<< "$parser")
echo "Building docs for: ${parser_name}"
echo "[Home](https://kellyjonbrazil.github.io/jc/)" > ../docs/parsers/"${parser_name}".md
2022-01-25 18:38:26 -08:00
pydoc-markdown -m jc.parsers."${parser_name}" '{"processors":[{"type":"filter","expression":"not name ==\"info\" and default()"},{"type":"pydocmd"}]}' >> ../docs/parsers/"${parser_name}".md
2022-01-25 19:18:54 -08:00
echo "### Parser Information" >> ../docs/parsers/"${parser_name}".md
echo "Compatibility: ${compatible}" >> ../docs/parsers/"${parser_name}".md
echo >> ../docs/parsers/"${parser_name}".md
echo "Version ${version} by ${author} (${author_email})" >> ../docs/parsers/"${parser_name}".md
2022-01-25 19:18:54 -08:00
sed -i "" 's/^#### /### /g' ../docs/parsers/"${parser_name}".md
done