Example 1

From FollowTheScore
Revision as of 11:12, 16 February 2007 by Gero (talk | contribs)
Jump to: navigation, search

Our demo web site contains some articles on fictitious countries (this is also the name of their common category).

They all use a template named "Country" which has parameters like capital. The template produces a small table and a link to the country list we want to generate. There are chapters on religion and history in most of the articles. We show how to create a sortable wikitable list of those articles which gives some excerpts of the contents. <javascript src="sorttable"/>

DPL can be used as a mediawiki parser extension, which means that a special DPL tag is used:

parser extension syntax

<DPL>
  category=Fictitious country
  includepage={Country} dpl,#History,#Religion[20]
  addpagecounter=true
  mode=userformat
  listseparators=¶{|class=sortablewikitable id=123 ¶!Country ¶!Official Name ¶!Capital ¶!Dial Code ¶!History ¶!Religion ¶|-,¶|-¶|[[%PAGE%]] (%COUNT%)¶,¶,¶|}
  secseparators=,¶|,,
</DPL>

We select articles by category ("Fictitious Country") and explain that we want to see contents from the template "Country" and from two chapters. We truncate the text on religion to a maximum of 20 characters. We create a sortable table which contains the article name (as a link) and its access frequency in the first column and the content pieces in the other columns. Note that at the end of truncated contents you will find a small arrow which links directly to the chapter from where the contents was taken. The formatting for the template variables is done in a special template which is by convention named after the original template plus a suffix (Template:Country dpl in our case). This template is very simple; it only presents the values for name, capital and dial code as columns of a table.

As wiki syntay depends on line breaks we must use a symbol to represent a line break ("\n" or "¶" are possible) .

country list
Country Official Name Capital Dial Code History Religion
DPL Example 007 main page 1 (%COUNT%)

Template:Country dpl.default

Nigunda (%COUNT%) Republic of Nigunda Bamitogoo 237

some facts about ..→

Nigunda Test (%COUNT%) Republic of Nigunda Test Bamitogoo Test 237

Nigunda Test History - Chapter Sequence in the article doesn´t matter for DPL ..

some facts about ..→

Somango (%COUNT%) Somango Island Aaaabququque 224

a text on the history of Somango; a text on the history of Somango; a text on the history of Somango;

some facts about ..→

country list (2)

DPL can also be used as a mediawiki parser function, which is more powerful as it allows DPL to be used within templates, parameters being template calls or variable expansions. The syntax looks a bit different.

Special care must be taken if you need the pipe symbol ("|") as contents of your statements. This happens for example, when you want to define a wiki table. We offer two ways for that purpose:

  • the classic way, i.e. define special macros like (! with a contents of {| (this is common practice in wikipedia).
  • use the special symbol ¦; this symbol looks very similar to the pipe character and is therefore more elegant.

See two examples (with identical results) to understand the difference:

parser function syntax with \n and macros parser function syntax with and ¦
{{#dpl:category=Fictitious country
  |includepage={Country} dpl,#History[80 img=pointing.hand.gif],#Religion
  |addpagecounter=true
  |mode=userformat
  |listseparators=\n{{(!}} class=sortablewikitable id=123
    \n!Country
    \n!Official Name
    \n!Capital
    \n!Dial Code
    \n!History
    \n!Religion
    \n{{!}}-,\n{{!-}}\n{{!}}[[%PAGE%]] (%COUNT%)\n,\n,\n{{!)}}
  |secseparators=,\n{{!}},,
}}

The result:


Country Official Name Capital Dial Code History Religion
DPL Example 007 main page 1 (%COUNT%)

Template:Country dpl.default

Nigunda (%COUNT%) Republic of Nigunda Bamitogoo 237

some facts about religious groups in Nigunda; some other facts about religious groups in Nigunda;

Nigunda Test (%COUNT%) Republic of Nigunda Test Bamitogoo Test 237

Nigunda Test History - Chapter Sequence in the article doesn´t matter for <linkedimage>page=Nigunda Test#History img=Image:pointing.hand.gif </linkedimage> some facts about religious groups in Nigunda; some other facts about religious groups in Nigunda Test;

Somango (%COUNT%) Somango Island Aaaabququque 224

a text on the history of Somango; a text on the history of Somango; a text on <linkedimage>page=Somango#History img=Image:pointing.hand.gif </linkedimage> some facts about religion in Somango


{{#dpl:category=Fictitious country
  |includepage={Country} dpl,#History[80 img=pointing.hand.gif],#Religion
  |addpagecounter=true
  |mode=userformat
  |listseparators=¶{¦ class=sortablewikitable id=123
    ¶!Country
    ¶!Official Name
    ¶!Capital
    ¶!Dial Code
    ¶!History
    ¶!Religion
    ¶¦-,¶¦-¶¦[[%PAGE%]] (%COUNT%)¶,¶,¶¦}
  |secseparators=,¶¦,,
}}

The result:


Country Official Name Capital Dial Code History Religion
DPL Example 007 main page 1 (%COUNT%)

Template:Country dpl.default

Nigunda (%COUNT%) Republic of Nigunda Bamitogoo 237

some facts about religious groups in Nigunda; some other facts about religious groups in Nigunda;

Nigunda Test (%COUNT%) Republic of Nigunda Test Bamitogoo Test 237

Nigunda Test History - Chapter Sequence in the article doesn´t matter for <linkedimage>page=Nigunda Test#History img=Image:pointing.hand.gif </linkedimage> some facts about religious groups in Nigunda; some other facts about religious groups in Nigunda Test;

Somango (%COUNT%) Somango Island Aaaabququque 224

a text on the history of Somango; a text on the history of Somango; a text on <linkedimage>page=Somango#History img=Image:pointing.hand.gif </linkedimage> some facts about religion in Somango


Have a look at a more realistic example ...