1
0
silverbullet/plugs/publish/README.md

45 lines
1.6 KiB
Markdown
Raw Normal View History

# Silver Bullet Publish
A simple tool to export a subset of your [SilverBullet](https://silverbullet.md) space as a static website.
**Note:** this is highly experimental and not necessarily production ready code, use at your own risk.
silverbullet-publish currentenly publishes a subset of a space in two formats:
* Markdown (.md files)
* HTML (.html files based on currently hardcoded templates (see `page.hbs` and `style.css`)
The tool can be run in two ways:
1. As a Silver Bullet plug (via the `Silver Bullet Publish: Publish All` command)
2. As a stand-alone CLI tool (via `npx`)
The latter allows for automatic deployments to e.g. environments like Netlify.
## Configuration
SilverBullet Publish is configured via the `PUBLISH` page with the following properties:
```yaml
# Index page to use for public version
indexPage: Public
# Optional destination folder when used in plug mode
destDir: /Users/you/my-website
title: Name of the space
removeHashtags: true
removeUnpublishedLinks: false
# Publish all pages with specific tag
tags:
- "#pub"
# Publish all pages with a specifix prefix
prefixes:
- /public
```
## Running via `npx`
The easiest way to run SilverBullet Publish is via `npx`, it takes a few optional arguments beyond the path to your SilverBullet space:
* `-o` specifies where to write the output to (defaults to `./web`)
* `--index` runs a full space index (e.g. to index all hash tags) before publishing, this is primarily useful when run in a CI/CI pipeline (like Netlify) because there no `data.db` in your repo containing this index.
```bash
npx @silverbulletmd/publish -o web_build --index .
```