Jake Bauer 359cc142d6 | ||
---|---|---|
LICENSE | ||
README.md | ||
sbs |
README.md
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 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:
$ 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 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.
What Can It Do?
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 wanted to make something that does the bare minimum of what I need out of a blog.
- Create static pages from Markdown documents
- Metadata support
- Atom feed creation
- Basic website styling -> One CSS file
- Make writing posts and creating sites as painless as possible
- Friendly configuration (i.e. simple config file)