Command line

pbsimply

Basic Usage

pbsimply [-fIA] [-m FILE] <directory>
pbsimply [-fIA] [-o FILE] [-m FILE] <document>

Generates HTML documents from source documents.

Command-Line Options

Option Description
-f, --force-refresh Force regeneration of all documents. Useful when templates have been updated.
-I, --skip-index Do not register in .indexes.${ext}
-A, --skip-accs Skip ACCS processing
-o FILE, --output Write output to the specified FILE
-m FILE, --additional-metafile Use an additional metadata YAML file

Practical Usage

The pbsimply command can target either a directory or a single file.

  • File-level usage is intended for more advanced workflows; in most cases, you’ll specify a directory.
  • Without the -f option, pbsimply only processes files that have changed (incremental build).
  • Template updates are not detected as changes, so you’ll need the -f option when templates are modified.
  • When a directory is specified, if it is an ACCS directory, ACCS processing will also be performed.

pbsimply is expected to be run from the document source root.
It can technically be run from a subdirectory, but paths must still be specified relative to the document source root. To avoid confusion, running it from the source root is recommended.

pbsimply-init

Basic Usage

pbsimply-init [-t THEME] [-fs] [<directory>]
pbsimply-init [-l]

Creates the PureBuilder Simply document source root and build root.
If a directory is specified, it will be used as the location for both roots.
If omitted, the current directory is used.

Command-Line Options

Option Description
-l, --list-themes List available themes and exit
-f, --force Overwrite existing directories if they already exist
-s, --source-only Generate only the document source root
-t THEME, --theme Initialize the document source root with the specified theme

When -s is specified, the given directory is treated as the source root itself, not as a parent directory.

Practical Usage

To get started, create and move into an empty directory, then run:

pbsimply-init

If no theme is specified, the default theme is used.
For example, to use the pandoc/bloggy theme:

pbsimply-init -t pandoc/bloggy

To overwrite with another theme:

pbsimply-init -sf -t pandoc/warm Source

This will overwrite the source root with the new theme.

Note: All files from the theme will overwrite existing ones, including configuration files.

If a .pbsimply.yaml config file already exists, pbsimply-init will back it up as .pbsimply.yaml.orig. Merge changes manually if needed.

pbsimply-testserver

Basic Usage

pbsimply-testserver

Runs only from the document source root.
Reads .pbsimply.yaml and serves the build root over HTTP.

Dependencies

pbsimply-testserver requires the webrick gem.

Practical Usage

Built documents intended for web publishing often rely on HTTP URLs, which cannot be properly tested when opened as local files.
pbsimply-testserver provides a simple HTTP server for previewing builds.

While you can use any web server, pbsimply-testserver is convenient because it serves directly from the source root to the build root. This is especially handy when working inside editors like VSCode with integrated terminals.

  • The port can be configured via testserver_port in .pbsimply.yaml.
  • The bind address can be set with testserver_address. For example, binding to 127.0.0.2 can help avoid conflicts.

Subdirectories

By default, pbsimply-testserver assumes the site will be served from the domain root (e.g., http://example.com/index.html).

If you need to serve from a subpath (e.g., http://example.com/site/index.html), create a site folder inside the source directory and place your content there.