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 build
will build the site and all assets into the_site
directory for hosting -
make preview
will build the site and run a preview on a lightweight HTTP server on the port printed on the command line -
make all
will build the site and run a number of tests. It is recommended to do this before publishing -
make clean
will 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...