Difference between revisions of "Dokuwiki"
From ThorstensHome
(→use mediawiki syntax in dokuwiki) |
(→redirects) |
||
Line 21: | Line 21: | ||
= redirects = | = redirects = | ||
See http://www.dokuwiki.org/plugin:goto | See http://www.dokuwiki.org/plugin:goto | ||
+ | |||
+ | Replace GOTO with REDIRECT: | ||
+ | <pre> | ||
+ | /srv/www/htdocs/dokuwiki/lib/plugins/goto> diff -rup syntax.php.org syntax.php | ||
+ | --- syntax.php.org 2009-10-27 10:48:14.000000000 +0100 | ||
+ | +++ syntax.php 2009-11-05 11:48:55.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,10,-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); | ||
+ | </pre> | ||
= use mediawiki syntax in dokuwiki = | = use mediawiki syntax in dokuwiki = |
Revision as of 12:56, 5 November 2009
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
See http://www.dokuwiki.org/plugin:goto
Replace GOTO with REDIRECT:
/srv/www/htdocs/dokuwiki/lib/plugins/goto> diff -rup syntax.php.org syntax.php --- syntax.php.org 2009-10-27 10:48:14.000000000 +0100 +++ syntax.php 2009-11-05 11:48:55.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,10,-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~