sbs

A Simple Blogging System.
git clone https://git.sr.ht/~jbauer/sbs
Log | Files | Refs | README | LICENSE

commit 579fd8ce9a86b2c549bc7619e54ee4a1abf45cc5
parent f559095f3a5d380f1e68fd2c6d967927917a4350
Author: Jake Bauer <jbauer@paritybit.ca>
Date:   Tue, 15 Feb 2022 01:25:04 -0500

Update documentation

Diffstat:
MREADME.md | 51++++++++++++++++++++++++++++++++++-----------------
1 file changed, 34 insertions(+), 17 deletions(-)

diff --git a/README.md b/README.md @@ -1,24 +1,30 @@ -# SBS - Simple Blogging System +# sbs - Simple Blogging System A simple static site generator designed to be simpler to use than existing solutions such as Hugo and Jekyll. # Usage -`sbs [new [post|site]] file` - -1. Create a new site with `sbs new site <name>` where `<name>` is the name of - the directory under which your sites files will be; -2. Enter the newly-created directory and alter alter `config.ini`, - `templates/header.html`, `templates/footer.html`, and `static/style.css` to - fit your site; -3. Create a new page with `sbs new page <location>`. It will be placed into the - `content/` directory at the location specified (so if you specify - `blog/new-post` , the `blog/` directory should already exist); -4. Run `sbs <files>` to build particular files. The output will appear under - `static/`; -5. Use a utility like `rsync` to copy the contents of the `static/` directory to - your webserver. +`sbs genfeed|[new [page|post|site]] file(s)` + +`sbs genfeed` will build an Atom feed from the posts under the configured +`postsDir` directory. This feed will be output to `static/feed.xml`. + +`sbs new page <file>` will create the file `<file>` under the `content` +directory with the basic layout for a regular page. Note that if a subdirectory +is specified for `<file>`, this subdirectory must already exist. + +`sbs new post <file>` will create the file `<file>` under the `content/` +directory with the basic layout for a blog post. Note that if a subdirectory is +specified for `<file>`, this subdirectory must already exist. + +`sbs new site <file>` will create a new site structure under the directory +`<file>` populated with sample files. These sample files should be edited to +conform to the webmaster's needs. It is also recommended to create a +`favicon.png` and `robots.txt` file. + +`sbs <file(s)>` will attempt to build the given `<file(s)>` and will place the +output under the `static/` directory. Here's a quick example: @@ -28,10 +34,22 @@ $ cd example.com $ vi config.ini templates/header.html templates/footer.html static/style.css $ sbs new page index.md $ vi content/index.md -$ sbs index.md +$ sbs content/index.md +$ mkdir content/posts +$ sbs new post blog/first-post.md +$ vi content/blof/first-post.md +$ sbs genfeed $ rsync static/* webserver:/var/www/ ``` +## Troubleshooting + +`lowdown: <tag>: unknown keyword` - Lowdown tried to parse metadata tag `<tag>` +but the tag was not found in the file. This is usually caused either by +accidentally omitting a required tag, or leaving the content for a tag blank. +Make sure that there is at least some text for each MultiMarkdown metadata tag +in the file you are trying to build, and that all the required tags exist. + ## Goals After trying out Hugo and the like, I found even the solutions that call @@ -46,4 +64,3 @@ the bare minimum of what I need out of a blog. * Basic website styling -> One CSS file * Make writing posts and creating sites as painless as possible * Friendly configuration (i.e. simple config file) -* Optional table of contents (three levels)