Home / about / mod / waka
Hello, Anon. Login?

about modwaka


Mod waka is a wiki like module, most pages on bootstrapp are waka pages. In fact the easiest way to make a new waka page is simply to navigate to a new page on your website and click edit. Unlike most wikis, mod waka does not force you to learn a strange new markup language. Instead it just uses standard html, we can allow this because editing of waka pages is always limited to the site admins only.

Mod waka and mod blog make use of the chunks data system, this provides a way to edit multiple sections of information within one big file and combine them together to create pages. Read more about it on the chunks page.

Mod waka allows simple chunk inheritance, for instance this page " / about / mod / waka " inherits all chunks from " / about / mod " and from " / about " and even from " / ". With each new level we can add or override chunks and every page below will have access to them. With a bit of simple design you can use this to build multiple web site sections that look and behave very differently.

The root of the wiki is not normally editable, to do so add ?cmd=edit to the end of the url. This stops you from automatically being redirected to the welcome page and disables the preview. Disabling the preview is also very useful if you have managed to muck up your CSS so much that nothing is displayable.

So visit */?cmd=edit where * is your sitename and you will be able to edit the root of your site. This page should include generic plates for wiki and blog pages as well as any CSS you would like to use everywhere. This page is where the main skinning work goes on.

All pages on the site should inherit chunks from this page.

For more advanced editing you may add some special server side code in the form of lua chunks. These chunks must be valid lua code and will be compiled before the page is displayed. The simplest way to create one is just to use the chunk name #lua

There are a couple of special function names you may use as call back hooks.

hook_pageopts this gets a page options and may fiddle witrh them before any page processing is done..

hook_refined this gets a text only refined result of each chunk and may edit this table to add more data or remove bad chunks.

http://cake-or-games.appspot.com/ is an example of the above. It performs simple serverside code to build pages from an external database.