xbr plugin by Christopher Smith
replacement renderer, preserves line breaks present in raw wiki data
Last updated on 2008-11-11. Provides Render.
Compatible with DokuWiki 2008-05-05.
Similar to linebreak.
This plugin enables the preservation of line breaks from the raw wiki text through to the html output. It is a replacement for the standard DokuWiki XHTML renderer, as such to use it you must set the renderer_xhtml setting to the plugin's name, 'xbr'. For simplicity's sake the plugin uses all of the standard renderers routines with the exception of plain character output, where it uses its own routine to replace new lines with the HTML element, <br />.
Note, the plugin does not preserve multiple consecutive line breaks, but it will preserve single line breaks.
Also see the linebreak plugin.
Plugin source code is also available below, refer to plugins on how to install plugins manually. After installation set the renderer_xhtml configuration setting (via your wiki's admin panel) to 'xbr'.
file: lib/plugins/xbr/renderer.php
<?php /** * Render Plugin for XHTML output with preserved linebreaks * * @author Chris Smith <chris@jalakai.co.uk> */ if(!defined('DOKU_INC')) die(); if(!defined('DOKU_PLUGIN')) define('DOKU_PLUGIN',DOKU_INC.'lib/plugins/'); require_once DOKU_INC . 'inc/parser/xhtml.php'; /** * The Renderer */ class renderer_plugin_xbr extends Doku_Renderer_xhtml { /** * return some info */ function getInfo(){ return array( 'author' => 'Christopher Smith', 'email' => 'chris@jalakai.co.uk', 'date' => '2008-11-11', 'name' => 'XBR', 'desc' => 'XHTML renderer with line break preservation.', 'url' => 'http://www.dokuwiki.org/plugin:xbr', ); } function canRender($format) { return ($format=='xhtml'); } function reset() { $this->doc = ''; $this->footnotes = array(); $this->lastsec = 0; $this->store = ''; $this->_counter = array(); } function cdata($text) { $this->doc .= str_replace("\n",'<br />',$this->_xmlEntities($text)); } } //Setup VIM: ex: et ts=4 enc=utf-8 :