aboutsummaryrefslogtreecommitdiff
path: root/suckless/sites.md
diff options
context:
space:
mode:
Diffstat (limited to 'suckless/sites.md')
-rw-r--r--suckless/sites.md90
1 files changed, 90 insertions, 0 deletions
diff --git a/suckless/sites.md b/suckless/sites.md
new file mode 100644
index 0000000..a1f47c5
--- /dev/null
+++ b/suckless/sites.md
@@ -0,0 +1,90 @@
+[[!meta title="We are the static site generation!"]]
+
+# Current practice
+
+Currently [ikiwiki](http://ikiwiki.info) is adopted by the following reasons:
+
+1. There is a [Debian package](https://packages.debian.org/stable/ikiwiki).
+2. It's flexible enough to support both local or remote side static compilation:
+ * Local compilation by calling the `ikiwiki` command directly.
+ * Remotelly by using a [git hook](http://ikiwiki.info/rcs/git/).
+
+When it's said **both** it means that you don't need to choose either of the two options: you can choose or both simultaneously.
+
+## Static site example
+
+Here comes the mandadoty "Hello world" example from the statically generated site realm:
+
+ mkdir blog && cd blog
+ echo "Hello world..." > index.mdwn
+ ikiwiki --rebuild --exclude www . www
+
+That's it! You have a generated site sitting at your `www` subfolder which can be copied remotelly using `rsync`.
+
+## Version control
+
+It's a good pratice to keep your work under version control:
+
+ git init
+ echo "/.ikiwiki" > .gitignore
+ echo "/recentchanges" >> .gitignore
+ echo "/www" >> .gitignore
+ git add .
+ git commit -m "Initial import"
+
+## Add a bit of sofistication
+
+* Use [this Makefile](/Makefile) as an starting point to refresh and publish your wiki by simply running `make web`.
+* Use a [complete ikiwiki template](https://git.fluxo.info/?p=templates.git;a=tree;f=ikiwiki;h=HEAD) and change to your needs.
+* If you're a automation junkie, try the [puppet-ikiwiki](https://git.fluxo.info/puppet-ikiwiki.git) module.
+
+## Theming
+
+Currently using [Ikiwiki](http://ikiwiki.info) with [Bootstrap](http://twitter.github.io/bootstrap/):
+
+* [Templates](https://github.com/tgpfeiffer/ikiwiki-bootstrap-template).
+* [Bootswatch](http://bootswatch.com) themes.
+
+## Deployment
+
+You can create passwordless SSH keys and use [rrsync](http://www.guyrutenberg.com/2014/01/14/restricting-ssh-access-to-rsync/) ([2](http://wiki.hands.com/howto/passphraseless-ssh/)) to restrict access. Then add an entry into your `~/.ssh/config`:
+
+ Host blog.example.org blog
+ HostName blog.example.org
+ User blog
+ IdentityFile ~/.ssh/blog@blog.example.org
+
+Now simply run `make web_deploy` with the above mentioned `Makefile` do sync your static site!
+
+## Ikiwiki references
+
+* [Ikiwiki](http://ikiwiki.info).
+* [Improving Ikiwiki style with Bootstrap](https://ceops.eu/posts/Improving%20Ikiwiki%20style%20with%20Bootstrap/).
+* [How to have a nice design for ikiwiki](http://www2.tblein.eu/posts/How_to_have_a_nice_design_for_ikiwiki/).
+* [gsliepen/ikistrap: Bootstrap 4 theme for ikiwiki](https://github.com/gsliepen/ikistrap/).
+
+# Alternatives
+
+* [The updated big list of static website generators for your site, blog or wiki](https://iwantmyname.com/blog/2014/05/the-updated-big-list-of-static-website-generators-for-your-site-blog-or-wiki).
+* [Top Open-Source Static Site Generators - StaticGen](https://www.staticgen.com/).
+* [Static Site Generators](https://staticsitegenerators.net/).
+* [Static Site Generators at GitHub](https://github.com/skx/static-site-generators).
+* [Replacing Jekyll with Pandoc and a Makefile](https://tylercipriani.com/2014/05/13/replace-jekyll-with-pandoc-makefile.html).
+* [Brane Dump: Static Comments in Jekyll](http://www.hezmatt.org/~mpalmer/blog/2011/07/19/static-comments-in-jekyll.html).
+* [Hyde](https://github.com/lakshmivyas/hyde/) ([package](https://packages.debian.org/stable/hyde)).
+* [Gollum](https://github.com/gollum/gollum).
+* [Hugo](https://gohugo.io/).
+* [Amber](https://github.com/leapcode/amber).
+* [Grav](http://getgrav.org/).
+* [Hakyll](http://jaspervdj.be/hakyll/) ([package](https://packages.debian.org/sid/libghc-hakyll-dev)).
+* [Jekyll](http://jekyllrb.com/) ([package](https://packages.debian.org/stable/jekyll)).
+* [Static site generators for building web sites](https://lwn.net/Articles/541299/).
+* [Pelican Static Site Generator, Powered by Python](http://blog.getpelican.com/) ([package](https://packages.debian.org/sid/python-pelican)).
+* [Middleman: Hand-crafted frontend development](https://middlemanapp.com/).
+* [Juvia: a commenting server similar to Disqus and IntenseDebate](https://github.com/phusion/juvia).
+* [gitit](https://github.com/jgm/gitit/tree/master/).
+* [Sphinx](http://sphinx-doc.org/) ([package](https://packages.debian.org/stable/python-sphinx)).
+* [Utterson: a minimal static blog generator written using old-school unix tools (make, ksh, m4, awk, procmail and a pinch of elisp)](https://github.com/stef/utterson).
+* [werc - A sane web anti-framework](http://werc.cat-v.org/).
+* [cfenollosa/bashblog: A single Bash script to create blogs. Download, run, write, done!](https://github.com/cfenollosa/bashblog).
+* [blogofile](https://packages.debian.org/stable/blogofile)