diff options
author | heqnx <root@heqnx.com> | 2025-05-20 10:38:11 +0300 |
---|---|---|
committer | heqnx <root@heqnx.com> | 2025-05-20 10:38:11 +0300 |
commit | 0495a548c9fb670b442fdde92eb9fbfddd570cc3 (patch) | |
tree | d61bc75994199c151f570d2f78272c220f95b07b /generate-html.sh | |
parent | db02b8c623bd778567007c11608f2adb6c3996e7 (diff) | |
download | cve-poc-mon-0495a548c9fb670b442fdde92eb9fbfddd570cc3.tar.gz cve-poc-mon-0495a548c9fb670b442fdde92eb9fbfddd570cc3.zip |
added cve-poc-mon
Diffstat (limited to 'generate-html.sh')
-rwxr-xr-x | generate-html.sh | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/generate-html.sh b/generate-html.sh new file mode 100755 index 0000000..c86ba71 --- /dev/null +++ b/generate-html.sh @@ -0,0 +1,47 @@ +#!/bin/bash + +date=$(date -u "+%Y-%m-%d %H:%M:%S") +repo="$(git config --get remote.origin.url)/tree/main/pocs" +mkdir -p docs/ &>/dev/null + +if test -d pandoc/assets; then + cp -r pandoc/assets docs/ +else + printf "%s\n" "[err] pandoc/assets/ dir not found" + exit 1 +fi + +if command -v pandoc &>/dev/null; then + count=$(cat pocs/README.md | wc -l) + size=$(du -sh pocs/ | awk '{print $1}') + if (tac pocs/README.md | pandoc \ + -s \ + --toc \ + --metadata "title=cve proof of concepts" \ + --metadata "date=${date} utc" \ + --metadata "repo=${repo}" \ + --metadata "rss_url=https://cve.heqnx.com/feed.xml" \ + --metadata "count=${count}" \ + --metadata "size=${size}" \ + --template pandoc/template.html \ + --lua-filter=pandoc/add-target-blank.lua \ + -o docs/index.html); then \ + printf "%s\n" "[inf] successfully generated html" + > docs/.nojekyll + else + printf "%s\n" "[err] error generating html" + fi + + if command -v tidy &>/dev/null; then + if tidy --indent yes --wrap 0 -m --quiet yes --indent-spaces 2 --tidy-mark no docs/index.html; then + printf "%s\n" "[inf] prettified html" + else + printf "%s\n" "[err] failed to prettify html" + fi + else + printf "%s\n" "[warn] tidy not found, skipping html prettify" + fi +else + printf "%s\n" "[err] pandoc not found" + exit 1 +fi |