Table of Contents
This plugin enables the preservation of line breaks from the raw wiki text through to the html output and allows links and other markup in headers/headlines.
Note, the plugin does not preserve multiple consecutive line breaks, but it will preserve single line breaks.
Installation and Usage
After installation, set 'renderer_xhtml' to “Header3” in the configuration manager.
The TOC is rendered by metadata renderer instead of xhtml renderer in general 'show' action. However in 'preview' mode the TOC is rendered by xhtml renderer. So in few situations you'll find the TOC different in preview and in show mode. (mostly it doesn't happen since metedata renderer renders 'abstract' for the article and what it does is to have all markups parsed except no html tags)
Alternative of using renderer
This renderer is just a hack to overwrite “private” attribute of the xhtml renderer.
TOC link empty
If you use a link with empty label (2nd parameter), you might get the title lost in the TOC. For example:
To avoid this problem, do not use an empty label (i.e. no label or non-blank label are ok). The followings are OK:
This is due to a problem in the core metadata renderer in and before dokuwiki-2010-11-07a “Anteater”, which is already reported here.
After activating this plugin and changing the xhtml renderer to header2 all my instances of the include plugin using “section” no longer work..the whole page is shown instead. Upon deactivating this plugin, the include works again. - Andy 2011/01/24
Conflict with tcycle because of Header3's renderer include br-tags between pairs of a-tags and tCycle try to switch css display:none/block on it, so an animation would have a pauses, equals to measures, choosed in tCycle syntax options.
How to make it work with DokuWiki version 2014-09-29a "Hrun" and above
I've found one provisional solution that worked for me! - Guenther, Oct. 10th, 2014
Change in DokuWiki's XHTML-Renderer /inc/parser/xhtml.php some methods from 'protected' to 'public':
Line 30: protected $sectionedits = array();
change to: public $sectionedits = array();
Line 43: protected $lastlevel = 0;
change to: public $lastlevel = 0;
Line 45: protected $node = array(0, 0, 0, 0, 0);
change to: public $node = array(0, 0, 0, 0, 0);
PS. xbr preserves (though only single) linebreaks; use it instead.