PPL7-Icon Patrick's Programming Library Version 7.0.0 - Dokumentation
ppl7::WikiParser Klassenreferenz

Klasse zum Übersetzen von Wiki-Quelltext in HTML. Mehr ...

Öffentliche Methoden

 WikiParser ()
 
virtual ~WikiParser ()
 
virtual int getHeader (String &Html)
 
String header ()
 
int render (const String &Source, String &Html)
 Komplette HTML-Seite mit Header und Stylesheet erstellen. Mehr ...
 
String render (const String &Source)
 Komplette HTML-Seite mit Header und Stylesheet erstellen. Mehr ...
 
int renderBody (const String &Source, String &Html)
 Nur den HTML-Body erstellen. Mehr ...
 
String renderBody (const String &Source)
 Nur den HTML-Body erstellen. Mehr ...
 
void setBaseURI (const String &Uri)
 
void setIndexEnabled (bool enabled)
 

Öffentliche, statische Methoden

static String xmlDiagram2HTML (const String &xml)
 

Geschützte Methoden

virtual void customParseLinks (String &Line)
 

Private Methoden

void buildIndex (String &Html)
 
void doxygenChapter (String &Line, const String &Name, const Array &Matches)
 
void extractDiagrams (String &Text)
 
void extractNoWiki (String &Text)
 
void extractSourcecode (String &Text)
 
void finalize ()
 
void finalizeDiagrams ()
 
void finalizeNoWiki ()
 
void finalizePRE ()
 
void finalizeSource ()
 
void init ()
 Interne Funktion zur Initialisierung des Parsers. Mehr ...
 
void parseAutoPRE (String &Line)
 
void parseDoxygen (String &Line)
 
void parseHeadlines (String &Line)
 
int parseIndent (String &Line)
 
void parseLinks (String &Line)
 
int parseOL (String &Line)
 
void parseTable (String &Line)
 
int parseUL (String &Line)
 
int renderInternal (const String &Source, String &Html)
 

Private Attribute

String BaseURI
 
Array diagrams
 
bool doxyparamsStarted
 
String incol
 
int indentlevel
 
AssocArray index
 
int indexcount
 
bool indexenabled
 
int inrow
 
int intable
 
int ispre
 
bool nobr
 
Array nowiki
 
int nowikicount
 
int ollevel
 
AssocArray pre
 
int precount
 
String ret
 
Array source
 
int sourcecount
 
int ullevel
 

Ausführliche Beschreibung

Beschreibung:
Mit dieser Klasse kann ein Wiki-ähnlicher Quelltext in HTML übersetzt werden.
Text-Formatierung:
BeschreibungWiki-CodeAusgabe
Italic (kursiver) Text''italic''italic
Bold (fetter) Text'''bold'''bold
Bold und italic (fett und kursiv)'''''bold & italic'''''bold & italic
Unterbinden des Wiki-Markup<nowiki>kein ''Markup''</nowiki>kein ''Markup''
Überschriften in verschiedenen Grössen
=Level 1=
==Level 2==
===Level 3===
====Level 4====
=====Level 5=====
======Level 6======

Level 1

Level 2

Level 3

Level 4

Level 5
Level 6

Horizontale Linie-—
ungeordnete Liste* erste Zeile
* zweite Zeile
* dritte Zeile
** dritte Zeile,erster Unterpunkt
** dritte Zeile,zweiter Unterpunkt
  • erste Zeile
  • zweite Zeile
  • dritte Zeile
    • dritte Zeile,erster Unterpunkt
    • dritte Zeile,zweiter Unterpunkt
geordnete Liste
# erste Zeile
# zweite Zeile
# dritte Zeile
## dritte Zeile,erster Unterpunkt
## dritte Zeile,zweiter Unterpunkt
  1. erste Zeile
  2. zweite Zeile
  3. dritte Zeile
    1. dritte Zeile,erster Unterpunkt
    2. dritte Zeile,zweiter Unterpunkt
Definitionsliste
;Definition
:Beschreibung 1
:Beschreibung 2
Definition
    Beschreibung 1
    Beschreibung 2
Einrückungen
Normaler Text
: Ein bischen eingerückt
:: Noch mehr eingerückt
::::::: ganz viel eingerückt
: nur einmal eingerückt
Normaler Text
    Ein bischen eingerückt
        Noch mehr eingerückt
                    ganz viel eingerückt
    nur einmal eingerückt
Forformatierter Text und Quellcode:
Ein Leerzeichen am Anfang einer Zeile führt dazu, dass der nachfolgende Text als vorformatiert interpretiert wird. Alternativ dazu kann der Text aber auch in die HTML-Tags <pre> und </pre>, <source> und </source> oder <sourcecode> und </sourcecode> eingebettet werden. Es ist geplant, dass bei Verwendung der beiden letzten Tags der darin enthaltene Quellcode optisch aufbereitet wird. Dies ist jedoch noch nicht implementiert.
Tabellen:
Wiki Code vgl. HTML Code Beschreibung
{| <table> Tabellenanfang

|+

  Tabellenüberschrift, optional; nur einmal pro Tabelle zwischen Tabellenanfang und erster Zeile definierbar
|- <tr>

neue Tabellenzeile

! <th> Tabellenkopfzelle, optional. Aufeinanderfolgende Kopfzellen können, durch doppelte Ausrufezeichen (!!) getrennt, in der gleichen Zeile folgen oder mit einfachen Ausrufezeichen (!) auf einer neuen Zeile beginnen.
|

<td>

Tabellenzelle, Pflicht! Aufeinanderfolgende Zellen können, durch doppelte Striche (||) getrennt, in der gleichen Zeile folgen oder mit einfachem Strich (|) auf einer neuen Zeile beginnen.
|} </table> Tabellenende
  • Die angegebenen Zeichen müssen am Zeilenanfang stehen, ausgenommen die Doppelten || und !! für optional aufeinanderfolgende Zellen in einer Zeile.
  • XHTML - Eigenschaften. Jede Markierung, außer das Tabellenende, kann optional eine oder mehrere XHTML Eigenschaften haben. Die Eigenschaften müssen in der gleichen Zeile eingegeben werden, für die sie auch gültig sind. Mehrere Eingaben müssen mit einem Leerzeichen getrennt eingegeben werden.
Links:
URLs, die mit "http://", "https://" oder "ftp://" beginnen, werden automatisch erkannt und als Link hinterlegt. Es können aber auch Links im Wiki-Style verwendet werden, die in eckigen Klammern eingeschlossen werden. Diese erlauben auch die Angabe eines Textes, der anstelle der URL angezeigt werden soll. Das Auftauchen von RFC-Nummern wird automatisch verlinkt. Beispiele:
Wiki-CodeErgebnis
http://www.pfp.de/ 
http://www.pfp.de/
ftp://www.pfp.de/ 
ftp://www.pfp.de/
Post bitte an [gibtsnicht@pfp.de] schicken 
Post bitte an gibtsnicht@pfp.de schicken
Post bitte an [gibtsnicht@pfp.de diese Adresse] schicken 
Post bitte an diese Adresse schicken
[http://www.pfp.de/ Meine Webseite] 
Meine Webseite
Die genaue Funktion ist in RFC 1234 beschrieben. 
Die genaue Funktion ist in RFC 1234 beschrieben.
Der Parser kann um weitere Link-Erkennungen erweitert werden, in dem die virtuelle Funktion WikiParser::customParseLinks implementiert wird.
Diagramme:
Dies ist kein Wiki-Feature, sondern eine Erweiterung des WikiParsers der PPL-Library.
<diagram name="Ein Beispieldiagramm">
<options>
<smallscale>4000</smallscale>
<bigscale>0</bigscale>
</options>
<items>
<item id="item1" color="#007000" name="Ergebnis Frage 1"/>
<item id="item2" color="#ff0000" name="Ergebnis Frage 2"/>
<item id="item3" color="#ffa000" name="Ergebnis Frage 3"/>
<item id="item4" color="#0000ff" name="Ergebnis Frage 4"/>
</items>
<section name="Gruppe 1">
<row id="item1" value="312"/>
<row id="item2" value="382"/>
<row id="item3" value="3345"/>
<row id="item4" value="60"/>
</section>
<section name="Gruppe 2">
<row id="item1" value="2714"/>
<row id="item2" value="1075"/>
<row id="item3" value="8310"/>
<row id="item4" value="100"/>
</section>
</diagram>
ergibt:
WikiParser_diagram.png

Beschreibung der Konstruktoren und Destruktoren

ppl7::WikiParser::WikiParser ( )
ppl7::WikiParser::~WikiParser ( )
virtual

Dokumentation der Elementfunktionen

void ppl7::WikiParser::buildIndex ( String Html)
private
void ppl7::WikiParser::customParseLinks ( String Line)
protectedvirtual
void ppl7::WikiParser::doxygenChapter ( String Line,
const String Name,
const Array Matches 
)
private
void ppl7::WikiParser::extractDiagrams ( String Text)
private
void ppl7::WikiParser::extractNoWiki ( String Text)
private
void ppl7::WikiParser::extractSourcecode ( String Text)
private
void ppl7::WikiParser::finalize ( )
private
void ppl7::WikiParser::finalizeDiagrams ( )
private
void ppl7::WikiParser::finalizeNoWiki ( )
private
void ppl7::WikiParser::finalizePRE ( )
private
void ppl7::WikiParser::finalizeSource ( )
private
int ppl7::WikiParser::getHeader ( String Html)
virtual
String ppl7::WikiParser::header ( )
void ppl7::WikiParser::init ( )
private
Beschreibung:
Diese Funktion wird intern vom Konstruktor und einigen anderen Funktionen aufgerufen, um alle internen Variablen zu initialisieren.
void ppl7::WikiParser::parseAutoPRE ( String Line)
private
void ppl7::WikiParser::parseDoxygen ( String Line)
private
void ppl7::WikiParser::parseHeadlines ( String Line)
private
int ppl7::WikiParser::parseIndent ( String Line)
private
void ppl7::WikiParser::parseLinks ( String Line)
private
int ppl7::WikiParser::parseOL ( String Line)
private
void ppl7::WikiParser::parseTable ( String Line)
private
int ppl7::WikiParser::parseUL ( String Line)
private
int ppl7::WikiParser::render ( const String Source,
String Html 
)
Beschreibung:
Mit dieser Funktion wird der Wiki-Quelltext in eine vollständige HTML-Seite mit Header und Stylesheet übersetzt.
Parameter
[in]SourceString mit dem Wiki Quelltext
[out]HtmlString mit der HTML-Übersetzung
Rückgabe
Bei Erfolg gibt die Funktion 1 zurück, im Fehlerfall 0
String ppl7::WikiParser::render ( const String Source)
Beschreibung:
Mit dieser Funktion wird der Wiki-Quelltext in eine vollständige HTML-Seite mit Header und Stylesheet übersetzt.
Parameter
[in]SourceString mit dem Wiki Quelltext
Rückgabe
Die Funktion gibt einen String mit der HTML-Übersetzung zurück
int ppl7::WikiParser::renderBody ( const String Source,
String Html 
)
Beschreibung:
Mit dieser Funktion wird nur der Wiki-Quelltext in HTML übersetzt, es wird kein HTML-Header oder Stylesheet eingebaut.
Parameter
[in]SourceString mit dem Wiki Quelltext
[out]HtmlString mit der HTML-Übersetzung
Rückgabe
Bei Erfolg gibt die Funktion 1 zurück, im Fehlerfall 0
String ppl7::WikiParser::renderBody ( const String Source)
Beschreibung:
Mit dieser Funktion wird nur der Wiki-Quelltext in HTML übersetzt, es wird kein HTML-Header oder Stylesheet eingebaut.
Parameter
[in]SourceString mit dem Wiki Quelltext
Rückgabe
Die Funktion gibt einen String mit der HTML-Übersetzung zurück
int ppl7::WikiParser::renderInternal ( const String Source,
String Html 
)
private
void ppl7::WikiParser::setBaseURI ( const String Uri)
void ppl7::WikiParser::setIndexEnabled ( bool  enabled)
String ppl7::WikiParser::xmlDiagram2HTML ( const String xml)
static

Dokumentation der Datenelemente

String ppl7::WikiParser::BaseURI
private
Array ppl7::WikiParser::diagrams
private
bool ppl7::WikiParser::doxyparamsStarted
private
String ppl7::WikiParser::incol
private
int ppl7::WikiParser::indentlevel
private
AssocArray ppl7::WikiParser::index
private
int ppl7::WikiParser::indexcount
private
bool ppl7::WikiParser::indexenabled
private
int ppl7::WikiParser::inrow
private
int ppl7::WikiParser::intable
private
int ppl7::WikiParser::ispre
private
bool ppl7::WikiParser::nobr
private
Array ppl7::WikiParser::nowiki
private
int ppl7::WikiParser::nowikicount
private
int ppl7::WikiParser::ollevel
private
AssocArray ppl7::WikiParser::pre
private
int ppl7::WikiParser::precount
private
String ppl7::WikiParser::ret
private
Array ppl7::WikiParser::source
private
int ppl7::WikiParser::sourcecount
private
int ppl7::WikiParser::ullevel
private

Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Dateien: