sbs

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

commit 3f4dad46dddaa855622a7940c5ddd0b4b77e924d
parent aea5604a85d6e2de2d883c9c8860b3217a9b9e59
Author: Jake Bauer <jbauer@paritybit.ca>
Date:   Mon, 14 Feb 2022 03:27:19 -0500

Update documentation

Diffstat:
MREADME.md | 73++++++++++++++++++++++++++++++-------------------------------------------
1 file changed, 30 insertions(+), 43 deletions(-)

diff --git a/README.md b/README.md @@ -5,55 +5,42 @@ solutions such as Hugo and Jekyll. # Usage -1. Create the directories `content/ static/ templates/` in your website's - directory. -2. Rename `config.ini.example` to `config.ini` and change it to fit your - website. The default buildOptions translates markdown into HTML and doesn't - ignore HTML tags embedded in the markdown. -3. Create and alter `templates/header.html` and `templates/footer.html`. These - are the header and footer which will surround the content of each page on - your website. -4. Make your pages under the `content/` directory. sbs supports MultiMarkdown - Metadata, see the example pages for an example. -5. Run `sbs <files>` to build particular files. The output will appear in +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`; +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 exist); +4. Run `sbs <files>` to build particular files. The output will appear in `static/`. -6. Use a utility like `rsync` to copy the contents of the `static/` directory to +5. Use a utility like `rsync` to copy the contents of the `static/` directory to your webserver. -## Goals - -An outline of what I intend to accomplish with this project: - -### Design - -Simple and easy to use. Instructions for use should not be very long, and a -user familiar with blogging systems should be able to understand this without -much effort. - -Documentation should be simple and easy to understand for non-technical users. - -Creation of a few CSS styles for simple blog layouts, but otherwise no big -complicated themes, no JavaScript, and no hacky HTML generation. +A complete example: -Minimal external dependencies: +``` +$ sbs new site example.com +$ 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 +$ rsync static/* webserver:/var/www/ +``` -* lowdown for compiling markdown to HTML -* optipng for optimizing PNGs -* ImageMagick for optimizing JPGs, resizing images - -### Functionality +## Goals -Does exactly what a blog needs: +After trying out Hugo and the like, I found even the solutions that call +themselves simple to be too complex for what I need from my website. I also +found that I needed a greater degree of control over the output without having +to spend hours creating template documents. I want to make something that does +the bare minimum of what I need out of a blog. -* Basic metadata for each post +* Create static pages from Markdown documents +* Metadata support * Atom feed creation -* Optional table of contents (three levels) -* Support for static pages -* Content written in markdown * Basic website styling -> One CSS file - -And some extra quality-of-life features: - -* Image thumbnail creation -* Parallel page compilation -* Integration with Mastodon-API for posting when a new blog post is published. +* Make writing posts and creating sites as painless as possible +* Friendly configuration (i.e. simple config file) +* Optional table of contents (three levels)