initial commit

This commit is contained in:
2025-05-29 17:55:42 -04:00
commit d58827d5fc
2 changed files with 59 additions and 0 deletions

58
hugotags.sh Executable file
View File

@ -0,0 +1,58 @@
#!/usr/bin/bash
set -euo pipefail
# Dependency: https://mikefarah.gitbook.io/yq/
# Clone from https://github.com/gohugoio/hugoDocs/ and checkout the tag of your
# hugo version
# Path to <hugoDocsDir>/content/en/
hugo_docs_path="$1"
cd "$hugo_docs_path"
add_tag() {
local tagname fname
tagname="$1"
fname="$2"
# Tags file format: https://vimhelp.org/tagsrch.txt.html#ctags
printf "%s\t%s\t2\n" "$tagname" "$hugo_docs_path/$fname"
}
add_methods() {
local f title
for f in methods/*/*md; do
if [ "$(basename "$f")" = _index.md ]; then
continue
fi
title="$(yq --front-matter extract .title "$f")"
add_tag "$title" "$f"
done
}
add_funcs() {
local f halias
for f in functions/*/*md; do
if [ "$(basename "$f")" = _index.md ]; then
continue
fi
add_tag "$(basename "${f%.md}")" "$f"
halias="$(yq --front-matter extract .params.functions_and_methods.aliases "$f" |
grep -v -F -e null -e '[]' -e ',')" # Remove invalid/missing/multiple aliases
if [ -n "$halias" ]; then
halias="${halias:1:${#halias}-2}"
add_tag "$halias" "$f"
fi
done
}
add_methods
add_funcs