docs(components): scaffold reference-docs folder + link checker
This commit is contained in:
Executable
+20
@@ -0,0 +1,20 @@
|
||||
#!/usr/bin/env bash
|
||||
# Check that all relative markdown links under docs/components resolve.
|
||||
set -uo pipefail
|
||||
cd "$(dirname "$0")/.."
|
||||
for f in docs/components/*.md; do
|
||||
[ -e "$f" ] || continue
|
||||
# extract ](target) links, ignore http(s):, anchors, and mailto
|
||||
grep -oE '\]\([^)]+\)' "$f" | sed -E 's/^\]\(//; s/\)$//' | while read -r link; do
|
||||
case "$link" in
|
||||
http://*|https://*|mailto:*|\#*) continue ;;
|
||||
esac
|
||||
target="${link%%#*}" # strip #anchor
|
||||
[ -z "$target" ] && continue
|
||||
resolved="$(cd "$(dirname "$f")" && cd "$(dirname "$target")" 2>/dev/null && pwd)/$(basename "$target")"
|
||||
if [ ! -e "$resolved" ]; then
|
||||
echo "BROKEN: $f -> $link"
|
||||
fi
|
||||
done
|
||||
done
|
||||
echo "link check done"
|
||||
Reference in New Issue
Block a user