-
-
Save charlesreid1/2d070618ebd85d62767bc6fbc23b2e0c to your computer and use it in GitHub Desktop.
Generate static docs for a Go package
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
set -u | |
DOC_DIR=godoc | |
PKG=github.com/matrix-org/go-neb | |
# Run a godoc server which we will scrape. Clobber the GOPATH to include | |
# only our dependencies. | |
GOPATH=$(pwd):$(pwd)/vendor godoc -http=localhost:6060 & | |
DOC_PID=$! | |
# Wait for the server to init | |
while : | |
do | |
curl -s "http://localhost:6060" > /dev/null | |
if [ $? -eq 0 ] # exit code is 0 if we connected | |
then | |
break | |
fi | |
done | |
# Scrape the pkg directory for the API docs. Scrap lib for the CSS/JS. Ignore everything else. | |
# The output is dumped to the directory "localhost:6060". | |
wget -r -m -k -E -p -erobots=off --include-directories="/pkg,/lib" --exclude-directories="*" "http://localhost:6060/pkg/$PKG/" | |
# Stop the godoc server | |
kill -9 $DOC_PID | |
# Delete the old directory or else mv will put the localhost dir into | |
# the DOC_DIR if it already exists. | |
rm -rf $DOC_DIR | |
mv localhost\:6060 $DOC_DIR | |
echo "Docs can be found in $DOC_DIR" | |
echo "Replace /lib and /pkg in the gh-pages branch to update gh-pages" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment