Customizing and Extending Nukumi2
This chapter describes the ways you can use to customize and tune Nukumi2 to your needs.
Template Overriding
Template modification is the probably most used kind of customization.
By design, the html
(XHTML, actually) flavor was made to be very
easy to customize.
To get started, look in your Nukumi2 installation for the template
directory. It contains directories having the name of the flavor (so
far html
, atom
and rss
) they contain. These directory contain a
list of files, at least content-type
and page
. content-type
contains the name of the Content-Type used for HTTP responses, usually
you don’t want to override it.
page
is the more interesting part: It contains the Tangerine
template used to render the whole page. Tangerine templates can
include subtemplates by using the ,,@...
command to insert the file
given.
Let’s say you want to override the footer
template of html
: Create
(unless you already have it, of course) a directory templates/html
and copy footer
from the original directory into. You can now hack
it as you like, but as well update Nukumi2 and make use of the other,
possibly updated templates.
Adding Sidebar Elements
If you want to add elements on the sidebar, edit the template
sidebar
as explained in the section before.
XXX Example: Blogroll
Plugins
Plugins are to Nukumi2 any code that adds features that do not need to be in the core. The actual use of this code can vary from integration with other tools over new directives for templates to doing the dishes…
For now, you need to be savy of the Nukumi2 codebase to write more complex plugins, as there is no description of how to write extension plugins.
Installing plugins is easy: simply copy it’s source file (named *.rb
to the plugin/
directory of your Nukumi2 installation (global use)
or your project directory (local use). Be careful running code
from foreign sources.
Adding new flavors
XXX
Hacking the Registry (Dissident)
XXX
Adding a new backend
XXX
Contributing patches with darcs
XXX