Skip to content

Latest commit

 

History

History
49 lines (36 loc) · 1.69 KB

jekyll_workflow.md

File metadata and controls

49 lines (36 loc) · 1.69 KB

Jekyll workflow and deployment

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...