Benutzer-Werkzeuge

Webseiten-Werkzeuge


project:parse_dokuwiki

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Nächste ÜberarbeitungBeide Seiten der Revision
project:parse_dokuwiki [2012-02-19 21:53] 109.192.98.64project:parse_dokuwiki [2012-05-16 14:56] 109.192.98.64
Zeile 8: Zeile 8:
 ineinander ueberfuehren zu koennen, so wie netpbm das fuer Pixelformate ineinander ueberfuehren zu koennen, so wie netpbm das fuer Pixelformate
 kann. kann.
 +
 +===== Status =====
 +
 +Killed. 
 +
 +Es war einfacher, die passenden Plugins fuer Dokuwiki zu suchen und einzurichten,
 +als den Parser nachzuprogrammieren.
  
 ===== Ansaetze ===== ===== Ansaetze =====
Zeile 13: Zeile 20:
 ====  1. s/// ==== ====  1. s/// ====
  
-<code>+Ersetze %%'%%''%%//%%''' durch %%'%%''<it>''' bzw. jedes 2. %%'%%''%%//%%''' eben durch %%'%%''</it>'''.
  
-Ersetze '//' durch '<it>' bzw. jedes 2. '//' eben durch '</it>'+Failt bei der ersten URL: %%'%%''%%http://www...%%''' -> %%'%%''%%http:<it>www...%%'''
- +
-Failt bei der ersten URL: http://www... -> http:<it>www...+
  
 </code> </code>
Zeile 27: Zeile 32:
 Besondere Schmankerl:  Besondere Schmankerl: 
   * Wikicode ist natuerlich keine Programmiersprache:   * Wikicode ist natuerlich keine Programmiersprache:
-    * zwischen relevanten Tags fliegt viel Zeug rum, das fuer die Auszeichnung irrelvant, aber tatsaechlich wichtig ist: der Inhalt. ;-)+    * zwischen relevanten Tags fliegt viel Zeug rum, das fuer die Auszeichnung irrelvant, aber tatsaechlich wichtig ist: der Inhalt. %%;-)%%
     * die Auszeichnungstoken genuegen keiner einheitlichen Syntax z.B.:      * die Auszeichnungstoken genuegen keiner einheitlichen Syntax z.B.: 
  <code>  <code>
Zeile 41: Zeile 46:
  (\n|.)   (\n|.) 
  </code>  </code>
- * whitespace ( 0x32 ) ist auch kein any-char. die ueblichen RE-Tricks ziehen nicht. Man muss es im Lexer einstellen:+ * whitespace ( 0x20 ) ist auch kein any-char. die ueblichen RE-Tricks ziehen nicht. Man muss es im Lexer einstellen:
  <code>  <code>
  $lexer->skip('');  $lexer->skip('');
  </code>  </code>
  
 +=== next steps ===
 +
 +Die Vorrangregeln sind undurchsichtig. Diese muessen als naechste erfasst werden.
 +
 +  * Ueberschriften (====== .. = zwischen \n) haben Vorrang vor Tags (%%<code>,<file>,<del>%%)
 +  * Tags (%%<code>,<file>,<del>%%) haben Vorrang vor Fontangaben (%% ** // __ %%) 
 +  * Bei verzahnten (a b a b ) Tags (%%<code>,<file>,<del>%%) hat das erstgenannte Vorrang
 +  * Bei verschachtelten Tags (a b a b) Tags (%%<code>,<file>,<del>%%) hat das aeussere Vorrang
 +  * "Block"-Tags (%%<code>,<file>%%) haben Vorrang vor "Dekorations"-Tags (%%<sub> <sup> <del>%%)
 +  * ...
 +  * Images
 +  * Links koennen Images enthalten, rangieren also nach nach diesen
 +  * ...
 +  * Zeilenorientierte Auszeichnung ( '  *' , \n ) rangiert weit hinten
  
project/parse_dokuwiki.txt · Zuletzt geändert: 2022-04-20 10:42 von chris