1
0
Fork 0
hscloud/tools/gostatic/README.md

1.9 KiB

gostatic site generator

This implements support for gostatic, a static site generator, inside hscloud.

Creating a gostatic site

To get started, copy over the skeleton from //tools/gostatic/example into a new directory.

mkdir -p personal/foo
cp -rv tools/gostatic/example personal/foo/mysite

You can also build your own gostatic_tarball from scratch if you are familiar enough with gostatic.

You can then then build a tarball of your site by running:

bazel build //personal/foo/mysite

Your site will be built and tarred up into bazel-bin/personal/foo/mysite/mysite.tar. You can then use this to populate a container in docker_rules.

TODO(q3k): add a target that starts up a simple web server for testing the rendered site.

Configuring a gostatic site

Configuration is done via the gostatic_tarball rule. This mostly generates an upstream gostatic configuration file - please refer to that file for more information.

Field Description Example
templates List of template sources/targets. This is used to populate the TEMPLATES config option. [ ":site.tmpl" ]
source_dir BUILDfile-relative source directory containing site sources. This is used to populate the SOURCE config option. All files given in srcs must be contained within this directory. "src"
srcs List of template sources/targets. This is what will be available to gostatic during compilation. [ "src/blog/first.md" ]
extra_config Rest of the gostatic config, ie. rules.

Running gostatic-the-tool

If you want to run plain gostatic for some odd reason, it's available under:

bazel run //tools/gostatic

TODO(q3k): allow running this against a gostatic_tarball's config.