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 ParserMarket..

Inhaltsverzeichnis

Parser

Beispiel: Verarbeitungsanweisung

Beispiel: Parser-Bereich

Parser-Bereiche und Verschachtelung

Parser, um Textinhalte zu schreiben

CSV

diff, cplusplus, python, java, pascal, irc/irssi parsers

Der highlight-Parser

Verfügbare highlight-Lexer

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:

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: Die #format Verarbeitungsanweisung

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,cd,e,f}}}

Es wird so dargestellt:

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:

MoinMoin Version History:

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 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 pythonclass FooBar: """ doc string """}}}

Wird dargestellt als:

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:

Lexer-Beschreibung Lexer-Namen Datei-Typen MIME-Typen ABAPabap*.abaptext/x-abapActionScriptasactionscript*.asapplication/x-actionscript3text/x-actionscript3text/actionscript3ActionScript 3as3actionscript3*.asapplication/x-actionscripttext/x-actionscripttext/actionscriptAdaadaada95ada2005*.adb*.ads*.adatext/x-adaANTLRantlrANTLR With ActionScript Targetantlr-asantlr-actionscript*.G*.gANTLR With C# Targetantlr-csharpantlr-c#*.G*.gANTLR With CPP Targetantlr-cpp*.G*.gANTLR With Java Targetantlr-java*.G*.gANTLR With ObjectiveC Targetantlr-objc*.G*.gANTLR With Perl Targetantlr-perl*.G*.gANTLR With Python Targetantlr-python*.G*.gANTLR With Ruby Targetantlr-rubyantlr-rb*.G*.gApacheConfapacheconfaconfapache.htaccessapache.confapache2.conftext/x-apacheconfAppleScriptapplescript*.applescriptaspx-csaspx-cs*.aspx*.asax*.ascx*.ashx*.asmx*.axdaspx-vbaspx-vb*.aspx*.asax*.ascx*.ashx*.asmx*.axdAsymptoteasyasymptote*.asytext/x-asymptoteautohotkeyahk*.ahk*.ahkltext/x-autohotkeyAwkawkgawkmawknawk*.awkapplication/x-awkBase MakefilebasemakeBashbashshksh*.sh*.ksh*.bash*.ebuild*.eclass.bashrcbashrc.bash_*bash_*application/x-shapplication/x-shellscriptBash Sessionconsole*.sh-sessionapplication/x-shell-sessionBatchfilebat*.bat*.cmdapplication/x-dos-batchBBCodebbcodetext/x-bbcodeBefungebefunge*.befungeapplication/x-befungeBlitzMaxblitzmaxbmax*.bmxtext/x-bmxBooboo*.bootext/x-booBrainfuckbrainfuckbf*.bf*.bapplication/x-brainfuckBrobro*.broCc*.c*.h*.idctext/x-chdrtext/x-csrcC#csharpc#*.cstext/x-csharpC++cppc++*.cpp*.hpp*.c++*.h++*.cc*.hh*.cxx*.hxxtext/x-c++hdrtext/x-c++srcc-objdumpc-objdump*.c-objdumptext/x-c-objdumpCFEngine3cfengine3cf3*.cfcfstatementcfsCheetahcheetahspitfire*.tmpl*.sptapplication/x-cheetahapplication/x-spitfireClojureclojureclj*.cljtext/x-clojureapplication/x-clojureCMakecmake*.cmakeCMakeLists.txttext/x-cmakeCoffeeScriptcoffee-scriptcoffeescript*.coffeetext/coffeescriptColdfusion HTMLcfm*.cfm*.cfml*.cfcapplication/x-coldfusionCommon Lispcommon-lispcl*.cl*.lisp*.eltext/x-common-lispCoqcoq*.vtext/x-coqcpp-objdumpcpp-objdumpc++-objdumbcxx-objdump*.cpp-objdump*.c++-objdump*.cxx-objdumptext/x-cpp-objdumpCSScss*.csstext/cssCSS+Django/Jinjacss+djangocss+jinjatext/css+djangotext/css+jinjaCSS+Genshi Textcss+genshitextcss+genshitext/css+genshiCSS+Makocss+makotext/css+makoCSS+Myghtycss+myghtytext/css+myghtyCSS+PHPcss+phptext/css+phpCSS+Rubycss+erbcss+rubytext/css+rubyCSS+Smartycss+smartytext/css+smartyCythoncythonpyx*.pyx*.pxd*.pxitext/x-cythonapplication/x-cythonDd*.d*.ditext/x-dsrcd-objdumpd-objdump*.d-objdumptext/x-d-objdumpDarcs Patchdpatch*.dpatch*.darcspatchDartdart*.darttext/x-dartDebian Control filecontrolcontrolDebian Sourcelistsourceslistsources.listsources.listDelphidelphipaspascalobjectpascal*.pastext/x-pascalDiffdiffudiff*.diff*.patchtext/x-difftext/x-patchDjango/Jinjadjangojinjaapplication/x-django-templatingapplication/x-jinjaDTDdtd*.dtdapplication/xml-dtdDuelduelDuel EngineDuel ViewJBSTjbstJsonML+BST*.duel*.jbsttext/x-dueltext/x-jbstDylandylan*.dylan*.dyltext/x-dylaneCec*.ec*.ehtext/x-echdrtext/x-ecsrcECLecl*.eclapplication/x-eclElixirelixirexexs*.ex*.exstext/x-elixirElixir iex sessioniextext/x-elixir-shellsessionEmbedded Ragelragel-em*.rlERBerbapplication/x-ruby-templatingErlangerlang*.erl*.hrl*.es*.escripttext/x-erlangErlang erl sessionerl*.erl-shtext/x-erl-shellsessionEvoqueevoque*.evoqueapplication/x-evoqueFactorfactor*.factortext/x-factorFancyfancyfy*.fy*.fancypacktext/x-fancysrcFantomfan*.fanapplication/x-fantomFelixfelixflx*.flx*.flxhtext/x-felixFortranfortran*.f*.f90*.F*.F90text/x-fortranFSharpfsharp*.fs*.fsitext/x-fsharpGASgas*.s*.Stext/x-gasGenshigenshikidxml+genshixml+kid*.kidapplication/x-genshiapplication/x-kidGenshi Textgenshitextapplication/x-genshi-texttext/x-genshiGettext Catalogpotpo*.pot*.poapplication/x-gettexttext/x-gettexttext/gettextGherkinCucumbercucumberGherkingherkin*.featuretext/x-gherkinGLSLglsl*.vert*.frag*.geotext/x-glslsrcGnuplotgnuplot*.plot*.plttext/x-gnuplotGogo*.gotext/x-gosrcGoodData-CLgooddata-cl*.gdctext/x-gooddata-clGosugosu*.gs*.gsx*.gsp*.varktext/x-gosuGosu Templategst*.gsttext/x-gosu-templateGroffgroffnroffman*.[1234567]*.manapplication/x-trofftext/troffGroovygroovy*.groovytext/x-groovyHamlhamlHAML*.hamltext/x-hamlHaskellhaskellhs*.hstext/x-haskellhaXehxhaXe*.hxtext/haxeHTMLhtml*.html*.htm*.xhtml*.xslttext/htmlapplication/xhtml+xmlHTML+Cheetahhtml+cheetahhtml+spitfiretext/html+cheetahtext/html+spitfireHTML+Django/Jinjahtml+djangohtml+jinjatext/html+djangotext/html+jinjaHTML+Evoquehtml+evoque*.htmltext/html+evoqueHTML+Genshihtml+genshihtml+kidtext/html+genshiHTML+Makohtml+makotext/html+makoHTML+Myghtyhtml+myghtytext/html+myghtyHTML+PHPhtml+php*.phtmlapplication/x-phpapplication/x-httpd-phpapplication/x-httpd-php3application/x-httpd-php4application/x-httpd-php5HTML+Smartyhtml+smartytext/html+smartyHTML+Velocityhtml+velocitytext/html+velocityHTTPhttpHybrishybrishy*.hy*.hybtext/x-hybrisapplication/x-hybrisINIinicfg*.ini*.cfgtext/x-iniIoio*.iotext/x-iosrcIokeiokeik*.iktext/x-iokesrcIRC logsirc*.weechatlogtext/x-irclogJadejadeJADE*.jadetext/x-jadeJavajava*.javatext/x-javaJava Server Pagejsp*.jspapplication/x-jspJavaScriptjsjavascript*.jsapplication/javascriptapplication/x-javascripttext/x-javascripttext/javascriptJavaScript+Cheetahjs+cheetahjavascript+cheetahjs+spitfirejavascript+spitfireapplication/x-javascript+cheetahtext/x-javascript+cheetahtext/javascript+cheetahapplication/x-javascript+spitfiretext/x-javascript+spitfiretext/javascript+spitfireJavaScript+Django/Jinjajs+djangojavascript+djangojs+jinjajavascript+jinjaapplication/x-javascript+djangoapplication/x-javascript+jinjatext/x-javascript+djangotext/x-javascript+jinjatext/javascript+djangotext/javascript+jinjaJavaScript+Genshi Textjs+genshitextjs+genshijavascript+genshitextjavascript+genshiapplication/x-javascript+genshitext/x-javascript+genshitext/javascript+genshiJavaScript+Makojs+makojavascript+makoapplication/x-javascript+makotext/x-javascript+makotext/javascript+makoJavaScript+Myghtyjs+myghtyjavascript+myghtyapplication/x-javascript+myghtytext/x-javascript+myghtytext/javascript+mygthyJavaScript+PHPjs+phpjavascript+phpapplication/x-javascript+phptext/x-javascript+phptext/javascript+phpJavaScript+Rubyjs+erbjavascript+erbjs+rubyjavascript+rubyapplication/x-javascript+rubytext/x-javascript+rubytext/javascript+rubyJavaScript+Smartyjs+smartyjavascript+smartyapplication/x-javascript+smartytext/x-javascript+smartytext/javascript+smartyJSONjson*.jsonapplication/jsonKotlinkotlin*.kttext/x-kotlinLighttpd configuration filelightylighttpdtext/x-lighttpd-confLiterate Haskelllhsliterate-haskell*.lhstext/x-literate-haskellLLVMllvm*.lltext/x-llvmLogtalklogtalk*.lgttext/x-logtalkLualua*.lua*.wluatext/x-luaapplication/x-luaMakefilemakemakefilemfbsdmake*.makMakefilemakefileMakefile.*GNUmakefiletext/x-makefileMakomako*.maoapplication/x-makoMAQLmaql*.maqltext/x-gooddata-maqlapplication/x-gooddata-maqlMasonmason*.m*.mhtml*.mc*.miautohandlerdhandlerapplication/x-masonMatlabmatlab*.mtext/matlabMatlab sessionmatlabsessionMiniDminid*.mdtext/x-minidsrcModelicamodelica*.motext/x-modelicaModula-2modula2m2*.def*.modtext/x-modula2MoinMoin/Trac Wiki markuptrac-wikimointext/x-trac-wikiMOOCodemoocode*.mootext/x-moocodeMoonScriptmoonmoonscript*.moontext/x-moonscriptapplication/x-moonscriptMuPADmupad*.muMXMLmxml*.mxmlMyghtymyghty*.mytautodelegateapplication/x-myghtyMySQLmysqltext/x-mysqlNASMnasm*.asm*.ASMtext/x-nasmNemerlenemerle*.ntext/x-nemerleNewLispnewlisp*.lsp*.nltext/x-newlispapplication/x-newlispNewspeaknewspeak*.ns2text/x-newspeakNginx configuration filenginxtext/x-nginx-confNimrodnimrodnim*.nim*.nimrodtext/x-nimrodNumPynumpyobjdumpobjdump*.objdumptext/x-objdumpObjective-Cobjective-cobjectivecobj-cobjc*.mtext/x-objective-cObjective-Jobjective-jobjectivejobj-jobjj*.jtext/x-objective-jOCamlocaml*.ml*.mli*.mll*.mlytext/x-ocamlOctaveoctave*.mtext/octaveOocooc*.ooctext/x-oocOpaopa*.opatext/x-opaOpenEdge ABLopenedgeablprogress*.p*.clstext/x-openedgeapplication/x-openedgePerlperlpl*.pl*.pmtext/x-perlapplication/x-perlPHPphpphp3php4php5*.php*.php[345]text/x-phpPL/pgSQLplpgsqltext/x-plpgsqlPostgreSQL console (psql)psqlpostgresql-consolepostgres-consoletext/x-postgresql-psqlPostgreSQL SQL dialectpostgresqlpostgrestext/x-postgresqlPostScriptpostscript*.ps*.epsapplication/postscriptPOVRaypov*.pov*.inctext/x-povrayPowerShellpowershellposhps1*.ps1text/x-powershellPrologprolog*.prolog*.pro*.pltext/x-prologPropertiesproperties*.propertiestext/x-java-propertiesProtocol Bufferprotobuf*.protoPyPy Logpypylogpypy*.pypylogapplication/x-pypylogPythonpythonpy*.py*.pyw*.scSConstructSConscript*.tactext/x-pythonapplication/x-pythonPython 3python3py3text/x-python3application/x-python3Python 3.0 Tracebackpy3tb*.py3tbtext/x-python3-tracebackPython console sessionpycontext/x-python-doctestPython Tracebackpytb*.pytbtext/x-python-tracebackRagelragelRagel in C Hostragel-c*.rlRagel in CPP Hostragel-cpp*.rlRagel in D Hostragel-d*.rlRagel in Java Hostragel-java*.rlRagel in Objective C Hostragel-objc*.rlRagel in Ruby Hostragel-rubyragel-rb*.rlRaw token datarawapplication/x-pygments-tokensRConsolerconsolerout*.RoutREBOLrebol*.r*.r3text/x-rebolRedcoderedcode*.cwreStructuredTextrstrestrestructuredtext*.rst*.resttext/x-rsttext/prs.fallenstein.rstRHTMLrhtmlhtml+erbhtml+ruby*.rhtmltext/html+rubyRubyrbrubyduby*.rb*.rbwRakefile*.rake*.gemspec*.rbx*.dubytext/x-rubyapplication/x-rubyRuby irb sessionrbconirbtext/x-ruby-shellsessionSsplussr*.S*.Rtext/S-plustext/Stext/RSasssassSASS*.sasstext/x-sassScalascala*.scalatext/x-scalaScalate Server Pagessp*.sspapplication/x-sspScamlscamlSCAML*.scamltext/x-scamlSchemeschemescm*.scm*.ss*.rkttext/x-schemeapplication/x-schemeScilabscilab*.sci*.sce*.tsttext/scilabSCSSscss*.scsstext/x-scssSmalltalksmalltalksqueak*.sttext/x-smalltalkSmartysmarty*.tplapplication/x-smartySnobolsnobol*.snoboltext/x-snobolSQLsql*.sqltext/x-sqlsqlite3consqlite3*.sqlite3-consoletext/x-sqlite3-consoleSquidConfsquidconfsquid.confsquidsquid.conftext/x-squidconfStandard MLsml*.sml*.sig*.funtext/x-standardmlapplication/x-standardmlsystemverilogsv*.sv*.svhtext/x-systemverilogTcltcl*.tcltext/x-tcltext/x-script.tclapplication/x-tclTcshtcshcsh*.tcsh*.cshapplication/x-cshTeatea*.teatext/x-teaTeXtexlatex*.tex*.aux*.toctext/x-textext/x-latexText onlytext*.txttext/plainUrbiScripturbiscript*.uapplication/x-urbiscriptValavalavapi*.vala*.vapitext/x-valaVB.netvb.netvbnet*.vb*.bastext/x-vbnettext/x-vbaVelocityvelocity*.vm*.fhtmlverilogv*.vtext/x-verilogvhdlvhdl*.vhdl*.vhdtext/x-vhdlVimLvim*.vim.vimrc.exrc.gvimrc_vimrc_exrc_gvimrcvimrcgvimrctext/x-vimXMLxml*.xml*.xsl*.rss*.xslt*.xsd*.wsdltext/xmlapplication/xmlimage/svg+xmlapplication/rss+xmlapplication/atom+xmlXML+Cheetahxml+cheetahxml+spitfireapplication/xml+cheetahapplication/xml+spitfireXML+Django/Jinjaxml+djangoxml+jinjaapplication/xml+djangoapplication/xml+jinjaXML+Evoquexml+evoque*.xmlapplication/xml+evoqueXML+Makoxml+makoapplication/xml+makoXML+Myghtyxml+myghtyapplication/xml+myghtyXML+PHPxml+phpapplication/xml+phpXML+Rubyxml+erbxml+rubyapplication/xml+rubyXML+Smartyxml+smartyapplication/xml+smartyXML+Velocityxml+velocityapplication/xml+velocityXQueryxqueryxqy*.xqy*.xquerytext/xqueryapplication/xqueryXSLTxslt*.xsl*.xsltapplication/xsl+xmlapplication/xslt+xmlYAMLyaml*.yaml*.ymltext/x-yaml