PPL6-Icon Patrick's Programming Library Version 6.4.21 - Dokumentation
ppl6::CWikiParser Klassenreferenz

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

Öffentliche Methoden

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

Öffentliche, statische Methoden

static CString xmlDiagram2HTML (const CString &xml)
 

Geschützte Methoden

virtual void customParseLinks (CString &Line)
 

Private Methoden

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

Private Attribute

CString BaseURI
 
CArray diagrams
 
bool doxyparamsStarted
 
CString incol
 
int indentlevel
 
CAssocArray index
 
int indexcount
 
bool indexenabled
 
int inrow
 
int intable
 
int ispre
 
bool nobr
 
CArray nowiki
 
int nowikicount
 
int ollevel
 
CAssocArray pre
 
int precount
 
CString ret
 
CArray 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 CWikiParser::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:
CWikiParser_diagram.png

Beschreibung der Konstruktoren und Destruktoren

ppl6::CWikiParser::CWikiParser ( )
ppl6::CWikiParser::~CWikiParser ( )
virtual

Dokumentation der Elementfunktionen

void ppl6::CWikiParser::buildIndex ( ppl6::CString Html)
private
void ppl6::CWikiParser::customParseLinks ( CString Line)
protectedvirtual
void ppl6::CWikiParser::doxygenChapter ( ppl6::CString Line,
const CString Name 
)
private
void ppl6::CWikiParser::extractDiagrams ( ppl6::CString Text)
private
void ppl6::CWikiParser::extractNoWiki ( ppl6::CString Text)
private
void ppl6::CWikiParser::extractSourcecode ( ppl6::CString Text)
private
void ppl6::CWikiParser::finalize ( )
private
void ppl6::CWikiParser::finalizeDiagrams ( )
private
void ppl6::CWikiParser::finalizeNoWiki ( )
private
void ppl6::CWikiParser::finalizePRE ( )
private
void ppl6::CWikiParser::finalizeSource ( )
private
int ppl6::CWikiParser::getHeader ( ppl6::CString Html)
virtual
ppl6::CString ppl6::CWikiParser::header ( )
void ppl6::CWikiParser::init ( )
private
Beschreibung:
Diese Funktion wird intern vom Konstruktor und einigen anderen Funktionen aufgerufen, um alle internen Variablen zu initialisieren.
void ppl6::CWikiParser::parseAutoPRE ( ppl6::CString Line)
private
void ppl6::CWikiParser::parseDoxygen ( ppl6::CString Line)
private
void ppl6::CWikiParser::parseHeadlines ( ppl6::CString Line)
private
int ppl6::CWikiParser::parseIndent ( ppl6::CString Line)
private
void ppl6::CWikiParser::parseLinks ( ppl6::CString Line)
private
int ppl6::CWikiParser::parseOL ( ppl6::CString Line)
private
void ppl6::CWikiParser::parseTable ( ppl6::CString Line)
private
int ppl6::CWikiParser::parseUL ( ppl6::CString Line)
private
int ppl6::CWikiParser::render ( const CString Source,
ppl6::CString 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
ppl6::CString ppl6::CWikiParser::render ( const CString 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 ppl6::CWikiParser::renderBody ( const CString Source,
ppl6::CString 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
ppl6::CString ppl6::CWikiParser::renderBody ( const CString 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 ppl6::CWikiParser::renderInternal ( const CString Source,
ppl6::CString Html 
)
private
void ppl6::CWikiParser::setBaseURI ( const CString Uri)
void ppl6::CWikiParser::setIndexEnabled ( bool  enabled)
CString ppl6::CWikiParser::xmlDiagram2HTML ( const CString xml)
static

Dokumentation der Datenelemente

CString ppl6::CWikiParser::BaseURI
private
CArray ppl6::CWikiParser::diagrams
private
bool ppl6::CWikiParser::doxyparamsStarted
private
CString ppl6::CWikiParser::incol
private
int ppl6::CWikiParser::indentlevel
private
CAssocArray ppl6::CWikiParser::index
private
int ppl6::CWikiParser::indexcount
private
bool ppl6::CWikiParser::indexenabled
private
int ppl6::CWikiParser::inrow
private
int ppl6::CWikiParser::intable
private
int ppl6::CWikiParser::ispre
private
bool ppl6::CWikiParser::nobr
private
CArray ppl6::CWikiParser::nowiki
private
int ppl6::CWikiParser::nowikicount
private
int ppl6::CWikiParser::ollevel
private
CAssocArray ppl6::CWikiParser::pre
private
int ppl6::CWikiParser::precount
private
CString ppl6::CWikiParser::ret
private
CArray ppl6::CWikiParser::source
private
int ppl6::CWikiParser::sourcecount
private
int ppl6::CWikiParser::ullevel
private

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