blogc-make(1) -- a simple build tool for blogc ============================================== ## SYNOPSIS `blogc-make` [`-V`] [`-f` ] [ ...]
`blogc-make` [`-h`|`-v`] ## DESCRIPTION **blogc-make** is a simple build tool for blogc websites. It reads a blogcfile(5) and generates the output files using blogc(1) and some predefined rules, that are useful enough for most common use cases. See blogcfile(5) for details on the file format. ## OPTIONS * `-D`: Builds for development environment. This option is useful to load local, non-optimized assets for development purposes. It adds two global variables to all blogc(1) calls: `MAKE_ENV_DEV=1` and `MAKE_ENV=dev`. * `-V`: Activates verbose mode, that will give more details of commands runs. * `-f` : Reads as `blogcfile`. * `-v`: Show program name, version and exit. * `-h`: Show help message and exit. ## HELPER RULES ### all Run all build rules. This is the default rule. ### clean Clean built files and empty directories in output directory. ### runserver Run `blogc-runserver(1)` (if available) pointing to output directory, watching for changes in the source files and rebuilding as needed. This rule accepts some arguments, in the following format: runserver:host=127.0.0.1,port=8080,threads=20 The values in the example are the default values. Rebuilds are done by running `blogc-make all` internally. ### watch Watch for changes in the source files, rebuilding as needed. Rebuilds are done by running `blogc-make all` internally. ### atom_dump Dump default Atom feed template based on current blogcfile(5) settings. The template is dumped to the standard output, and can be used as base for customized Atom feed templates. ## BUILD RULES ### index Build website index from posts. The rule passes the following helper variables to blogc(1): * `MAKE_RULE`: `index` * `MAKE_TYPE`: `post` ### atom Build main atom feed from posts. The rule passes the following helper variables to blogc(1): * `MAKE_RULE`: `atom` * `MAKE_TYPE`: `atom` ### atom_tags Build atom feeds for each tag from posts. The rule passes the following helper variables to blogc(1): * `MAKE_RULE`: `atom_tags` * `MAKE_TYPE`: `atom` ### pagination Build pagination pages from posts. This rule is disabled if `posts_per_page` value in blogcfile(5) is negative or `0`. The rule passes the following helper variables to blogc(1): * `MAKE_RULE`: `pagination` * `MAKE_TYPE`: `post` ### pagination_tags Build pagination pages for each tag from posts. This rule is disabled if `posts_per_page` value in blogcfile(5) is negative or `0`. The rule passes the following helper variables to blogc(1): * `MAKE_RULE`: `pagination_tags` * `MAKE_TYPE`: `post` ### posts Build individual pages for each post. The rule passes the following helper variables to blogc(1): * `MAKE_RULE`: `posts` * `MAKE_TYPE`: `post` * `MAKE_SLUG`: The slug of the post being built, as provided in blogcfile ### tags Build post listings for each tag from posts. The rule passes the following helper variables to blogc(1): * `MAKE_RULE`: `tags` * `MAKE_TYPE`: `post` ### pages Build individual pages for each page. The rule passes the following helper variables to blogc(1): * `MAKE_RULE`: `pages` * `MAKE_TYPE`: `page` * `MAKE_SLUG`: The slug of the page being built, as provided in blogcfile ### copy Copy static files from source directory to output directory. ## FILES The `blogc-make` command expects a settings file, called `blogcfile` by default, or any other file passed to `-f` option. `blogcfile` must have valid UTF-8 content. The `blogc-make` command will read any files listed on `blogcfile`, and may write files to the configured output directory. ## ENVIRONMENT * `BLOGC`: Path to `blogc(1)` binary. If not provided, the `blogc` binary in `$PATH` will be used. * `BLOGC_RUNSERVER`: Path to `blogc-runserver(1)` binary. If not provided, the `blogc-runserver` binary in `$PATH` will be used, if available. * `OUTPUT_DIR`: Path to the directory where `blogc-make` should write (or instruct blogc(1) to write) output files. Any other environment variables are inherited by blogc(1) and blogc-runserver(1), when called by `blogc-make`. ## EXAMPLES Build all files: $ blogc-make or $ blogc-make all Clean built files: $ blogc-make clean ## BUGS Please report any issues to: ## AUTHOR Rafael G. Martins <> ## SEE ALSO blogc(1), blogc-runserver(1), blogcfile(5)