Front PageOutlineCustomizing and Extending Nukumi2

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