Tools 是非官方社区Wiki。社区文档正在编写中,欢迎参与。 Wiki编辑答疑群:717421103
版本250722.2
全站通知:

帮助:解析函数/dpl

来自WIKI实验室WIKI_BWIKI_哔哩哔哩
跳到导航 跳到搜索

dpl是一个解析函数。帮助:解析函数页列出了所有解析函数的说明。

dpl

展示指定页面的信息,包括页面长度、生成时间甚至模板参数。出自扩展 DynamicPageList3

多数情况下,其功能可以由SMW和LST扩展配合模板实现。此外,DPL官方文档阅读难度不低,Bwiki使用较早版本与新版本特性略有不同,因此不推荐优先使用DPL。

主要特性:

  • 支持多样的页面筛选方式,如类别(支持正则)、命名空间、链接、模板使用、标题、内容、修订日期、重定向等等。
  • 支持输出页面元数据(如:类别、大小、缓存日期和页面ID等等)、页面内容(章节、解析函数/标签的调用、模板参数等等)
  • 支持灵活的的输出格式和排序

文档:

语法

{{#dpl: 筛选页面 | 输出格式和控制 | 其他选项}}

如:{{#dpl:namespace=帮助|titlematch=解析%|mode=ordered|count=2}}
  1. 帮助:解析函数/uc
  2. 帮助:解析函数/autoedit

主要参数:

筛选页面
按类别:category、categorymatch、categoryregexp、notcategory、notcategorymatch、notcategoryregexp、categoriesminmax
按空间:namespace、notnamespace
按链接:linksfrom、notlinksfrom、linksto、notlinksto、linkstoexternal、imageused、imagecontainer
按模板:uses、notuses、usedby
按标题:title、titlematch、titleregexp、titlelt、titlegt、nottitlematch、nottitleregexp
按内容:includematch、includematchparsed、includenotmatch、includenotmatchparsed
按版本:lastrevisionbefore、firstrevisionsince、allrevisionsbefore、allrevisionssince、maxrevisions、minrevisions
按用户:(在bwiki无效)
……
其中,带match的指使用%匹配,如%wi%。带regexp指使用正则表达式。
输出
count 限制输出数量
offset 从中间指定位置开始输出
ordermethod 指定排序方式,如:size、pagetouched、pagesel、title、titlewithoutnamespace、sortkey......可以组合使用,以逗号隔开
order 排序方向 descending或ascending
mode 指定输出模式,如:unordered、ordered、none、inline、category和userformat。其中userformat是完全自定义,更灵活但是很复杂
format 完全自定义输出格式(隐式定义mode=userformat),格式:format=Startall,Start,End,Endall (见示例)。可指定占位符输出数据如页面名、大小、各类日期等,详情见示例和官方文档
include 为输出增加指定数据,如页面章节(如#章节名,##.*regexp.*)、模板参数({模板名}:参数)等等,多个值用逗号隔开。由于篇幅过大,详见官方文档的输出内容部分
secseparators 为include的数据指定前后附加内容。格式:Start1,End1,Start2,End2,...... (见示例)
……

dpl支持数十个参数,请参阅官方文档了解所有细节

示例

帮助空间的两个页面

{{#dpl:
|namespace = 帮助
|ordermethod=title
|count=2
}}

帮助空间的两个标题匹配解析函数/a%模式页面,手动指定以列表形式显示

Startall

Endall

{{#dpl:
|namespace = 帮助
|titlematch = 解析函数/a%
|format= Startall\n,* Start [[%PAGE%|%TITLE%]], End\n, \nEndall
|ordermethod=title
|count=2
}}

其中:

  • format的参数是format=Startall,Start,End,Endall
  • titlematch支持用%匹配页面(类似SQL中的like)
  • %PAGE% 和 %TITLE% 分别代表完整页面名,和页面标题(不带命名空间)


更复杂的页面筛选、格式和属性,包括页面缓存时间、页面大小、模板E的参数1。 开始

结束

{{#dpl:
|addpagetoucheddate= true
|addpagesize = true
|namespace = 帮助
|titlematch = 解析函数/a%
|uses = Template:E
|include  = {E}:1
|secseparators=<code>,</code> ,
|format=开始\n,* 缓存=%DATE% - 大小=%SIZE% - [[%PAGE%|%TITLE%]]%PAGEID% - ,\n,\n结束
|ordermethod=pagetouched
|order= descending
|count=2
}}

其中:

  • addpagetoucheddate、addpagesize 指定查询页面缓存日期和页面大小,可以在结果中用%DATE%和%SIZE%作为占位符(同时只能查询一种日期,所有的日期都用%SIZE%占位)
  • uses 筛选使用模板E的页面。结合上边的条件,就是筛选帮助空间、名字匹配解析函数/a%且使用了模板E的页面。
  • include 指定包含多个输出项,可以是页面章节、解析函数使用、模板参数或者LST标记的section
  • secseparators 附加到多个include项的起止位置,其格式是:sec-1-start, sec-1-end, sec-2-start, sec-2-end, ...
  • format %PAGEID%代表页面ID(curid)
  • ordermethod pagetouched代表按照页面缓存日期排序


DPL支持复杂格式的自定义,如表格、多列列表等等。当然用SMW+模板可以更灵活、有效的实现。此处仅为展示DPL能力:

{{#dpl:
|addpagetoucheddate= true
|addpagesize = true
|namespace = 帮助
|titlematch = 解析函数/a%
|uses = Template:E
|include  = {E}:1,{E}
|secseparators=,,</div><div class="line"><div>,</div>
|format=,<div class="flex-info-card"><div class="line">\n[[%PAGE%|%TITLE%]]\n</div><div class="line">\n缓存 \n%DATE%\n</div><div class="line">\n出自扩展 , \n</div><div class="line">\ncurid %PAGEID%\n\n大小 %SIZE%\n</div></div>,\n
|userdateformat=Y-m-d H:i:s
|ordermethod=pagetouched
|order= desc
|count=5
}}
备注:页面中使用了#css定制样式

缓存 2025-08-29 16:14:11

出自扩展 SMW
出自扩展 Semantic MediaWiki SMW功能强大,应用广泛。<br>如需单页内大量调用,请考虑使用模板、模块批量查询,这能提升综合体验、降低资源消耗。<br>另请参阅灰机、Fandom的相关文档,他们详述了对SMW的顾虑和限制。

curid 3661

大小 86358

缓存 2025-08-29 16:13:43

出自扩展 Page Forms
出自扩展 Page Forms

curid 2486

大小 569

缓存 2025-08-29 16:13:43

出自扩展 Arrays
出自扩展 Arrays BWIKI和各大Wiki平台广泛使用此扩展。<br>在遥远的未来,它可能与Mediawiki新的并行解析器不兼容,请参阅扩展主页了解更多信息。

curid 2483

大小 6725

缓存 2025-08-29 16:13:43

出自扩展 Arrays
出自扩展 Arrays BWIKI和各大Wiki平台广泛使用此扩展。<br>在遥远的未来,它可能与Mediawiki新的并行解析器不兼容,请参阅扩展主页了解更多信息。

curid 2484

大小 6135

缓存 2025-08-29 16:13:43

出自扩展 Arrays
出自扩展 Arrays BWIKI和各大Wiki平台广泛使用此扩展。<br>在遥远的未来,它可能与Mediawiki新的并行解析器不兼容,请参阅扩展主页了解更多信息。

curid 2485

大小 2982

等价HTML见源码

缓存: 2024-12-20 14:47:29

出自扩展 123456789

E模板渲染结果

curid 123456

大小 123456

实际用例

一些Wiki使用了相关特性,如下所示这个静态列表可能在下列页面更改后过时仅供批判性参考
战双帕弥什 - zspms

恋与深空 - lysk

战争雷霆 - warthunder

QQ飞车手游 - qqspeed

深空之眼 - dhmmr

缺氧 - oni

Unturned - unturned

火湖 - sulfur

我的世界地下城 - mcd

开普勒斯 - keplerth

Marvel Snap - marvelsnap

Terraria Wiki - tr

幸福工厂 - satisfactory

魔女兵器 - mnbq

水蓝魔力 - bluecg

桌游 - tg