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)