gitignore rendered but keep toc
This commit is contained in:
41
scrape.sh
41
scrape.sh
@@ -7,30 +7,49 @@ main() (
|
||||
wget -q -O ./raw.md https://raw.githubusercontent.com/ZachGoldberg/Startup-CTO-Handbook/main/StartupCTOHandbook.md
|
||||
fi
|
||||
|
||||
rm ./src/*
|
||||
|
||||
rm -f ./src/* || true
|
||||
mkdir -p ./src
|
||||
|
||||
printf "# Summary\n\n" > ./src/SUMMARY.md
|
||||
|
||||
|
||||
cat ./raw.md \
|
||||
| (
|
||||
n=0
|
||||
n_f() {
|
||||
printf %03d.txt $n
|
||||
}
|
||||
while read -r line; do
|
||||
n=$((n+1))
|
||||
depth="$(echo "$line" | grep -o '^##*')"
|
||||
(
|
||||
echo n=$n
|
||||
echo line="$line"
|
||||
echo depth=$depth
|
||||
) >&2
|
||||
if ((n>20)); then
|
||||
break
|
||||
fi
|
||||
local depth=$(
|
||||
echo "$line" \
|
||||
| grep -o -E '^[^a-z]*#+ ' \
|
||||
| grep -o '#' \
|
||||
| wc -l \
|
||||
| awk '{print $1}'
|
||||
)
|
||||
case "$depth" in
|
||||
1|2|3 )
|
||||
n=$((n+1))
|
||||
printf "%s- [%s](%s)\n" \
|
||||
"$(for i in $(seq 0 $depth); do printf " "; done)" \
|
||||
"${line#* }" \
|
||||
"$(n_f)" \
|
||||
| tee -a ./src/SUMMARY.md >&2
|
||||
;;
|
||||
esac
|
||||
done
|
||||
)
|
||||
|
||||
|
||||
mdbook build
|
||||
|
||||
)
|
||||
|
||||
log() {
|
||||
echo "| $*" >&2
|
||||
}
|
||||
|
||||
if [ "$0" == "$BASH_SOURCE" ]; then
|
||||
main "$@"
|
||||
ret=$?
|
||||
|
||||
Reference in New Issue
Block a user