Dokuwiki
From ThorstensHome
This describes my patches to adapt Dokuwiki for my needs
Contents |
allow h6 headings
This is a little patch for dokuwiki to allow h6 headings.
/srv/www/htdocs/dokuwiki/inc/parser # diff -rup parser-org.php parser.php --- parser-org.php 2009-10-20 15:49:57.000000000 +0200 +++ parser.php 2009-10-20 15:48:25.000000000 +0200 @@ -223,7 +223,7 @@ class Doku_Parser_Mode_header extends Do function preConnect() { //we're not picky about the closing ones, two are enough $this->Lexer->addSpecialPattern( - '[ \t]*={2,}[^\n]+={2,}[ \t]*(?=\n)', + '[ \t]*={1,}[^\n]+={1,}[ \t]*(?=\n)', 'base', 'header' );
redirects
With this patches I have the problem that they only work on new pages, i.e. pages that I viewed/created after I applied the patches. Seems the rendered pages are cached.
This uses the DokuWiki Goto Plugin
Replace GOTO with REDIRECT:
/srv/www/htdocs/dokuwiki/lib/plugins/goto # diff -rup syntax.php.org syntax.php --- syntax.php.org 2010-01-16 21:48:26.000000000 +0100 +++ syntax.php 2010-01-16 21:47:36.000000000 +0100 @@ -28,7 +28,7 @@ class syntax_plugin_goto extends DokuWi } function connectTo($mode) { - $this->Lexer->addSpecialPattern('(?i)~~GOTO>.+?~~',$mode,'plugin_goto'); + $this->Lexer->addSpecialPattern('(?i)#REDIRECT [[.+?]]',$mode,'plugin_goto'); } function getSort() { @@ -45,7 +45,7 @@ class syntax_plugin_goto extends DokuWi $message = "<strong>You will be redirected to %d in approximately %s seconds.</strong>"; global $ID; - $matches = explode("?", substr($match,7,-2)); + $matches = explode("?", substr($match,12,-2)); if (is_numeric($matches[1])){ $seconds = $matches[1]; } if ($seconds < $minSeconds){ $seconds = $minSeconds; }//Check that seconds is greater than $minSeconds. resolve_pageid(getNS($ID), $matches[0], $exists);
use mediawiki syntax in dokuwiki
Take a look at inc/parser/handler.php, function header().
preformatted
@@ -522,12 +523,13 @@ class Doku_Parser_Mode_html extends Doku class Doku_Parser_Mode_preformatted extends Doku_Parser_Mode { function connectTo($mode) { + echo "hi"; // Has hard coded awareness of lists... - $this->Lexer->addEntryPattern('\n (?![\*\-])',$mode,'preformatted'); + $this->Lexer->addEntryPattern('\n (?![\*\-])',$mode,'preformatted'); $this->Lexer->addEntryPattern('\n\t(?![\*\-])',$mode,'preformatted'); // How to effect a sub pattern with the Lexer! - $this->Lexer->addPattern('\n ','preformatted'); + $this->Lexer->addPattern('\n ','preformatted'); $this->Lexer->addPattern('\n\t','preformatted'); }
All
tweedleburg:/srv/www/htdocs/dokuwiki/inc # diff -rup parser.org/ parser diff -rup parser.org//parser.php parser/parser.php --- parser.org//parser.php 2009-10-23 08:44:18.000000000 +0200 +++ parser/parser.php 2009-10-23 09:42:24.000000000 +0200 @@ -221,7 +221,7 @@ class Doku_Parser_Mode_header extends Do function preConnect() { //we're not picky about the closing ones, two are enough $this->Lexer->addSpecialPattern( - '[ \t]*={2,}[^\n]+={2,}[ \t]*(?=\n)', + '[ \t]*={1,}[^\n]+={1,}[ \t]*(?=\n)', 'base', 'header' ); @@ -523,11 +523,11 @@ class Doku_Parser_Mode_preformatted exte function connectTo($mode) { // Has hard coded awareness of lists... - $this->Lexer->addEntryPattern('\n (?![\*\-])',$mode,'preformatted'); + $this->Lexer->addEntryPattern('\n (?![\*\-])',$mode,'preformatted'); $this->Lexer->addEntryPattern('\n\t(?![\*\-])',$mode,'preformatted'); // How to effect a sub pattern with the Lexer! - $this->Lexer->addPattern('\n ','preformatted'); + $this->Lexer->addPattern('\n ','preformatted'); $this->Lexer->addPattern('\n\t','preformatted'); } @@ -545,11 +545,11 @@ class Doku_Parser_Mode_preformatted exte class Doku_Parser_Mode_code extends Doku_Parser_Mode { function connectTo($mode) { - $this->Lexer->addEntryPattern('<code(?=.*</code>)',$mode,'code'); + $this->Lexer->addEntryPattern('<pre(?=.*</pre>)',$mode,'code'); } function postConnect() { - $this->Lexer->addExitPattern('</code>','code'); + $this->Lexer->addExitPattern('</pre>','code'); } function getSort() { Only in parser: parser.php~ diff -rup parser.org//xhtml.php parser/xhtml.php --- parser.org//xhtml.php 2009-10-23 08:44:18.000000000 +0200 +++ parser/xhtml.php 2009-10-23 09:38:15.000000000 +0200 @@ -99,7 +99,7 @@ class Doku_Renderer_xhtml extends Doku_R //handle TOC if($level >= $conf['toptoclevel'] && $level <= $conf['maxtoclevel']){ - $this->toc[] = html_mktocitem($id, $text, $level-$conf['toptoclevel']+1); + $this->toc[] = html_mktocitem($id, $text, (7-$level)-$conf['toptoclevel']+1); } } @@ -112,7 +112,7 @@ class Doku_Renderer_xhtml extends Doku_R $this->toc_additem($hid, $text, $level); // write the header - $this->doc .= DOKU_LF.'<h'.$level.'><a name="'.$hid.'" id="'.$hid.'">'; + $this->doc .= DOKU_LF.'<h'.(7-$level).'><a name="'.$hid.'" id="'.$hid.'">'; $this->doc .= $this->_xmlEntities($text); $this->doc .= "</a></h$level>".DOKU_LF; } Only in parser: xhtml.php~