Magic words & parser functions link
Line 4: | Line 4: | ||
==Basic functions== | ==Basic functions== | ||
− | (to be converted to ''magic words' in a second time) | + | (to be converted to ''magic words'' in a second time) |
{| class="wikitable" | {| class="wikitable" |
Revision as of 22:18, 28 June 2020
Currently this platform offers the additional parser functions. They are prefixed with the prefix "ci_" to distinguish them easily from the standard mediawiki magic words and parser functions.
Basic functions
(to be converted to magic words in a second time)
function name | return value | example | result |
---|---|---|---|
ci_userAffiliatedTo | logged in user affiliation | {{#ci_userAffiliatedTo:}} | |
ci_userRealName | logged in user real name | {{#ci_userRealName:}} | |
ci_isSysop | whether the logged in user is an administrator or not | {{#ci_isSysop:}} | |
ci_loggedIn | whether the user is logged in or not | {{#ci_loggedIn:}} | |
ci_visitorIsoCode | country code of user (based on the ip) | {{#ci_visitorIsoCode:}} | US |
ci_visitorCountry | country of user (based on the ip) | {{#ci_visitorCountry:}} | United States |
Complex functions
More
function | return value | parameter |
---|---|---|
ci_HidePathFromPageList | wikicode with links, in the form [[complete path|page name]] | list, delimiter, kind of output (ul or comma separated values) |
ci_editors_realnames | comma separated real names | list |
ci_pageTitlesAttribution | wikicode with links, in the form [[complete path|page name]] followed by a string in the form "created by [editor real name] affiliated to [editor affiliation] | list, delimiter, kind of output (ul or comma separated values) |
ci_HidePathFromPageList
example:
{{#ci_HidePathFromPageList: path/1/2/a#path/1/2/b#path/1/2/c|#|ul}}
will create the following rendered list:
(that is the path of the pages a, b and c will be removed from the list, thus preserving the link paths).
Of course the same function can be used in combination with a semantic query ("ask" function, form semantic mediawiki extension), as follows:
{{#ci_HidePathFromPageList: {{#ask: |[[~Centro italiano Barcellona*]] [[Category:Language_courses]] |format=array |sep=## }}|##|ul}}
The ask query will return a list of pages (with paths) separated by '##' and the parser function 'ci_HidePathFromPageList' will take that list, will split it using '##' as delimiter (2nd argument) and will return a 'ul' (unordered list), for instance as follows:
ci_pageTitlesAttribution
example:
{{#ci_pageTitlesAttribution: {{#ask: [[Category:Reading suggestions]] |format=array |?Page creator |?Page author |sep=## }}|##|ul}}
will create the following list:
- Alì Ehsani - Stanotte guardiamo le stelle - created by , affiliated to [organization]
- Giacomo Scotti, Mario Licciardi - Non si trova cioccolata - created by , affiliated to [organization]
- Raymond Queneau - Fiori Blu - created by , affiliated to [organization]
- Viviano Domenici - A cena con i cannibali. Taccuino di un giornalista esploratore - created by , affiliated to [organization]
- Yambo (Enrico de’ Conti Novelli da Bertinoro) - L'allevatore di dinosauri ovvero L'uovo di pterodattilo - created by , affiliated to [organization]
to notice that the output returned by the ask query above will be as follows:
Announcements/European Commission - Supporting the cultural and creative sectors in the ACP countries<PROP>User:Luca.speziale<PROP>User:Admin<MANY>User:Luca.speziale##Announcements/General Secretariat of the Council - Traineeships at the General Secretariat of the Council<PROP>User:Luca.speziale<PROP>User:Admin<MANY>User:Luca.speziale##Announcements/Language school "Praticamente" - Lavoro per un insegnante di inglese in Kazakistan per 3 mesi presso la Scuola di lingua Italiana “Praticamente”<PROP>User:Luca.speziale<PROP>User:Admin<MANY>User:Luca.speziale
therefore the function ci_pageTitlesAttribution will parse the output using the standard Semantic Mediawiki <PROP> and <MANY> delimiters and will retrieve the real name and the user affiliation from the username: then, it will return the output as the ci_HidePathFromPageList function.
ci_editors_realnames
example:
{{#ci_editors_realnames: {{#ask: [[{{PAGENAME}}]] |?Page creator |?Page author |format=array |mainlabel=- |sep=## }} }}
will produce the following output:
As above, the output produced by the ask query, will be similar to the following:
User:MediaWiki default<PROP>User:Admin<MANY>User:Luca.speziale<MANY>User:MediaWiki default
and applies as above with the difference that the output produced by the ci_editors_realnames function will be a comma separated list of the real names of provided usernames.