User:Annew/DPL
- Reference: DPL Manual
- See also Pipesmoker's notes and this page of examples
- Example UI on this Template:Catlist page
Finding pages marked "ToDo"
<DPL> titlematch = %Kdenlive/Manual/% namespace = include = * includematch = /ToDo/ resultsheader = KDEnlive pages containing the string "ToDo" format = ,\n* [[%PAGE%|%TITLE%]]\n,, </DPL>
<DPL>
titlematch = %Kdenlive/Manual/% namespace = include=* includematch=/ToDo/ resultsheader = KDEnlive pages containing the string "ToDo" format = ,\n* %TITLE%\n,,
</DPL>
Searching for pages containing a certain text string
Matching content in pages: You need to include the contents of pages in this page (include = *
does that) and then do a perl-like regexp on their contents to filter interesting pages (includematch = ...
). If you are searching in translated pages (fx all Danish pages) it is often advantageous to have namespace = Translations
set; otherwise you will get both all full pages and all translation units containing matching text — that could be a very long output.
<DPL> titlematch = %/da namespace = Translations include = * includematch = /albummet/ resultsheader = Danish translation units containing the string "albummet" format = ,\n* [[%PAGE%|%TITLE%]]\n,, </DPL>
All English pages linking to a given page
<DPL> linksto = Getting_Help nottitleregexp = .*(/..(-..)?|_[(].*[)])$ resultsheader = There are %TOTALPAGES% pages linking to Getting Help. These are:\n format = ,\n* [[%PAGE%|%TITLE%]],, </DPL>
Somehow this is broken! Should also list Welcome to KDE, but doesn't! Same problem with Special:WhatLinksHere.
<DPL>
linksto = Getting_Help nottitleregexp = .*(/..(-..)?|_[(].*[)])$ resultsheader = There are %TOTALPAGES% pages linking to Getting Help. These are:\n format = ,\n* %TITLE%,,
</DPL>
All English pages linking to a given page (template version)
The lesson here seems to be that, at least when include is involved, we can't rely on DPL handling more than one namespace at a time. This calls for a template: {{LinksTo|Getting[_ ]Help}} gives
{{#dpl: | namespace = | nottitleregexp = .*((/[a-z][a-z](.|-..)?)|([ _][(][a-z][a-z](...)?[)]))$ | titleregexp = ^[A-J] | include = * | includematch = @\[\[([Ss]pecial\:[mM]y[lL]anguage/)?Getting[_ ]Help( )*(\]|\||#)@ | includemaxlength = 0 | format = ,\n* %TITLE%,, | resultsheader = There are %TOTALPAGES% pages beginning with A-J\n }} {{#dpl: | namespace = | nottitleregexp = .*((/[a-z][a-z](.|-..)?)|([ _][(][a-z][a-z](...)?[)]))$ | titleregexp = ^K[A-Z] | include = * | includematch = @\[\[([Ss]pecial\:[mM]y[lL]anguage/)?Getting[_ ]Help( )*(\]|\||#)@ | includemaxlength = 0 | format = ,\n* %TITLE%,, | resultsheader = There are %TOTALPAGES% pages beginning with KA-KZ\n }} {{#dpl: | namespace = | nottitleregexp = .*((/[a-z][a-z](.|-..)?)|([ _][(][a-z][a-z](...)?[)]))$ | titleregexp = ^K[a-ce-z] | include = * | includematch = @\[\[([Ss]pecial\:[mM]y[lL]anguage/)?Getting[_ ]Help( )*(\]|\||#)@ | includemaxlength = 0 | format = ,\n* %TITLE%,, | resultsheader = There are %TOTALPAGES% pages beginning with Ka-Kc or Ke-Kz\n }} {{#dpl: | namespace = | nottitleregexp = .*((/[a-z][a-z](.|-..)?)|([ _][(][a-z][a-z](...)?[)]))$ | titleregexp = ^Kd | include = * | includematch = @\[\[([Ss]pecial\:[mM]y[lL]anguage/)?Getting[_ ]Help( )*(\]|\||#)@ | includemaxlength = 0 | format = ,\n* %TITLE%,, | resultsheader = There are %TOTALPAGES% pages beginning with Kd\n }} {{#dpl: | namespace = | nottitleregexp = .*((/[a-z][a-z](.|-..)?)|([ _][(][a-z][a-z](...)?[)]))$ | titleregexp = ^[L-Z] | include = * | includematch = @\[\[([Ss]pecial\:[mM]y[lL]anguage/)?Getting[_ ]Help( )*(\]|\||#)@ | includemaxlength = 0 | format = ,\n* %TITLE%,, | resultsheader = There are %TOTALPAGES% pages beginning with L-Z\n }}
To count translated pages in a specific language:
<DPL> titlematch = %/fi notnamespace = Translations columns = 2 format = ,\n* [[%PAGE%|%TITLE%]],, resultsheader = There are %TOTALPAGES% pages (partly) translated to Finnish. These are:\n </DPL>
<DPL>
titlematch = %/fi notnamespace = Translations columns = 2 format = ,\n* %TITLE%,, resultsheader = There are %TOTALPAGES% pages (partly) translated to Finnish. These are:\n
</DPL>
Kopete Subpages in 3 columns
<DPL> titlematch = Kopete/% notnamespace = Translations columns = 3 format = ,\n* [[%PAGE%|%TITLE%]],, </DPL>
<DPL>
titlematch = Kopete/% notnamespace = Translations columns = 3 format = ,\n* %TITLE%,,
</DPL>
Akonadi Subpages in Danish
<DPL> titlematch = Akonadi%/da notnamespace = Translations format = ,\n* [[%PAGE%|%TITLE%]],, </DPL>
<DPL>
titlematch = Akonadi%/da notnamespace = Translations format = ,\n* %TITLE%,,
</DPL>
Archived pages
<DPL> titlematch = % namespace = Archive columns = 2 format = ,\n* [[%PAGE%|%TITLE%]],, resultsheader = There are %TOTALPAGES% pages in the Archive namespace. These are:\n </DPL>
<DPL>
titlematch = % namespace = Archive columns = 2 format = ,\n* %TITLE%,, resultsheader = There are %TOTALPAGES% pages in the Archive namespace. These are:\n
</DPL>
NoIndexed pages
<DPL> titlematch = % category = Noindexed_pages columns = 2 format = ,\n* [[%PAGE%|%TITLE%]],, resultsheader = There are %TOTALPAGES% pages in the Archive namespace. These are:\n </DPL>
<DPL>
titlematch = % category = Noindexed_pages columns = 2 format = ,\n* %TITLE%,, resultsheader = There are %TOTALPAGES% pages in the Category:Noindexed_pages. These are:\n
</DPL>
Ignoring Deleted Pages
"As for DPL. If you hit a page with ?action=purge attached to the URL (i.e. http://en.wikinews.org/wiki/Template:Latest_news?action=purge ), it will dump all the removed pages."
Remaining old-style translations
<DPL> titlematch = %_(%) notcategory = Template notnamespace = Thread notnamespace = Summary columns = 2 format = ,\n* [[%PAGE%|%TITLE%]],, resultsheader = There are %TOTALPAGES% pages (partly) remaining in old-style translations. These are:\n </DPL>
<DPL>
titlematch = %_(%) notcategory = Template notnamespace = Thread notnamespace = Summary columns = 2 format = ,\n* %TITLE%,, resultsheader = There are %TOTALPAGES% pages (partly) remaining in old-style translations. These are:\n
</DPL>
Pages with old i18n bar
<DPL> titlematch = % namespace = uses = Template:I18n/Language Navigation Bar columns = 3 format = ,\n* [[%PAGE%|%TITLE%]],, resultsheader = There are %TOTALPAGES% pages that still display the old i18n language bar\n </DPL>
<DPL>
titlematch = % namespace = uses = Template:I18n/Language Navigation Bar columns = 3 format = ,\n* %TITLE%,, resultsheader = There are %TOTALPAGES% pages that still display the old i18n language bar\n
</DPL>
Pages with old i18n bar but w/o old-way-translated ones
<DPL> nottitlematch = %_(%) namespace = uses = Template:I18n/Language Navigation Bar columns = 3 format = ,\n* [[%PAGE%|%TITLE%]],, resultsheader = There are %TOTALPAGES% relevant pages that still display the old i18n language bar\n </DPL>
<DPL>
nottitlematch = %_(%) namespace = uses = Template:I18n/Language Navigation Bar columns = 3 format = ,\n* %TITLE%,, resultsheader = There are %TOTALPAGES% relevant pages that still display the old i18n language bar\n
</DPL>
Pages not updated since 1st July 2010
<DPL> namespace = lastrevisionbefore = 201007010000 columns = 2 ordermethod=lastedit format = ,\n* (%DATE%) [[%PAGE%|%TITLE%]],, resultsheader = There are %TOTALPAGES% pages without recent updates\n </DPL>
<DPL>
namespace = lastrevisionbefore = 201007010000 columns = 2 ordermethod=lastedit format = ,\n* (%DATE%) %TITLE%,, resultsheader = There are %TOTALPAGES% pages without recent updates\n
</DPL>
Listing Non-Translation Pages
<DPL> nottitlematch = %/__|%/zh-%|%(%) titlematch = Amarok% namespace = columns = 2 format = ,\n* [[%PAGE%|%TITLE%]],, resultsheader = There are %TOTALPAGES% Amarok pages, not counting translations\n </DPL>
<DPL>
nottitlematch = %/__|%/zh-%|%pt-%|%(%) titlematch = Amarok% namespace = columns = 2 format = ,\n* %TITLE%,, resultsheader = There are %TOTALPAGES% Amarok pages, not counting translations\n
</DPL>
List all pages in a specific namespace
<DPL> nottitlematch = %/__|%/zh-%|%pt-%|%(%) namespace = MediaWiki columns = 3 format = ,\n* [[%PAGE%|%TITLE%]],, resultsheader = These %TOTALPAGES% pages are in the Mediawiki namespace\n </DPL>
<DPL>
nottitlematch = %/__|%/zh-%|%pt-%|%(%) namespace = MediaWiki columns = 3 format = ,\n* %TITLE%,, resultsheader = These %TOTALPAGES% pages are in the Mediawiki namespace\n
</DPL>