1. blogc-make(1)
  2. blogc Manual
  3. blogc-make(1)

NAME

blogc-make - a simple build tool for blogc

SYNOPSIS

blogc-make [-V] [-f FILE] [RULE ...]
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 FILE

Reads FILE 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: https://github.com/blogc/blogc

AUTHOR

Rafael G. Martins <rafael@rafaelmartins.eng.br>

SEE ALSO

blogc(1), blogc-runserver(1), blogcfile(5)

  1. Rafael G. Martins
  2. September 2019
  3. blogc-make(1)