1
0
silverbullet/plugs/publish
2022-11-01 17:03:42 +01:00
..
assets Migrated silverbullet-publish into this repo 2022-11-01 17:03:42 +01:00
publish.plug.yaml Migrated silverbullet-publish into this repo 2022-11-01 17:03:42 +01:00
publish.ts Migrated silverbullet-publish into this repo 2022-11-01 17:03:42 +01:00
README.md Migrated silverbullet-publish into this repo 2022-11-01 17:03:42 +01:00

Silver Bullet Publish

A simple tool to export a subset of your SilverBullet 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:

# 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.
npx @silverbulletmd/publish -o web_build --index .