Difference between revisions of "Dokuwiki"

From ThorstensHome
Jump to: navigation, search
(All)
(program)
 
(22 intermediate revisions by one user not shown)
Line 1: Line 1:
This describes my patches to adapt Dokuwiki for my needs
+
This page is here for historic reasons. You can browse through its versions by selecting the tab "history". The page used to describe how I adapt Dokuwiki for my needs, but I can do this now entirely using the [[mediasyntax]] plugin for dokuwiki.
  
= allow h6 headings =
+
= Where do you want to go? =
This is a little patch for dokuwiki to allow h6 headings.
+
* you want to install dokuwiki => go to [http://linuxintro.org/wiki/dokuwiki LinuxIntro]
 +
* you want to learn more about the mediasyntax plugin => go to [[mediasyntax]]
 +
* you want to help developing the mediasyntax plugin => go to [[developing mediasyntax]]
  
<pre>
+
= program =
/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'
+
                        );
+
</pre>
+
  
= use mediawiki syntax in dokuwiki =
+
== editsections ==
Take a look at inc/parser/handler.php, function header().
+
inc/parser/xhtml.php  
  
== preformatted ==
+
The header of a section is defined in xhtml's function header().
@@ -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 =
+
xhtml.php contains finishSectionEdit($pos). This creates a line like
tweedleburg:/srv/www/htdocs/dokuwiki/inc # diff -rup parser.org/ parser                 
+
  <!-- EDIT1 SECTION "heading 1"[1-59] -->
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~
+
  
= See also =
+
$this->sectionedits[] filled by inc/parser/xhtml.php's startSectionEdit().
* http://johbuc6.coconia.net/mediawiki2dokuwiki.php
+
 
* http://www.dokuwiki.org/devel:parser?s[]=wiki&s[]=parser
+
html_secedit replaces
 +
<!-- EDIT(\d+) ([A-Z_]+) (?:"([^"]*)" )?\[(\d+-\d*)\] -->
 +
by some text

Latest revision as of 20:01, 10 July 2011

This page is here for historic reasons. You can browse through its versions by selecting the tab "history". The page used to describe how I adapt Dokuwiki for my needs, but I can do this now entirely using the mediasyntax plugin for dokuwiki.

Where do you want to go?

program

editsections

inc/parser/xhtml.php

The header of a section is defined in xhtml's function header().

xhtml.php contains finishSectionEdit($pos). This creates a line like

$this->sectionedits[] filled by inc/parser/xhtml.php's startSectionEdit().

html_secedit replaces by some text