Get my blog engine
I published a light version of my blog engine based on nanoc yesterday night. By light, I mean a lighter, more portable CSS (without round border). You can get it on github.com.
What this system provide?
- All nanoc advantages,
- Easy multi-language handling,
- Syntax Coloration for most languages,
- intenseDebate comments integration (asynchronous) ;
- Portable with and without javascript, XHTML Strict 1.0 / CSS3,
- Write in markdown format (no HTML editing needed),
- Typographic ameliorations (no ‘:’ starting a line in French for example),
- Graphviz graph generation integration.
Main Documentation Page
Use It NOW!
Once installed (follow the README.md instructions).
$ cd /root/of/nanoc3_blog
$ ./task/new_blog_entry Title of the blog
$ vi latest.md
$ ./task/recompile
Now your website reside into the output
directory.
Documentation
Useful things to know
Multi-language
All files in multi
are processed and copied in the content
directory. For each file in multi, each line starting by ‘fr:
’ are copied (without the fr:
into the content/html/fr/
tree, but not into the content/html/en
tree. File not starting by fr:
or en:
are copied in each destinations.
If you want to add another language, you’ll have to modify tasks/config
, and config.yaml
, create a content/html/xx
where xx
is the language code.
Edition & Rendering
additional keywords
You can separate multi content div using the: n``ewcorps
directive (see examples).
You can create div using b``egindiv(classname)
, e``nddiv
. (See some existing blog entries for example). Use the class intro
for the abstract part.
You can create nice description table using <``desc>
(See source code for example).
Typography
In French all ‘:’, ‘;’, ‘!’ and ‘?’ are preceded automatically by  
. This enable not to have a line starting by a single special character.
You can use small caps using <sc>
tags.
(c``)
is replaced by (c).(r``)
is replaced by (r).<``-
is replaced by <-.-``>
is replaced by ->.
source code
To write source code you should use the following format:
~~~~~~ {.html} ~~~~~~ {.ruby} The code ~~~~~~
The file
attribute is not required.
blog
If you want to make really long blog post, you can separate them into many files. To accomplish that, you simply have to make your files like:
multi/blog/2010-06-01-the-title.md multi/blog/2010-06-01-the-title/second_part.md multi/blog/2010-06-01-the-title/third_part.md
mobileme
All files are intended to be generated into the output/Scratch
directory. This was made like that to work nicely with iWeb organisation of websites.
menu
The order of post is done using the menupriority
meta-data in the header of the files.
You can hide some file from the menu by setting: isHidden: true
in the header.
Details
To know more about this blog engine, you should look at nanoc project.
Then look at the files inside your project: