Analizatoriai patikrina puslapio turinį , kad sukurtų seką, pagal kurią būtų iškviečiami rinkmenos, sukuriančios matomą rezultatą. MoinMoin išrenka puslapio analizatorių naudojant 2 skirtingus būdus:
FORMAT Apdorojimo Instrukcijos - ieškokite PagalbaApdorojimoInstrukcijų
A #FORMAT apdorojimo instrukcija gali būti naudojama pasakyti MoinMoin kurį analizatorių naudoti visam puslapio turiniui apdoroti. Numatytasis yra wiki analizatorius. Pavyzdys:
#FORMAT cplusplus ... šiek tiek C++ kodo ...
Kodo vaizdavimo regionai - žiūrėkite PagalbaFormatavimo
Naudojant kodo atvaizdavimo regionus, analizatorius gali būti taikomas tik daliai puslapio (tai buvo processor region ankstesnėje MoinMoin versijoje). Jūs nurodote kuriuos analizatorius iskviesti, naudojanta bang kelio konstrukciją pirmoje eilutėje. Bang kelias yra a koncepcija, žinoma iš Unix komandinės eilutės scenarijų, kuriuose jie naudojami tuo pačiu tikslu: pirmoji eilutė pasako šelui kokią programą paleisti analizuoti likusioms scenarijaus eilutėms. Pavyzdžiui, kodas
{{{#!CSV , a,b,c d,e,f }}}
Analizuoja lentelę:
Pastaba: Yra 2 būdai išspręsti įterpimo problemas susijusias su }}}:
- Naudokite daugiau negu 3 vingiuotus skliaustus pradžioje / pabaigoje analizatoriaus sekcijos (tai, ką naudojate, neturi būti jūsų apskliaudžiamoje dalyje). Pvz.:
{{{{ {{{ ... }}} }}}}
- Naudokite 3 curly braces + kokį nors unikalų string:
{{{asdfghj {{{ ... }}} asdfghj}}}
Norėdami rasti daugiau informacijos apie galimus markup, skaitykite PagalbaRedagavimo.
AnalizatoriausPagrindas
ParserBase (analizatoriaus pagrindas) yra analizatoriaus paslaugų klasė, naudojama išgauti spalvotą šaltinio vaizdą. Tai lengvai išplėčiama. HTML Formatuotojas atvaizduos tokį kodą su perjungiamais eilučių numeriais, jeigu naršyklė palaiko DOM ir JavaScript.
ParserBase spalvinimo analizatorius supranta šiuos argumentus #FORMAT pi arba hashbang eilutę. Jums tereikia pridėti tuos argumentus po analizatoriaus pavadinimo (#FORMAT python start=10 step=10 numbers=on arba #!python numbers=off).
- numbers
- jeigu turi būti pridėti eilučiu numeriai. numatytasis 'on'. galimos vertės: 'on', 'off' (be eilučių numerių,tik javascript jiems pridėti), 'disable' (visai be eilučių numeravimo)
- start
- kur pradėti numeruoti. numatyta 1
- step
- padidinti eilutės numerį. numatyta 1
MoinMoin turi kelis pavyzdžius, nuo kurių galite tęsti:
python
Nuspalvina python kodą. Jis gaunamas ne iš ParserBase, bet leidžia tuos pačius argumentus kaip ir ParserBase analizatoriai.
def hello():
print "Labas Pasauli!"
def hello():
print "Labas Pasauli!"
cplusplus
java
1 import java.util.Date;
2 import java.util.Calendar;
3
4 public class IntDate
5 {
6 public static Date getDate(String year, String month, String day)
7 {
8 // Data(int, int, int) has been deprecated, taigi naudokite Calendar norėdami
9 // nustatyti metus, menesį ir dieną.
10 Calendar c = Calendar.getInstance();
11 // Pakeicia kiekvieną argumentą į int.
12 c.set(Integer.parseInt(year),Integer.parseInt(month),Integer.parseInt(day));
13 return c.getTime();
14 }
15 }
pascal
IRC
Įdeda IRC žurnalą į lentelę.
1 (23:18) < jroes> ah
2 (23:21) -!- gpciceri [~gpciceri@host181-130.pool8248.interbusiness.it] has quit [Read error: 110 (Connection timed out)]
3 (23:36) < ThomasWal> you could also write a parser or processor
4 (23:38) < jroes> i could?
5 (23:38) < jroes> would that require modification on the moin end though?
6 (23:38) < jroes> i cant change the wiki myself :x
Formatavimo analizatorius yra ilgas IRSSI formatas, populiarus konsolinis IRC klientas, bet tai taip pat turėtų sutapti su daugumos kitų IRC klientų žurnalizavimo formatu.
CSV
CSV analizatorius dirba su taip vadinamomis kableliais atskirtomis vertėmis, tačiau dabar kablelis yra , pagal numatymą, kaip kabliataškis. Pirmoji eilutė yra manoma, jog turi stulpelių antraštes, kurios atvaizduojamos paryškintai, taigi kai jus nenorite lentelių pavadinimų, palikite pirmąją eilutę tusčią.
Kelyje gali būti "-index" argumentai, kur kiekvienas iš jų slepia tam tikrą stulpelį iš išvedinio; stulpelių indeksai yra yra skaičiuojami pradedant nuo 1.
Bet koks ne tarpo argumentas, kuris neprasideda - nurodo skirtuką. Tai leidžia naudoti, pavyzdžiui, kablelius (,) vietoj kabliataškių (;). Jeigu nepateikiate skirtukų (separator), bus naudojamas ;.
Šiuo metu įtrauktas CSV analizatoriaus kodas yra labai paprastas.
Lentelės pavyzdžiai (naudotą žymėjimą žiūrėkite neapdorotame puslapio tekste):
MoinMoin 1.3 - pataisymo istorijos apkarpymas:
MoinMoin Version History:
reStructuredText
Skaitykite /ReStructuredText
XML/XSLT/DocBook
Žiūrėkite HelpOnXmlPages.
Papildomi Analizatoriai
Norėdami sužinoti apie daugiau analizatorių ir diegimo instrukcijas, skaitykite MoinMoin:ParserMarket