59 lines
1.0 KiB
Bash
59 lines
1.0 KiB
Bash
#! /bin/bash
|
|
|
|
main() (
|
|
set -ueo pipefail
|
|
|
|
if [ ! -f ./raw.md ]; then
|
|
wget -q -O ./raw.md https://raw.githubusercontent.com/ZachGoldberg/Startup-CTO-Handbook/main/StartupCTOHandbook.md
|
|
fi
|
|
|
|
|
|
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
|
|
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=$?
|
|
echo ret=$? >&2
|
|
exit $ret
|
|
fi
|