Extension:Ayrıştırıcı işlev uzantıları
Bu sayfa eski. |
"Ayrıştırıcı işlevi", işlev adından iki nokta üst üste iki nokta üst üste işareti ile ayrılmış en az bir adlandırılmamış parametreye dayanan bir değer döndüren şablon benzeri bir yapıdır. Daha fazla parametre de olabilir; sıradan şablonlarda olduğu gibi, bu ek parametrelerin her birinin önünde bir "boru" [|] bulunur. İşlev adının başlangıcında bir kare karakteri [#] olması durumunda (ad alanları ve interwiki önekleriyle çarpışmayı önler), bu adın bir parçası olarak kabul edilebilir veya edilmeyebilir. Adın bir parçası olarak kabul edilirse, sözdizimi formdadır
- {{functionname: argument 1 | argument 2 | argument 3...}}
Bağımsız değişkenler, şablon çağrısı, ayrıştırıcı işlev çağrısı, değişken, bağlantı veya resim kodunun bir parçası dışında doğrudan "|" veya "}}" içeremez, ancak bunları m:Template:! veya ayrıştırıcı işlevi gibi şablon kullanarak isteğe bağlı olarak içerebilir.
Kod, işlev adının büyük/küçük harfe duyarlı olup olmadığını belirtebilir.
Bağımsız değişkenlerin birbirinden ayrılması "|" ile ve işlev adının ilk ":" ile ayrılması Bu parçaların her birinin genişlemesi Special:ExpandTemplates sayfasında olduğu gibi standarttır ( Bu arada, bu şeyleri öğreniyorsanız) ve ayrıştırıcı işlevinin kontrolünün ötesindedir.
Ancak, her ayrıştırıcı işlevi için diğer her şey farklı olabilir, bunlardan bazıları:
- bağımsız değişkenin yalnızca bir değer olup olmadığı veya parname = parvalue biçiminde olup olmadığı
- varsa, parametre adlarının büyük/küçük harfe duyarlı olup olmadığı
Ayrıştırıcı işlev uzantısı tarafından belirtilen sözdizimi
Yukarıdakiler görünümde, bir argümanda kullanılacak sözdiziminin boru karakteri $backslash veya çift parantezleri (daha spesifik olarak, çift kapama "}}") içermeyecek şekilde bir uzantı yapmak avantajlıdır. Bu, bir boru karakterinin aksi takdirde örneğin bir seçim veya birleşim için uygun bir sembol gibi görünmesine rağmen (örneğin, [1] bakınız). Alternatif bir koda da izin veriliyorsa, bu tür kodlara izin vermek zararsızdır, örn. "|" için "\".
İşlevler tablosu
uzantı | işlev | MediaWiki sürümü |
---|---|---|
built-in | lc | 1.7+ |
built-in | uc | 1.7+ |
built-in | lcfirst | 1.7+ |
built-in | ucfirst | 1.7+ |
built-in | urlencode | 1.7+ |
built-in | anchorencode | 1.8+ |
built-in | localurl | 1.7+ |
built-in | fullurl | 1.7+ |
built-in | #language | 1.7+ |
built-in | #special | 1.9+ |
built-in | #tag | 1.12+ |
ParserFunctions (usage ) | #expr | 1.19+ |
ParserFunctions (usage ) | #ifexpr | 1.19+ |
ParserFunctions (usage ) | #if | 1.19+ |
ParserFunctions (usage ) | #ifeq | 1.19+ |
ParserFunctions (usage ) | #ifexist | 1.19+ |
ParserFunctions (usage ) | #rel2abs | 1.19+ |
ParserFunctions (usage ) | #titleparts | 1.19+ |
ParserFunctions (usage ) | #switch | 1.19+ |
ParserFunctions (usage ) | #time | 1.19+ |
AddScriptCss | #addscript | Archived |
Arrays | #arraydefine | 1.23+ |
Arrays | #arraydiff | 1.23+ |
Arrays | #arrayindex | 1.23+ |
Arrays | #arrayintersect | 1.23+ |
Arrays | #arraymerge | 1.23+ |
Arrays | #arrayprint | 1.23+ |
Arrays | #arrayreset | 1.23+ |
Arrays | #arraysearch | 1.23+ |
Arrays | #arraysearcharray | 1.23+ |
Arrays | #arraysize | 1.23+ |
Arrays | #arrayslice | 1.23+ |
Arrays | #arraysort | 1.23+ |
Arrays | #arraytohash | 1.23+ |
Arrays | #arrayunion | 1.23+ |
Arrays | #arrayunique | 1.23+ |
Arrays | #hashtoarray | 1.23+ |
Attachments | #attach | 1.31+ |
Attachments | #exturl | 1.31+ |
Babel | #babel | 1.30+ |
CSS | #css | 1.25+ |
Coordinate | #coordinate | 1.10+ |
Counter | #+ | 1.15+ |
Data | #data | Archived |
Data | #sort | Archived |
DynamicFunctions | #arg | Archived |
DynamicFunctions | #ip | Archived |
DynamicFunctions | #rand | Archived |
DynamicFunctions | #skin | Archived |
DynamicPageList (third-party) | #dpl | Archived |
DynamicPageList3 | #dpl | 1.39+ |
ExpandAfter | #expandafter (deprecated , see: #tag) | Archived |
ForeachFunction | #foreachx | Archived |
ForeachFunction | #foreachy | Archived |
HasCategory | #ifhascat | Archived |
HideNamespace | #hidens | 1.15+ |
HideNamespace | #unhidens | 1.15+ |
ImageLink | #img (old: #imagelink, deprecated ) | Archived |
Infobox Data Capture | #dataentry | Archived |
Infobox Data Capture | #listsplit | Archived |
InterWikiLinkManager | #iwl | Archived |
KeyValue | #keyvalue | 1.16+ |
Labeled Section Transclusion | #lst | 1.25+ |
Labeled Section Transclusion | #lstx | 1.25+ |
Labeled Section Transclusion | #lsth | 1.25+ |
LoopFunctions | #for | 1.23+ |
LoopFunctions | #foreach | 1.25+ |
Loops | #while | 1.25+ |
Loops | #dowhile | 1.25+ |
Loops | #forargs | 1.25+ |
Loops | #fornumargs | 1.25+ |
Loops | #loop | 1.25+ |
Maps | #geocode | 1.27+ |
Maps | #display_map | 1.27+ |
Maps | #display_point | 1.27+ |
Maps | #coordinates | 1.27+ |
Maps | #distance | 1.27+ |
MediaFunctions | #media.. | 1.23+ |
PageAfterAndBefore | #pagebefore | Archived |
PageAfterAndBefore | #pageafter | Archived |
PageAfterAndBefore | #firstpage | Archived |
PageAfterAndBefore | #lastpage | Archived |
PageFunctions | #pagetitle | Archived |
PageFunctions | #pagesubtitle | Archived |
PageFunctions | #pageexists | Archived |
PageFunctions | #varset | Archived |
PageFunctions | #varget | Archived |
PageFunctions | #varcapset | Archived |
PageFunctions | #cshow | Archived |
PageFunctions | #varaset | Archived |
PageFunctions | #varaget | Archived |
ParserFunctions (extended) | #expr (extended) | 1.19+ |
ParserFunctions (extended) | #ifexpr (extended) | 1.19+ |
ParserFunctions (extended) | #min | 1.19+ |
ParserFunctions (extended) | #max | 1.19+ |
ParserFunctions (extended) | #if | 1.19+ |
ParserFunctions (extended) | #ifeq | 1.19+ |
ParserFunctions (extended) | #ifexist | 1.19+ |
ParserFunctions (extended) | #rel2abs | 1.19+ |
ParserFunctions (extended) | #switch | 1.19+ |
ParserFunctions (extended) | #time | 1.19+ |
Pipe Escape | #! | 1.23+ |
QPoll | #qpuserchoice | Archived |
RegexTools | #regex | Archived |
RegexTools | #regex_vars | Archived |
SecureProperties | #pg | Archived |
SecureProperties | #ps | Archived |
SecureProperties | #pf | Archived |
SecureProperties | #gg | Archived |
SecureProperties | #gs | Archived |
Semantic MediaWiki | #ask | 1.27+ |
Semantic MediaWiki | #concept | 1.27+ |
Semantic MediaWiki | #info | 1.27+ |
Semantic MediaWiki | #show | 1.27+ |
Semantic MediaWiki | #set | 1.27+ |
StringFunctions | #len | 1.7+ |
StringFunctions | #pos | 1.7+ |
StringFunctions | #rpos | 1.7+ |
StringFunctions | #sub | 1.7+ |
StringFunctions | #pad | 1.7+ |
StringFunctions | #replace | 1.7+ |
StringFunctions | #explode | 1.7+ |
StringFunctions | #urlencode | 1.7+ |
StringFunctions | #urldecode | 1.7+ |
TreeAndMenu | #tree | 1.23+ |
TreeAndMenu | #menu | 1.23+ |
Variables | #vardefine | 1.29+ |
Variables | #vardefineecho | 1.29+ |
Variables | #var | 1.29+ |
Variables | #varexists | 1.29+ |
Variables | #var_final | 1.29+ |
Wikibase Client | #property | |
Wikibase Client | #statements |
Ayrıca bakınız
- Help:Sihirli kelimeler
- Category:Ayrıştırıcı işlev uzantıları
- Writing parser functions (software development)
- Extending wiki markup#Parser_functions
- Sample parser function, from SVN
- Parser function extensions with documentation on Meta:
- Extension:Data - requires extra table data_extension in database
- Extension:DynamicFunctions
- Help:Extension:ParserFunctions
- Extension:StringFunctions
- Extension:VariablesExtension
- Extension:Winter - "Wiki Interpreter" - Complete programming language which is very similar to native parser functions.
- Parser functions for Wikibase (the extensions that enables Wikidata): d:Wikidata:How to use data on Wikimedia projects