##master-page:HelpOnParsers ##master-date:2009-02-25 12:31:42 #acl -All:write Default #format wiki #language de HilfeInhalt > HilfeFürBenutzer > HilfeZumEditieren > HilfeZuParsern = Parser = Neben der voreingestellten MoinMoin-Wiki-Auszeichnungssprache (Markup), erlauben verschiedene '''Parser''' (Syntaxanalysatoren) dem Benutzer, Inhalt in eine Seite oder einen Bereich einer Seite einzufügen, der anders interpretiert wird. Zusätzlich zu den mitgelieferten Parsern finden Sie weitere unter MoinMoin:ParserMarket.. <> Wie Parser angewendet werden Parser lesen einen Teil des Textes, analysieren ihn und erzeugen daraus einige speziell formatierte Ausgaben. Sie können bei Parsern zwischen zwei verschiedenen Techniken wählen: 1. '''Die {{{#format}}}-Verarbeitungsanweisung''' Eine {{{#format}}}-Verarbeitungsanweisung kann genutzt werden, um MoinMoin mitzuteilen, welchen Parser es für ''den gesamte Seiteninhalt'' verwenden soll. Voreingestellt ist der ''wiki''-Parser (für Moin Wiki Markup). Für Details siehe: [[HilfeZuVerarbeitungsAnweisungen#format|Die #format Verarbeitungsanweisung]] 1. '''Einen Parser-Bereich''' - siehe HilfeZumFormatieren Mit der Nutzung von Parser-Bereichen, kann ein Parser auf lediglich einen Teil einer Seite angewendet werden. Sie geben an, welchen Parser Sie aufrufen, in dem Sie eine Shebang-ähnliche Konstruktion in der ersten Zeile nutzen. Ein Shebang in Shell-Skripten dient genau dem selben Zweck: Die erste Zeile teilt der Shell mit, welches Programm gestartet werden soll, um die verbleibenden Zeilen des Skriptes zu verarbeiten. === Beispiel: Verarbeitungsanweisung === Dies ist der komplette Seiteninhalt: {{{ #format creole ... **fett** ... }}} === Beispiel: Parser-Bereich === Dies ist ein Teil einer Wiki-Seite: {{{{ {{{#!csv , a,b,c d,e,f }}} }}}} Es wird so dargestellt: {{{#!csv , a,b,c d,e,f }}} === Parser-Bereiche und Verschachtelung === Bitte beachten Sie, dass es zwei Methoden gibt, ''Verschachtelungs-Probleme'' mit `}}}` zu lösen: * Benutzen Sie mehr als drei geschweifte Klammern, um einen Parser-Abschnitt anzufangen bzw. zu beenden (das, was Sie benutzen, darf nicht in dem Parser-Abschnitt enthalten sein). Z.B.: {{{{{ {{{{ {{{ ... }}} }}}} }}}}} * Benutzen Sie drei geschweifte Klammern + eine einzigartige Zeichenkette: {{{{ {{{asdfghj {{{ ... }}} asdfghj}}} }}}} Für weitere Informationen zum Editieren von Seiten lesen Sie bitte HilfeZumEditieren. == Parser, um Textinhalte zu schreiben == Einige Parser sind dazu gedacht, normale Seiteninhalte zu schreiben (wie z.B. ein Dokument): * wiki - der normale Moin-Wiki Parser, siehe HilfeZurMoinWikiSyntax * creole - der Creole-Wiki Parser, siehe HelpOnCreoleSyntax * ReST (reStructuredText) - siehe /ReStructuredText * XML/XSLT/DocBook - siehe HilfeZuXmlSeiten <> == CSV == Der CSV-Parser verarbeitet sogenannte ''kommaseparierte Werte'' - das "Komma" ist allerdings mittlerweile meist ein Semikolon und auch so voreingestellt. Die erste Zeile enthält erwartungsgemäß Spaltentitel, die in '''fett''' dargestellt werden. Wenn Sie also keine Tabellen-Köpfe haben wollen, lassen Sie die erste Zeile frei. Der Shebang kann folgende Argumente enthalten: * `delimiter` oder `separator`: `delimiter=,` wird den Feldtrenner auf Komma setzen * `quotechar`: `quotechar="` wird die Quotierung mit dem doppelten Anführungszeichen erlauben * `show`: kommaseparierte Liste von Spalten, die ausschliesslich angezeigt werden sollen * `hide`: kommaseparierte Liste von Spalten, die verborgen werden sollen * `autofilter`: kommaseparierte Liste von Spalten, in denen Auto-Filter gelten sollen * `name`: Name eines Datensatzes * `link`: kommaseparierte Liste von Spalten, die `http://beispiel.de/link Beschreibungstext` enthalten statt nur Text * `static_cols`, `static_vals`: Spalten (und respektive Werte), die jedem Eintrag hinzugefügt werden * `-N` (wobei N eine Nummer ist): verberge Spalte N (nützlich, wenn Spaltennamen ausgelassen werden) Der Parser unterstützt auch die alte, nicht empfohlene Syntax für den Shebang. Beispiel-Tabellen (bitte betrachten Sie die Rohform der Seite, um das verwendete Markup zu sehen): !MoinMoin 1.3 - clipping der Patch History: {{{#!CSV delimiter=, -4 patch-366,make _normalize_text public method,Nir Soffer,2004-11-30 19:11:51 GMT patch-367,fixed failing test wikiutil: good system page names,Nir Soffer,2004-11-30 19:15:52 GMT patch-368,Fixed DeprecationWarning in RandomPage.py and an unused import in twistedmoin.py,Alexander Schremmer,2004-11-30 22:58:44 GMT patch-369,remove duplicate code in formatter.base,Thomas Waldmann,2004-12-01 00:14:21 GMT patch-370,fixed long int in mig3,Thomas Waldmann,2004-12-01 01:51:50 GMT patch-371,fixed unicode error on eventlog,Nir Soffer,2004-12-01 14:46:29 GMT patch-372,fixed util.web.makeQueryString and Page.url,Nir Soffer,2004-12-01 15:48:55 GMT patch-373,fixed again non ascii http_referer,Nir Soffer,2004-12-01 18:55:28 GMT patch-374,CSV.py supports different separators now,Alexander Schremmer,2004-12-01 23:46:17 GMT patch-375,improved searchform behavior on Mozilla/Firefox,Nir Soffer,2004-12-02 04:57:06 GMT patch-376,More correct script for actions menu init,Nir Soffer,2004-12-02 05:07:58 GMT }}} MoinMoin Version History: {{{#!CSV hide=HIDDEN! Version;Date;HIDDEN! 0.11;2002-03-11;Revision 1.151 0.10;2001-10-28;Revision 1.134 0.9;2001-05-07; 0.8;2001-01-23; 0.7;2000-12-06; 0.6;2000-12-04; 0.5;2000-11-17; 0.4;2000-11-01; 0.3;2000-10-25; 0.2;2000-08-26; 0.1;2000-07-29; }}} == diff, cplusplus, python, java, pascal, irc/irssi parsers == Diese Parser wurden von !MoinMoin-Versionen < 1.9 verwendet und waren eine moin-spezische Parser-Implementierung für Syntax-Hervorhebung. Seit !MoinMoin 1.9 sind diese Parser nur noch Abkürzungen, um den highlight-Parser aufzurufen. == Der highlight-Parser == !MoinMoin kommt mit einem speziellen `highlight`-Parser, der intern auf [[http://pygments.org/|Pygments]] basiert. Sie können ihn verwenden, um viele verschiedene Arten von Programm-Quelltext, Konfigurationsdateien und andere Textdateien hervorzuheben, die auf ihrem Computer benutzt werden. Nutzung: {{{{ {{{#!highlight python class FooBar: """ doc string """ }}} }}}} Wird dargestellt als: {{{#!highlight python class FooBar: """ doc string """ }}} (!) Natürlich können Sie es auch für eine ganze Seite verwenden mit der `#format highlight ...` Verarbeitungsanweisung. === Verfügbare highlight-Lexer === Verwenden Sie den Lexer-Namen als Argument für den highlight-Parser: <>