User:Claus chr/DPL: Difference between revisions
(Created page with ":Reference: [http://semeb.com/dpldemo/index.php?title=DPL:Manual DPL Manual] :See also Pipesmoker's notes and [http://semeb.com/dpldemo/ind...") |
No edit summary |
||
(79 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
<languages /> | |||
:Reference: [http://semeb.com/dpldemo/index.php?title=DPL:Manual DPL Manual] | :Reference: [http://semeb.com/dpldemo/index.php?title=DPL:Manual DPL Manual] | ||
:See also [[User:Pipesmoker/Dynamic_Page_Lists|Pipesmoker's notes]] and [http://semeb.com/dpldemo/index.php?title=Extension_DPL this page of examples] | :See also [[User:Pipesmoker/Dynamic_Page_Lists|Pipesmoker's notes]] and [http://semeb.com/dpldemo/index.php?title=Extension_DPL this page of examples] | ||
:Example UI on [http://semeb.com/dpldemo/index.php?title=Template:Catlist this Template:Catlist page] | :Example UI on [http://semeb.com/dpldemo/index.php?title=Template:Catlist this Template:Catlist page] | ||
:Search on [[User:Claus chr/Search|this page]] | |||
All the examples on this page have been commented out to prevent the page from being very slow to load. If you want to see the outcome of a search example, just edit the page and remove the comment tags around the desired example. You don't need to save the page, a preview will give you the search results; that way you can experiment with the examples and easily restore the page to its original state when you are done. | |||
== Searching for pages containing a certain text string == | |||
=== Text without wiki markup === | |||
== | Enter <code><nowiki>{{Search|</nowiki>''text''<nowiki>}}</nowiki></code> anywhere to get the search results in the form of links. Here ''text'' can be plain text or a perl like regexp. Be careful to escape regexp meta characters. If the searched text contain wiki markup this template may nor give the desired results; see the next section. | ||
The Search template searches only the main namespace, and only original English pages. | |||
Example: To find all English pages containing the word 'application' - possibly capitalized enter this: | |||
{{Input|1=<nowiki>{{Search|[Aa]pplication}}</nowiki>}} | |||
<!-- | |||
{{Search|[Aa]pplication}} | |||
--> | |||
{{Info|1=The results should just be a link to each page containing the searched text. For some reason, however, some pages include the content at the beginning of the page, typically an info box, an image or tabular material. This can be avoided by ensuring that the pages searched start by <code><nowiki><languages /></nowiki></code>. If the page doesn't have translate tags this directive have no effect, but it prevents the unwanted inclusion of content from the page in the search result.}} | |||
=== Translated text === | |||
Enter <code><nowiki>{{SearchLang|</nowiki>''text''<nowiki>|</nowiki>''lang''<nowiki>}}</nowiki></code> anywhere to get the search results in the form of links. Here ''text'' can be plain text or a perl like regexp and ''lang'' is a language code. Be careful to escape regexp meta characters. If the searched text contain wiki markup this template may nor give the desired results; see the next section. | |||
Example: To find all Danish pages containing the word 'program' - possibly capitalized enter this: | |||
{{Input|1=<nowiki>{{SearchLang|[Pp]rogram|da}}</nowiki>}} | |||
<!-- | |||
{{SearchLang|[Pp]rogram|da}} | |||
--> | |||
=== Pages linking to a given page === | |||
Use <code><nowiki>{{LinksTo|</nowiki>''full page name''<nowiki>}}</nowiki></code>. The ''<tt>full page name</tt>'' must be the entire wiki link up to (but not including) one of the characters '|', ']' or '#' and excluding ''<tt>Special:myLanguage</tt>''. Note, that space characters in names are sometimes entered as '_', so in searches you should enter <code>[ _]</code> for spaces. | |||
Example: To find all pages linking to [[Getting Help]] enter | |||
{{Input|1=<nowiki>{{LinksTo|Getting[ _]Help}}</nowiki>}} | |||
<!-- | |||
{{LinksTo|Getting[ _]Help}} | |||
--> | |||
=== Text containing wiki markup === | |||
In case the Search template does not work for you use code like this to accomplish your desired result: | |||
{{Input|1=<nowiki><DPL> | {{Input|1=<nowiki> | ||
<DPL> | |||
namespace = | |||
nottitleregexp = .*((/[a-z][a-z](.|-..)?)|([ _][(][a-z][a-z](...)?[)]))$ | |||
titleregexp = ^[A-J] | |||
include = * | |||
includematch = @\{\{Remember\|@ | |||
includemaxlength = 0 | |||
format = ,\n* [[%PAGE%|%TITLE%]],, | |||
resultsheader = There are %TOTALPAGES% pages beginning with A-J\n | |||
</DPL> | |||
<DPL> | |||
namespace = | |||
nottitleregexp = .*((/[a-z][a-z](.|-..)?)|([ _][(][a-z][a-z](...)?[)]))$ | |||
titleregexp = ^K[A-Z] | |||
include = * | |||
includematch = @\{\{Remember\|@ | |||
includemaxlength = 0 | |||
format = ,\n* [[%PAGE%|%TITLE%]],, | |||
resultsheader = There are %TOTALPAGES% pages beginning with KA-KZ\n | |||
</DPL> | |||
<DPL> | |||
namespace = | |||
nottitleregexp = .*((/[a-z][a-z](.|-..)?)|([ _][(][a-z][a-z](...)?[)]))$ | |||
titleregexp = ^K[a-ce-z] | |||
include = * | |||
includematch = @\{\{Remember\|@ | |||
includemaxlength = 0 | |||
format = ,\n* [[%PAGE%|%TITLE%]],, | |||
resultsheader = There are %TOTALPAGES% pages beginning with Ka-Kz but not Kd\n | |||
</DPL> | |||
<DPL> | |||
namespace = | |||
nottitleregexp = .*((/[a-z][a-z](.|-..)?)|([ _][(][a-z][a-z](...)?[)]))$ | |||
titleregexp = ^Kd | |||
include = * | |||
includematch = @\{\{Remember\|@ | |||
includemaxlength = 0 | |||
format = ,\n* [[%PAGE%|%TITLE%]],, | |||
resultsheader = There are %TOTALPAGES% pages beginning with Kd\n | |||
</DPL> | |||
<DPL> | |||
namespace = | |||
nottitleregexp = .*((/[a-z][a-z](.|-..)?)|([ _][(][a-z][a-z](...)?[)]))$ | |||
titleregexp = ^[L-Z] | |||
include = * | |||
includematch = @\{\{Remember\|@ | |||
includemaxlength = 0 | |||
format = ,\n* [[%PAGE%|%TITLE%]],, | format = ,\n* [[%PAGE%|%TITLE%]],, | ||
resultsheader = There are %TOTALPAGES% pages | resultsheader = There are %TOTALPAGES% pages beginning with L-Z\n | ||
</DPL></nowiki>}} | </DPL></nowiki>}} | ||
<!-- | |||
<DPL> | |||
namespace = | |||
nottitleregexp = .*((/[a-z][a-z](.|-..)?)|([ _][(][a-z][a-z](...)?[)]))$ | |||
titleregexp = ^[A-J] | |||
include = * | |||
includematch = @\{\{Remember\|@ | |||
includemaxlength = 0 | |||
format = ,\n* [[%PAGE%|%TITLE%]],, | |||
resultsheader = There are %TOTALPAGES% pages beginning with A-J\n | |||
</DPL> | |||
<DPL> | |||
namespace = | |||
nottitleregexp = .*((/[a-z][a-z](.|-..)?)|([ _][(][a-z][a-z](...)?[)]))$ | |||
titleregexp = ^K[A-Z] | |||
include = * | |||
includematch = @\{\{Remember\|@ | |||
includemaxlength = 0 | |||
format = ,\n* [[%PAGE%|%TITLE%]],, | |||
resultsheader = There are %TOTALPAGES% pages beginning with KA-KZ\n | |||
</DPL> | |||
<DPL> | |||
namespace = | |||
nottitleregexp = .*((/[a-z][a-z](.|-..)?)|([ _][(][a-z][a-z](...)?[)]))$ | |||
titleregexp = ^K[a-ce-z] | |||
include = * | |||
includematch = @\{\{Remember\|@ | |||
includemaxlength = 0 | |||
format = ,\n* [[%PAGE%|%TITLE%]],, | |||
resultsheader = There are %TOTALPAGES% pages beginning with Ka-Kz but not Kd\n | |||
</DPL> | |||
<DPL> | |||
namespace = | |||
nottitleregexp = .*((/[a-z][a-z](.|-..)?)|([ _][(][a-z][a-z](...)?[)]))$ | |||
titleregexp = ^Kd | |||
include = * | |||
includematch = @\{\{Remember\|@ | |||
includemaxlength = 0 | |||
format = ,\n* [[%PAGE%|%TITLE%]],, | |||
resultsheader = There are %TOTALPAGES% pages beginning with Kd\n | |||
</DPL> | |||
<DPL> | |||
namespace = | |||
nottitleregexp = .*((/[a-z][a-z](.|-..)?)|([ _][(][a-z][a-z](...)?[)]))$ | |||
titleregexp = ^[L-Z] | |||
include = * | |||
includematch = @\{\{Remember\|@ | |||
includemaxlength = 0 | |||
format = ,\n* [[%PAGE%|%TITLE%]],, | |||
resultsheader = There are %TOTALPAGES% pages beginning with L-Z\n | |||
</DPL> | |||
--> | |||
Normally, you'd want to copy all of this into your page and modify the <code>includematch</code> lines to the pattern you want to search for. Note the two <code>@</code>-characters; they mark the beginning and end of the actual search pattern. You can use any character instead of <code>@</code> as long as it does not appear in the actual pattern. | |||
{{Note|1=Some characters such as <code>¤</code> do not work as pattern delimiters; perhaps only ASCII characters can be used?}} | |||
{{Remember|2=Be aware!|1=The page count reported by each query is not the number of matching pages found, but the total number of pages searched in that group. That number should always be less than 500! If it is not then some of the pages will not have been searched.}} | |||
If you want to search other namespaces than Main, just change that line. If you want to search the Main namespace and one or more other namespaces use <code>namespace = | Other</code>. The enpty string before the '|' means Main — ''never write <code>Main</code>''; that no longer works. <code>Other</code> can be one or more other namespaces separated by '|' characters. | |||
The <code>nottitleregexp</code> lines filters out all translated pages including lingering old style translations and should not be touched. The <code>titlematch</code> lines are needed to split up the search into manageable chunks. There is a maximum of pages that can be handled by the <code>includematch</code> search; if too many pages pass through the title filters the first ones up to the maximum number will be searched; the rest will be silently ignored! Currently, the maximum seems to be somewhat more than 500. The <code>include</code> and <code>includemaxlength</code> should never be modified. | |||
<!-- | |||
Matching content in pages: You need to include the contents of pages in this page (<code>include = *</code> does that) and then do a perl-like regexp on their contents to filter interesting pages (<code>includematch = ...</code>). If you are searching in translated pages (fx all Danish pages) it is often advantageous to have <code>namespace = Translations</code> set; otherwise you will get both all full pages and all translation units containing matching text — that could be a very long output. | |||
{{Input|1=<nowiki> | |||
<DPL> | |||
titlematch = %/da | |||
namespace = | |||
include = * | |||
includematch = /[Aa]pplikation/ | |||
includemaxlength = 0 | |||
resultsheader = Danish translation units containing the string "applikation" | |||
format = ,\n* [[%PAGE%|%TITLE%]]\n,, | |||
</DPL> | |||
</nowiki>}} | |||
--> | |||
<!-- | |||
<DPL> | <DPL> | ||
titlematch = %/ | titlematch = %/da | ||
namespace = | |||
include = * | |||
includematch = /[Aa]pplikation/ | |||
includemaxlength = 0 | |||
resultsheader = Danish translation units containing the string "applikation" | |||
format = ,\n* [[%PAGE%|%TITLE%]]\n,, | |||
</DPL> | |||
--> | |||
<!-- Won't work - see below | |||
== Searching for pages that hasn't been marked for translation == | |||
{{Input|1=<nowiki> | |||
<DPL> | |||
nottitlematch = %/__|%/zh-%|%pt-%|%(%) | |||
namespace = Main | |||
include = * | |||
includenotmatch = /<languages/ | |||
includemaxlength = 0 | |||
resultsheader = Pages that have not been marked up for translation | |||
format = ,\n* [[%PAGE%|%TITLE%]]\n,, | |||
</DPL> | |||
</nowiki>}} | |||
--> | |||
== Finding all pages not yet marked for translation == | |||
{{Input|1=<nowiki> | |||
<DPL> | |||
namespace = | |||
nottitleregexp = .*((/[a-z][a-z](.|-..)?)|([ _][(][a-z][a-z](...)?[)]))$ | |||
titleregexp = ^[A-J] | |||
include = * | |||
includenotmatch = #<languages[ ]?/># | |||
includemaxlength = 0 | |||
format = ,\n* [[%PAGE%|%TITLE%]],, | |||
resultsheader = There are %TOTALPAGES% pages beginning with A-J\n | |||
</DPL> | |||
... | |||
</nowiki>}} | |||
<!-- | |||
<DPL> | |||
namespace = | |||
nottitleregexp = .*((/[a-z][a-z](.|-..)?)|([ _][(][a-z][a-z](...)?[)]))$ | |||
titleregexp = ^[A-J] | |||
include = * | |||
includenotmatch = #<languages[ ]?/># | |||
includemaxlength = 0 | |||
format = ,\n* [[%PAGE%|%TITLE%]],, | |||
resultsheader = There are %TOTALPAGES% pages beginning with A-J\n | |||
</DPL> | |||
<DPL> | |||
namespace = | |||
nottitleregexp = .*((/[a-z][a-z](.|-..)?)|([ _][(][a-z][a-z](...)?[)]))$ | |||
titleregexp = ^K[A-Z] | |||
include = * | |||
includenotmatch = #<languages[ ]?/># | |||
includemaxlength = 0 | |||
format = ,\n* [[%PAGE%|%TITLE%]],, | |||
resultsheader = There are %TOTALPAGES% pages beginning with KA-KZ\n | |||
</DPL> | |||
<DPL> | |||
namespace = | |||
nottitleregexp = .*((/[a-z][a-z](.|-..)?)|([ _][(][a-z][a-z](...)?[)]))$ | |||
titleregexp = ^K[a-ce-z] | |||
include = * | |||
includenotmatch = #<languages[ ]?/># | |||
includemaxlength = 0 | |||
format = ,\n* [[%PAGE%|%TITLE%]],, | |||
resultsheader = There are %TOTALPAGES% pages beginning with Ka-Kz but not Kd\n | |||
</DPL> | |||
<DPL> | |||
namespace = | |||
nottitleregexp = .*((/[a-z][a-z](.|-..)?)|([ _][(][a-z][a-z](...)?[)]))$ | |||
titleregexp = ^Kd | |||
include = * | |||
includenotmatch = #<languages[ ]?/># | |||
includemaxlength = 0 | |||
format = ,\n* [[%PAGE%|%TITLE%]],, | |||
resultsheader = There are %TOTALPAGES% pages beginning with Ka-Kz but not Kd\n | |||
</DPL> | |||
<DPL> | |||
namespace = | |||
nottitleregexp = .*((/[a-z][a-z](.|-..)?)|([ _][(][a-z][a-z](...)?[)]))$ | |||
titleregexp = ^[L-Z] | |||
include = * | |||
includenotmatch = #<languages[ ]?/># | |||
includemaxlength = 0 | |||
format = ,\n* [[%PAGE%|%TITLE%]],, | |||
resultsheader = There are %TOTALPAGES% pages beginning with L-Z\n | |||
</DPL> | |||
--> | |||
== Find all templates using a given template == | |||
{{Input|1=<nowiki> | |||
<DPL> | |||
namespace = Template | |||
include = * | |||
includematch = /{{Icon/ | |||
includemaxlength = 0 | |||
format = ,\n* [[%PAGE%|%TITLE%]],, | |||
resultsheader = There are %TOTALPAGES% templates using the Icon template\n | |||
</DPL> | |||
</nowiki>}} | |||
<!-- | |||
<DPL> | |||
namespace = Template | |||
include = * | |||
includematch = /{{Icon/ | |||
includemaxlength = 0 | |||
format = ,\n* [[%PAGE%|%TITLE%]],, | format = ,\n* [[%PAGE%|%TITLE%]],, | ||
resultsheader = There are %TOTALPAGES% pages ( | resultsheader = There are %TOTALPAGES% templates using the Icon template\n | ||
</DPL> | |||
--> | |||
== Find discussion threads contributed by a user == | |||
Perhaps more talk namespaces needs to be searched. | |||
{{Input|1=<nowiki> | |||
<DPL> | |||
namespace = Talk | Thread | |||
createdby = AmirHP | |||
</DPL> | |||
</nowiki>}} | |||
<!--- | |||
<DPL> | |||
namespace = Talk | Thread | |||
createdby = AmirHP | |||
</DPL> | |||
--> | |||
== All English manual pages == | |||
{{Input|1=<nowiki> | |||
<DPL> | |||
titlematch = %/Manual% | |||
nottitleregexp = .*((/[a-z][a-z](.|-..)?)|([ _][(][a-z][a-z](...)?[)]))$ | |||
namespace = | User | Draft | |||
resultsheader = Manual Pages: | |||
format = ,\n* [[%PAGE%|%TITLE%]]\n,, | |||
</DPL> | |||
</nowiki>}} | |||
<!-- | |||
<DPL> | |||
titlematch = %/Manual% | |||
nottitleregexp = .*((/[a-z][a-z](.|-..)?)|([ _][(][a-z][a-z](...)?[)]))$ | |||
namespace = | User | Draft | |||
resultsheader = Manual Pages: | |||
format = ,\n* [[%PAGE%|%TITLE%]]\n,, | |||
</DPL> | </DPL> | ||
--> | |||
---- | == All English pages linking to a given page == | ||
{{Input|1=<nowiki>{{LinksTo|Plasma/Panels}}</nowiki>}} | |||
<!-- | |||
{{LinksTo|Plasma/Panels}} | |||
--> | |||
==Kopete Subpages in 3 columns== | ==Kopete Subpages in 3 columns== | ||
Line 31: | Line 355: | ||
format = ,\n* [[%PAGE%|%TITLE%]],, | format = ,\n* [[%PAGE%|%TITLE%]],, | ||
</DPL></nowiki>}} | </DPL></nowiki>}} | ||
<!-- | |||
<DPL> | <DPL> | ||
titlematch = Kopete/% | titlematch = Kopete/% | ||
Line 37: | Line 363: | ||
format = ,\n* [[%PAGE%|%TITLE%]],, | format = ,\n* [[%PAGE%|%TITLE%]],, | ||
</DPL> | </DPL> | ||
-- | --> | ||
==Akonadi Subpages in Danish== | ==Akonadi Subpages in Danish== | ||
Line 45: | Line 372: | ||
format = ,\n* [[%PAGE%|%TITLE%]],, | format = ,\n* [[%PAGE%|%TITLE%]],, | ||
</DPL></nowiki>}} | </DPL></nowiki>}} | ||
<!-- | |||
<DPL> | <DPL> | ||
titlematch = Akonadi%/da | titlematch = Akonadi%/da | ||
Line 50: | Line 379: | ||
format = ,\n* [[%PAGE%|%TITLE%]],, | format = ,\n* [[%PAGE%|%TITLE%]],, | ||
</DPL> | </DPL> | ||
-- | --> | ||
==Archived pages== | ==Archived pages== | ||
Line 61: | Line 391: | ||
</DPL></nowiki>}} | </DPL></nowiki>}} | ||
<!-- | |||
<DPL> | <DPL> | ||
titlematch = % | titlematch = % | ||
Line 68: | Line 399: | ||
resultsheader = There are %TOTALPAGES% pages in the Archive namespace. These are:\n | resultsheader = There are %TOTALPAGES% pages in the Archive namespace. These are:\n | ||
</DPL> | </DPL> | ||
-- | --> | ||
==NoIndexed pages== | ==NoIndexed pages== | ||
{{Input|1=<nowiki><DPL> | {{Input|1=<nowiki><DPL> | ||
Line 75: | Line 407: | ||
columns = 2 | columns = 2 | ||
format = ,\n* [[%PAGE%|%TITLE%]],, | format = ,\n* [[%PAGE%|%TITLE%]],, | ||
resultsheader = There are %TOTALPAGES% pages in the | resultsheader = There are %TOTALPAGES% pages in the Noindexed_pages category. These are:\n | ||
</DPL></nowiki>}} | </DPL></nowiki>}} | ||
<!-- | |||
<DPL> | <DPL> | ||
titlematch = % | titlematch = % | ||
Line 83: | Line 416: | ||
columns = 2 | columns = 2 | ||
format = ,\n* [[%PAGE%|%TITLE%]],, | format = ,\n* [[%PAGE%|%TITLE%]],, | ||
resultsheader = There are %TOTALPAGES% pages in the | resultsheader = There are %TOTALPAGES% pages in the Noindexed_pages category. These are:\n | ||
</DPL> | </DPL> | ||
--> | |||
==Ignoring Deleted Pages== | ==Ignoring Deleted Pages== | ||
Line 96: | Line 428: | ||
{{Input|1=<nowiki><DPL> | {{Input|1=<nowiki><DPL> | ||
titleregexp = .*(([ _][(][a-z][a-z](...)?[)]))$ | |||
notcategory = Template | notcategory = Template | ||
notnamespace = Thread | notnamespace = Thread | ||
Line 105: | Line 437: | ||
</DPL></nowiki>}} | </DPL></nowiki>}} | ||
<!-- | |||
<DPL> | <DPL> | ||
titleregexp = .*(([ _][(][a-z][a-z](...)?[)]))$ | |||
notcategory = Template | notcategory = Template | ||
notnamespace = Thread | notnamespace = Thread | ||
Line 114: | Line 447: | ||
resultsheader = There are %TOTALPAGES% pages (partly) remaining in old-style translations. These are:\n | resultsheader = There are %TOTALPAGES% pages (partly) remaining in old-style translations. These are:\n | ||
</DPL> | </DPL> | ||
--> | |||
==Pages with old i18n bar== | ==Pages with old i18n bar== | ||
Line 119: | Line 453: | ||
{{Input|1=<nowiki><DPL> | {{Input|1=<nowiki><DPL> | ||
titlematch = % | titlematch = % | ||
namespace = | namespace = | ||
uses = Template:I18n/Language Navigation Bar | uses = Template:I18n/Language Navigation Bar | ||
columns = 3 | columns = 3 | ||
Line 126: | Line 460: | ||
</DPL></nowiki>}} | </DPL></nowiki>}} | ||
<!-- | |||
<DPL> | <DPL> | ||
titlematch = % | titlematch = % | ||
namespace = | namespace = | ||
uses = Template:I18n/Language Navigation Bar | uses = Template:I18n/Language Navigation Bar | ||
columns = 3 | columns = 3 | ||
Line 134: | Line 469: | ||
resultsheader = There are %TOTALPAGES% pages that still display the old i18n language bar\n | resultsheader = There are %TOTALPAGES% pages that still display the old i18n language bar\n | ||
</DPL> | </DPL> | ||
--> | |||
==Pages with old i18n bar but w/o old-way-translated ones== | ==Pages with old i18n bar but w/o old-way-translated ones== | ||
{{Input|1=<nowiki><DPL> | {{Input|1=<nowiki><DPL> | ||
nottitlematch = %_(%) | nottitlematch = %_(%) | ||
namespace = | namespace = | ||
uses = Template:I18n/Language Navigation Bar | uses = Template:I18n/Language Navigation Bar | ||
columns = 3 | columns = 3 | ||
Line 146: | Line 481: | ||
</DPL></nowiki>}} | </DPL></nowiki>}} | ||
<!-- | |||
<DPL> | <DPL> | ||
nottitlematch = %_(%) | nottitlematch = %_(%) | ||
namespace = | namespace = | ||
uses = Template:I18n/Language Navigation Bar | uses = Template:I18n/Language Navigation Bar | ||
columns = 3 | columns = 3 | ||
Line 154: | Line 490: | ||
resultsheader = There are %TOTALPAGES% relevant pages that still display the old i18n language bar\n | resultsheader = There are %TOTALPAGES% relevant pages that still display the old i18n language bar\n | ||
</DPL> | </DPL> | ||
--> | |||
==Pages not updated since 1st July 2010== | ==Pages not updated since 1st July 2010== | ||
{{Input|1=<nowiki><DPL> | {{Input|1=<nowiki><DPL> | ||
namespace = | namespace = | ||
lastrevisionbefore = 201007010000 | lastrevisionbefore = 201007010000 | ||
columns = 2 | columns = 2 | ||
Line 166: | Line 503: | ||
</DPL></nowiki>}} | </DPL></nowiki>}} | ||
<!-- | |||
<DPL> | <DPL> | ||
namespace = | namespace = | ||
lastrevisionbefore = 201007010000 | lastrevisionbefore = 201007010000 | ||
columns = 2 | columns = 2 | ||
Line 174: | Line 512: | ||
resultsheader = There are %TOTALPAGES% pages without recent updates\n | resultsheader = There are %TOTALPAGES% pages without recent updates\n | ||
</DPL> | </DPL> | ||
--> | |||
== Listing Non-Translation Pages == | == Listing Non-Translation Pages == | ||
{{Input|1=<nowiki><DPL> | {{Input|1=<nowiki><DPL> | ||
nottitleregexp = .*((/[a-z][a-z](.|-..)?)|([ _][(][a-z][a-z](...)?[)]))$ | |||
titlematch = Amarok% | titlematch = Amarok% | ||
namespace = | namespace = | ||
columns = 1 | columns = 1 | ||
format = ,\n* [[%PAGE%|%TITLE%]],, | format = ,\n* [[%PAGE%|%TITLE%]],, | ||
Line 185: | Line 524: | ||
</DPL></nowiki>}} | </DPL></nowiki>}} | ||
<!-- | |||
<DPL> | <DPL> | ||
nottitleregexp = .*((/[a-z][a-z](.|-..)?)|([ _][(][a-z][a-z](...)?[)]))$ | |||
titlematch = Amarok% | titlematch = Amarok% | ||
namespace = | namespace = | ||
columns = | columns = 1 | ||
format = ,\n* [[%PAGE%|%TITLE%]],, | format = ,\n* [[%PAGE%|%TITLE%]],, | ||
resultsheader = There are %TOTALPAGES% Amarok pages, not counting translations\n | resultsheader = There are %TOTALPAGES% Amarok pages, not counting translations\n | ||
</DPL> | </DPL> | ||
--> | |||
== List all pages in a specific namespace == | == List all pages in a specific namespace == | ||
{{Input|1=<nowiki><DPL> | {{Input|1=<nowiki><DPL> | ||
nottitleregexp = .*((/[a-z][a-z](.|-..)?)|([ _][(][a-z][a-z](...)?[)]))$ | |||
namespace = MediaWiki | namespace = MediaWiki | ||
columns = 3 | columns = 3 | ||
Line 204: | Line 545: | ||
</DPL></nowiki>}} | </DPL></nowiki>}} | ||
<!-- | |||
<DPL> | <DPL> | ||
nottitleregexp = .*((/[a-z][a-z](.|-..)?)|([ _][(][a-z][a-z](...)?[)]))$ | |||
namespace = MediaWiki | namespace = MediaWiki | ||
columns = 3 | columns = 3 | ||
Line 211: | Line 553: | ||
resultsheader = These %TOTALPAGES% pages are in the Mediawiki namespace\n | resultsheader = These %TOTALPAGES% pages are in the Mediawiki namespace\n | ||
</DPL> | </DPL> | ||
--> | |||
==To count translated pages in a specific language:== | |||
{{Input|1=<nowiki><DPL> | |||
titleregexp = ^[A-J].*/en | |||
notnamespace = Translations | |||
columns = 3 | |||
format = ,\n* [[%PAGE%|%TITLE%]],, | |||
resultsheader = There are %TOTALPAGES% pages (partly) translated to English. These are:\n | |||
</DPL> | |||
... | |||
</nowiki>}} | |||
<!-- | |||
<DPL> | |||
titleregexp = ^[A-J].*/en | |||
notnamespace = Translations | |||
columns = 3 | |||
format = ,\n* [[%PAGE%|%TITLE%]],, | |||
resultsheader = There are %TOTALPAGES% pages beginning with A-J (partly) translated to English. These are:\n | |||
</DPL> | |||
<DPL> | |||
titleregexp = ^K[A-Z].*/en | |||
notnamespace = Translations | |||
columns = 3 | |||
format = ,\n* [[%PAGE%|%TITLE%]],, | |||
resultsheader = There are %TOTALPAGES% pages beginning with KA-KZ (partly) translated to English. These are:\n | |||
</DPL> | |||
<DPL> | |||
titleregexp = ^K[a-z].*/en | |||
notnamespace = Translations | |||
columns = 3 | |||
format = ,\n* [[%PAGE%|%TITLE%]],, | |||
resultsheader = There are %TOTALPAGES% pages beginning with Ka-Kz (partly) translated to English. These are:\n | |||
</DPL> | |||
<DPL> | |||
titleregexp = ^[L-Z].*/en | |||
notnamespace = Translations | |||
columns = 3 | |||
format = ,\n* [[%PAGE%|%TITLE%]],, | |||
resultsheader = There are %TOTALPAGES% pages beginning with L-Z (partly) translated to English. These are:\n | |||
</DPL> | |||
--> |
Latest revision as of 07:55, 3 November 2018
- Reference: DPL Manual
- See also Pipesmoker's notes and this page of examples
- Example UI on this Template:Catlist page
- Search on this page
All the examples on this page have been commented out to prevent the page from being very slow to load. If you want to see the outcome of a search example, just edit the page and remove the comment tags around the desired example. You don't need to save the page, a preview will give you the search results; that way you can experiment with the examples and easily restore the page to its original state when you are done.
Searching for pages containing a certain text string
Text without wiki markup
Enter {{Search|text}}
anywhere to get the search results in the form of links. Here text can be plain text or a perl like regexp. Be careful to escape regexp meta characters. If the searched text contain wiki markup this template may nor give the desired results; see the next section.
The Search template searches only the main namespace, and only original English pages.
Example: To find all English pages containing the word 'application' - possibly capitalized enter this:
{{Search|[Aa]pplication}}
Translated text
Enter {{SearchLang|text|lang}}
anywhere to get the search results in the form of links. Here text can be plain text or a perl like regexp and lang is a language code. Be careful to escape regexp meta characters. If the searched text contain wiki markup this template may nor give the desired results; see the next section.
Example: To find all Danish pages containing the word 'program' - possibly capitalized enter this:
{{SearchLang|[Pp]rogram|da}}
Pages linking to a given page
Use {{LinksTo|full page name}}
. The full page name must be the entire wiki link up to (but not including) one of the characters '|', ']' or '#' and excluding Special:myLanguage. Note, that space characters in names are sometimes entered as '_', so in searches you should enter [ _]
for spaces.
Example: To find all pages linking to Getting Help enter
{{LinksTo|Getting[ _]Help}}
Text containing wiki markup
In case the Search template does not work for you use code like this to accomplish your desired result:
<DPL> namespace = nottitleregexp = .*((/[a-z][a-z](.|-..)?)|([ _][(][a-z][a-z](...)?[)]))$ titleregexp = ^[A-J] include = * includematch = @\{\{Remember\|@ includemaxlength = 0 format = ,\n* [[%PAGE%|%TITLE%]],, resultsheader = There are %TOTALPAGES% pages beginning with A-J\n </DPL> <DPL> namespace = nottitleregexp = .*((/[a-z][a-z](.|-..)?)|([ _][(][a-z][a-z](...)?[)]))$ titleregexp = ^K[A-Z] include = * includematch = @\{\{Remember\|@ includemaxlength = 0 format = ,\n* [[%PAGE%|%TITLE%]],, resultsheader = There are %TOTALPAGES% pages beginning with KA-KZ\n </DPL> <DPL> namespace = nottitleregexp = .*((/[a-z][a-z](.|-..)?)|([ _][(][a-z][a-z](...)?[)]))$ titleregexp = ^K[a-ce-z] include = * includematch = @\{\{Remember\|@ includemaxlength = 0 format = ,\n* [[%PAGE%|%TITLE%]],, resultsheader = There are %TOTALPAGES% pages beginning with Ka-Kz but not Kd\n </DPL> <DPL> namespace = nottitleregexp = .*((/[a-z][a-z](.|-..)?)|([ _][(][a-z][a-z](...)?[)]))$ titleregexp = ^Kd include = * includematch = @\{\{Remember\|@ includemaxlength = 0 format = ,\n* [[%PAGE%|%TITLE%]],, resultsheader = There are %TOTALPAGES% pages beginning with Kd\n </DPL> <DPL> namespace = nottitleregexp = .*((/[a-z][a-z](.|-..)?)|([ _][(][a-z][a-z](...)?[)]))$ titleregexp = ^[L-Z] include = * includematch = @\{\{Remember\|@ includemaxlength = 0 format = ,\n* [[%PAGE%|%TITLE%]],, resultsheader = There are %TOTALPAGES% pages beginning with L-Z\n </DPL>
Normally, you'd want to copy all of this into your page and modify the includematch
lines to the pattern you want to search for. Note the two @
-characters; they mark the beginning and end of the actual search pattern. You can use any character instead of @
as long as it does not appear in the actual pattern.
If you want to search other namespaces than Main, just change that line. If you want to search the Main namespace and one or more other namespaces use namespace = | Other
. The enpty string before the '|' means Main — never write Main
; that no longer works. Other
can be one or more other namespaces separated by '|' characters.
The nottitleregexp
lines filters out all translated pages including lingering old style translations and should not be touched. The titlematch
lines are needed to split up the search into manageable chunks. There is a maximum of pages that can be handled by the includematch
search; if too many pages pass through the title filters the first ones up to the maximum number will be searched; the rest will be silently ignored! Currently, the maximum seems to be somewhat more than 500. The include
and includemaxlength
should never be modified.
Finding all pages not yet marked for translation
<DPL> namespace = nottitleregexp = .*((/[a-z][a-z](.|-..)?)|([ _][(][a-z][a-z](...)?[)]))$ titleregexp = ^[A-J] include = * includenotmatch = #<languages[ ]?/># includemaxlength = 0 format = ,\n* [[%PAGE%|%TITLE%]],, resultsheader = There are %TOTALPAGES% pages beginning with A-J\n </DPL> ...
Find all templates using a given template
<DPL> namespace = Template include = * includematch = /{{Icon/ includemaxlength = 0 format = ,\n* [[%PAGE%|%TITLE%]],, resultsheader = There are %TOTALPAGES% templates using the Icon template\n </DPL>
Find discussion threads contributed by a user
Perhaps more talk namespaces needs to be searched.
<DPL> namespace = Talk | Thread createdby = AmirHP </DPL>
All English manual pages
<DPL> titlematch = %/Manual% nottitleregexp = .*((/[a-z][a-z](.|-..)?)|([ _][(][a-z][a-z](...)?[)]))$ namespace = | User | Draft resultsheader = Manual Pages: format = ,\n* [[%PAGE%|%TITLE%]]\n,, </DPL>
All English pages linking to a given page
{{LinksTo|Plasma/Panels}}
Kopete Subpages in 3 columns
<DPL> titlematch = Kopete/% notnamespace = Translations columns = 3 format = ,\n* [[%PAGE%|%TITLE%]],, </DPL>
Akonadi Subpages in Danish
<DPL> titlematch = Akonadi%/da notnamespace = Translations format = ,\n* [[%PAGE%|%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>
NoIndexed pages
<DPL> titlematch = % category = Noindexed_pages columns = 2 format = ,\n* [[%PAGE%|%TITLE%]],, resultsheader = There are %TOTALPAGES% pages in the Noindexed_pages category. 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> titleregexp = .*(([ _][(][a-z][a-z](...)?[)]))$ 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>
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>
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>
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>
Listing Non-Translation Pages
<DPL> nottitleregexp = .*((/[a-z][a-z](.|-..)?)|([ _][(][a-z][a-z](...)?[)]))$ titlematch = Amarok% namespace = columns = 1 format = ,\n* [[%PAGE%|%TITLE%]],, resultsheader = There are %TOTALPAGES% Amarok pages, not counting translations\n </DPL>
List all pages in a specific namespace
<DPL> nottitleregexp = .*((/[a-z][a-z](.|-..)?)|([ _][(][a-z][a-z](...)?[)]))$ namespace = MediaWiki columns = 3 format = ,\n* [[%PAGE%|%TITLE%]],, resultsheader = These %TOTALPAGES% pages are in the Mediawiki namespace\n </DPL>
To count translated pages in a specific language:
<DPL> titleregexp = ^[A-J].*/en notnamespace = Translations columns = 3 format = ,\n* [[%PAGE%|%TITLE%]],, resultsheader = There are %TOTALPAGES% pages (partly) translated to English. These are:\n </DPL> ...