2019-11-11 18:30:46 -08:00
|
|
|
#!/bin/bash
|
2024-03-14 21:44:37 -07:00
|
|
|
# Generate markdown document files (*.md)
|
|
|
|
# Requires the yapf python library
|
|
|
|
# use ./docgen all to generate all docs
|
2022-01-26 13:03:51 -08:00
|
|
|
|
2019-11-11 18:30:46 -08:00
|
|
|
cd jc
|
2022-04-10 17:14:34 -07:00
|
|
|
(
|
|
|
|
echo Building docs for: package
|
2024-03-16 18:25:45 -07:00
|
|
|
../doc2md.py jc > ../docs/readme.md && echo "+++ package docs complete" || echo "*** PACKAGE DOCS FAILED ***"
|
2022-04-10 17:14:34 -07:00
|
|
|
) &
|
2022-01-19 22:20:36 -08:00
|
|
|
|
2022-04-10 17:14:34 -07:00
|
|
|
(
|
|
|
|
echo Building docs for: lib
|
2024-03-16 18:25:45 -07:00
|
|
|
../doc2md.py jc.lib > ../docs/lib.md && echo "+++ lib docs complete" || echo "*** LIB DOCS FAILED ***"
|
2022-04-10 17:14:34 -07:00
|
|
|
) &
|
2022-01-19 22:20:36 -08:00
|
|
|
|
2022-04-10 17:14:34 -07:00
|
|
|
(
|
|
|
|
echo Building docs for: utils
|
2024-03-16 18:25:45 -07:00
|
|
|
../doc2md.py jc.utils > ../docs/utils.md && echo "+++ utils docs complete" || echo "*** UTILS DOCS FAILED ***"
|
2022-04-10 17:14:34 -07:00
|
|
|
) &
|
2021-04-02 21:50:04 -07:00
|
|
|
|
2022-04-10 17:14:34 -07:00
|
|
|
(
|
|
|
|
echo Building docs for: streaming
|
2024-03-16 18:25:45 -07:00
|
|
|
../doc2md.py jc.streaming > ../docs/streaming.md && echo "+++ streaming docs complete" || echo "*** STREAMING DOCS FAILED ***"
|
2022-04-10 17:14:34 -07:00
|
|
|
) &
|
2022-02-07 06:29:17 -08:00
|
|
|
|
2022-04-10 17:14:34 -07:00
|
|
|
(
|
|
|
|
echo Building docs for: universal parser
|
2024-03-16 18:25:45 -07:00
|
|
|
../doc2md.py jc.parsers.universal > ../docs/parsers/universal.md && echo "+++ universal parser docs complete" || echo "*** UNIVERSAL PARSER DOCS FAILED ***"
|
2022-04-10 17:14:34 -07:00
|
|
|
) &
|
2022-01-20 09:46:24 -08:00
|
|
|
|
2021-04-02 21:50:04 -07:00
|
|
|
# a bit of inception here... jc is being used to help
|
|
|
|
# automate the generation of its own documentation. :)
|
|
|
|
|
2021-04-09 10:26:34 -07:00
|
|
|
# pull jc parser objects into a bash array from jq
|
2022-01-25 18:42:55 -08:00
|
|
|
# filter out any plugin parsers
|
2021-04-09 10:26:34 -07:00
|
|
|
parsers=()
|
|
|
|
while read -r value
|
|
|
|
do
|
2021-04-09 16:36:20 -07:00
|
|
|
parsers+=("$value")
|
2022-01-25 17:07:47 -08:00
|
|
|
done < <(jc -a | jq -c '.parsers[] | select(.plugin != true)')
|
2021-04-02 21:50:04 -07:00
|
|
|
|
2022-09-25 12:09:12 -07:00
|
|
|
for parser in "${parsers[@]}"; do
|
2022-09-25 12:35:23 -07:00
|
|
|
parser_name=$(jq -r '.name' <<< "$parser")
|
|
|
|
{
|
2022-09-26 19:21:25 -07:00
|
|
|
if [[ $1 == "all" ]] || ! git diff --quiet --exit-code HEAD~5 -- "parsers/${parser_name}.py"; then
|
2022-09-25 12:38:17 -07:00
|
|
|
echo "Building docs for: ${parser_name}"
|
2024-03-16 18:25:45 -07:00
|
|
|
../doc2md.py jc.parsers."${parser_name}" > ../docs/parsers/"${parser_name}".md && echo "+++ ${parser_name} docs complete" || echo "*** ${parser_name} DOCS FAILED ***"
|
2022-09-25 12:38:17 -07:00
|
|
|
fi
|
2022-09-25 12:35:23 -07:00
|
|
|
} &
|
2021-04-02 21:50:04 -07:00
|
|
|
done
|
2022-04-10 16:54:22 -07:00
|
|
|
wait
|
|
|
|
echo "Document Generation Complete"
|