Although the documentation is written in asciidoc, it can also be deployed as a website using the the Jekyll static site generator. The Jekyll version creates one page for each group of related subjects, over 100 pages in total.
Operation of Jekyll has been wrapped in a Makefile for convenience:
-
make buildwill build the site and all assets into the_sitedirectory for hosting -
make previewwill build the site and run a preview on a lightweight HTTP server on the port printed on the command line -
make allwill build the site and run a number of tests. It is recommended to do this before publishing -
make cleanwill clean up files generated by the build process
Jekyll and the build process both use asciidoctor, so you need all the
same depedencies for adoc building plus the Jekyll depedencies and GNU
make. To simplify replication of this process a Containerfile is
provided in the repository. It should be compatible with the docker
command although it was developed with the entirely free software
podman command. An example use:
REPO=~/repos/onboarding-to-bitcoin-core/
podman build -v $REPO:/srv/ -t guide $REPO
id=$( podman run --cap-add NET_ADMIN --cap-add NET_RAW --detach -v $REPO:/srv/ -p 0.0.0.0:8080:4000 -it localhost/guide:latest )
podman attach $id
Or for Docker:
REPO=~/repos/onboarding-to-bitcoin-core/
# docker build
docker build -f $REPO/Dockerfile -t guide $REPO
# or with docker buildx
docker build --load -f $REPO/Dockerfile -t guide $REPO
id=$( docker run --detach -v $REPO:/srv/ -p 8080:4000 -it guide:latest )
docker attach $id
bundle install # shouldn't be needed after Dockerfile build, but it is...