https://github.com/pickfire/sssg
Simple static site generator built for parallism and minimalism
https://github.com/pickfire/sssg
static-site-generator
Last synced: 29 days ago
JSON representation
Simple static site generator built for parallism and minimalism
- Host: GitHub
- URL: https://github.com/pickfire/sssg
- Owner: pickfire
- License: wtfpl
- Created: 2016-03-02T14:19:07.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2016-07-10T10:56:49.000Z (almost 9 years ago)
- Last Synced: 2025-02-10T11:45:13.549Z (3 months ago)
- Topics: static-site-generator
- Language: Shell
- Homepage: Coming soon...
- Size: 412 KB
- Stars: 4
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
SSSG - Simple Static Site Generator
===================================SSSG is a layout-based static site generator built for parallelism and minimalism while being flexible and feature-full. Think of it as a layer of glue, which glues layers of papers into 3D models. It's perfect for simple personal sites that adheres to the [KISS Principle][0] while being able to follow the [Suckless Philosophy][1] and get rid of [Dependency Hell][2].
[0]: https://en.wikipedia.org/wiki/KISS_principle
[1]: http://suckless.org/philosophy
[2]: https://en.wikipedia.org/wiki/Dependency_hell### Why SSSG?
It gives you the choice to be in control of your own site. But in return, you need to give it love and time like a wise man once spoken: [“先苦后甜”][3].
[3]: http://www.zdic.net/sousuo/?q=%E5%85%88%E8%8B%A6%E5%90%8E%E7%94%9C
Usage: make -j4 (or any number you like)
+--------------------+ +--------------------+ +--------------------+
| layouts/main.dhtml | | layouts/post.dhtml | | post/_www/config |
+--------------------+ +--------------------+ +--------------------+
| | |#-# vim:ft=html: | |LAYOUT=layouts/post+|
| | |LAYOUT=layouts/main+| |DATE=$(date $forig) |
| | |F=$forig | |T=$(head -n $forig) |
| | |#-# | +---------+----------+
| ${T} | |${F} | +---------+----------+
| | |==== | | post/test.md |
| ${CONTENT} <------ |${CONTENT} <------ +--------------------+
| | | | |- Hello World! |
| | |Created by ${DATE} | |- cmark-powered |
+--------------------+ +--------------------+ +------------------- +
^
--- rm -rf $(TARG)/ |
+----------/ |
| clean | ./html.sh post/test.md > $(TARG)/post/test.html
+==========+-----+ /
| Makefile | all + ---- ./html.sh index.html > $(TARG)/index.html
+==========+-----+ \
| ------- ./atom.sh post/ > $(TARG)/%/atom.xml
+------+--+
| check | validate online -> ./check.sh $(TARG)
+---------+
| gzip | -> gzip -9k (all compress-able files)
+---------+The installation is simple, just make this your site:
```fish
git clone https://github.com/pickfire/sssg --depth 1
rm -rf sssg/.git
```
Rule
----1. The `_www/config` found at the previous/current directory of the input file
will be sourced, bash script and variables are optional.2. Add bash functions/variables in between `#-#` lines at the beginning of the
code, the second `#-#` must not have trailing characters. (optional)3. In between those lines of code, add `LAYOUT=path/layout.dhtml` to paste the
current content into `layout.dhtml`'s `${CONTENT}`.4. Use `${VAR}` (must be uppercase) in files to substitute it to the variable,
unused variables (line) will be deleted when generation is completed.Need
----
* cmark: (A commonmark implementation in C)
* mksh: (For a faster shell)
* bash:
* GNU coreutils:
* GNU sed:
* GNU grep:Tool
----
- `atom.sh` - Find Markdown files and generate an Atom feed from it
- `html.sh` - Output HTML content with a file as input
- `check.sh` - Find HTML/CSS/XML files and verify it onlineHelp
----
- Personal help -> Email [email protected]
- [Issue Tracker](https://github.com/pickfire/sssg/issues)
- [Pull Requests](https://github.com/pickfire/sssg/pulls)
- [Source code](http://git.pickfire.wha.la/sssg) ([Mirror](https://github.com/pickfire/sssg))Inspiration
-----------
* [Paper Color Theme](https://github.com/NLKNguyen/papercolor-theme) as a nice
color scheme
* [Statikiss framework project](https://github.com/moebiuseye/skf) which is
another bash static site generator based on suckless
* [Suckless philosophy](http://suckless.org) which always focus to keep the
code minimal
* [YAML frontmatter](https://jekyllrb.com/docs/frontmatter/) that enhance the
features of a site generatorAlternative
-----------
* [Statikiss framework project](https://github.com/moebiuseye/skf) which is
another bash static site generator inspired by suckless philosophyImplementation
--------------
* [Pickfire's site](http://pickfire.wha.la/) ([Mirror](http://pickfire.github.io/))
* **Add your site here**