sbs

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

README.md (2539B)


      1 # sbs - Simple Blogging System
      2 
      3 A simple static site generator designed to be simpler to use than existing
      4 solutions such as Hugo and Jekyll.
      5 
      6 # Usage
      7 
      8 `sbs genfeed|[new [page|post|site]] file(s)`
      9 
     10 `sbs genfeed` will build an Atom feed from the posts under the configured
     11 `postsDir` directory. This feed will be output to `static/feed.xml`.
     12 
     13 `sbs new page <file>` will create the file `<file>` under the `content`
     14 directory with the basic layout for a regular page. Note that if a subdirectory
     15 is specified for `<file>`, this subdirectory must already exist.
     16 
     17 `sbs new post <file>` will create the file `<file>` under the `content/`
     18 directory with the basic layout for a blog post. Note that if a subdirectory is
     19 specified for `<file>`, this subdirectory must already exist.
     20 
     21 `sbs new site <file>` will create a new site structure under the directory
     22 `<file>` populated with sample files. These sample files should be edited to
     23 conform to the webmaster's needs. It is also recommended to create a
     24 `favicon.png` and `robots.txt` file.
     25 
     26 `sbs <file(s)>` will attempt to build the given `<file(s)>` and will place the
     27 output under the `static/` directory.
     28 
     29 Here's a quick example:
     30 
     31 ```
     32 $ sbs new site example.com
     33 $ cd example.com
     34 $ vi config.ini templates/header.html templates/footer.html static/style.css
     35 $ sbs new page index.md
     36 $ vi content/index.md
     37 $ sbs content/index.md
     38 $ mkdir content/posts
     39 $ sbs new post blog/first-post.md
     40 $ vi content/blof/first-post.md
     41 $ sbs genfeed
     42 $ rsync static/* webserver:/var/www/
     43 ```
     44 
     45 ## Troubleshooting
     46 
     47 `lowdown: <tag>: unknown keyword` - Lowdown tried to parse metadata tag `<tag>`
     48 but the tag was not found in the file. This is usually caused either by
     49 accidentally omitting a required tag, or leaving the content for a tag blank.
     50 Make sure that there is at least some text for each MultiMarkdown metadata tag
     51 in the file you are trying to build, and that all the required tags exist.
     52 
     53 ## What Can It Do?
     54 
     55 After trying out Hugo and the like, I found even the solutions that call
     56 themselves simple to be too complex for what I need from my website. I also
     57 found that I needed a greater degree of control over the output without having
     58 to spend hours creating template documents. I wanted to make something that does
     59 the bare minimum of what I need out of a blog.
     60 
     61 * Create static pages from Markdown documents
     62 * Metadata support
     63 * Atom feed creation
     64 * Basic website styling -> One CSS file
     65 * Make writing posts and creating sites as painless as possible
     66 * Friendly configuration (i.e. simple config file)