aboutsummaryrefslogtreecommitdiff
path: root/static.mdwn
blob: eaab29bc628ea89adb206efa948cad6059eef76e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
[[!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`.
* Use a [complete ikiwiki template](https://git.sarava.org/?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.sarava.org/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.

## 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/).

# Alternatives

* [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/) ([pacote](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).