universal-omega/dynamic-page-list3

DynamicPageList3 扩展允许根据文章的类别、命名空间、标题、引用或模板使用情况创建其他文章的列表,并将这些文章的模板调用内容或参数包含到您的页面中。

资助包维护!
Universal-Omega

安装次数: 1,032

依赖关系: 0

建议者: 0

安全: 0

星标: 18

关注者: 3

分支: 22

开放问题: 33

类型:mediawiki-extension


README

DynamicPageList3 扩展是 MediaWiki 的一个报告工具,列出了类别的成员以及与各种格式和详细信息的交叉。有关完整文档,请参阅 手册

使用一组基本的筛选参数调用时,DPL3 将显示一个或多个类别中的页面列表。选择也可以基于作者、命名空间、日期、名称模式、模板使用或对其他文章的引用等因素。输出有多种形式,其中一些包含了所选文章的元素。

此扩展通过解析函数 {{#dpl: .... }} 或解析标签 <DPL> 调用。可以通过 <DynamicPageList> 调用与 Wikimedia 兼容的某些功能的实现。

复杂的查找可能导致计算量大的数据库查询。然而,默认情况下,所有输出都将缓存一小时,以减少在每次页面加载时重新运行查询的需求。有关可以使用以禁用缓存并允许即时更新的参数的信息,请参阅 DPL:Parameters: 其他参数 手册页面。

安装

请参阅 发行版页面 了解最新版本。

配置

这些是 DPL3 的配置设置及其默认值。要更改它们,确保在将扩展包含到维基上之前定义它们。更多配置信息可在 MediaWiki 扩展页面 上找到。

注意:在版本 3.0.4 中,配置变量名称已从 $dplSettings 更改为 $wgDplSettings。这是为了便于与 Mediawiki 1.25 的扩展注册更改兼容。

DPL3 会自动尊重全局变量 $wgNonincludableNamespaces。它将防止列出命名空间的内容出现在 DPL3 的输出中。

注意:$wgDplSettings['maxResultCount'] 是 SQL 查询本身的 LIMIT。一些 DPL3 查询参数(如 includematch)是在 SQL 查询 之后 应用的,因此这里的结果可能容易产生误导。

功能丰富性

DynamicPageList3 有许多功能,这些功能基于最大功能丰富性级别解锁。其中一些可能会引起高 CPU 或数据库负载,因此应谨慎使用。

  • $wgDplSettings['functionalRichness'] = 0 等同于维基媒体百科的 动态页面列表(DynamicPageList)
  • $wgDplSettings['functionalRichness'] = 1 添加额外的格式化参数
  • $wgDplSettings['functionalRichness'] = 2 为模板和页面链接添加性能等效的功能
  • $wgDplSettings['functionalRichness'] = 3 允许更昂贵的页面包含功能和正则表达式查询
  • $wgDplSettings['functionalRichness'] = 4 允许奇特且可能危险的批量更新和删除操作;不建议用于公共网站。包括用于测试和开发的调试参数。

用法

扩展 DPL3 功能

通过使用解析器函数 {{#dpl: .... }} 或解析器扩展标签 <DPL> .... </DPL> 调用扩展 DPL3。

参见 手册 - 通用用法和调用语法DPL:参数 - 页面选择标准

向后兼容性

与维基媒体百科 DPL 扩展(Intersection)兼容的功能可以通过 <DynamicPageList> .... </DynamicPageList> 调用。更多信息可以在 兼容性手册页 上找到。

使用哲学和概述

假设有一些关于 国家 的文章,这些文章通常有三个共同点

  • 它们将属于一个共同类别
  • 它们将具有相似的章节结构,即它们将包含名为 '宗教' 或 '历史' 的段落
  • 它们将使用一个模板,用于以优雅的方式呈现高度结构化的简短数据项(例如,'首都'、'居民' 等)

基于 国家 生成报告

如果有必要汇编一份关于哪些国家实践某种宗教的报告,这可以很容易地通过 类别链接到 参数来完成。

{{#dpl:
category=countries
|linksto=Pastafarianism
}}

使用 DPL3 可以

  • 生成所有这些文章的列表(或随机样本)
  • 显示文章的元数据(受欢迎程度、最后更新日期等)
  • 显示文章的一个或多个章节('转译' 内容)
  • 显示传递给公共模板的参数值
  • 适当地排序文章
  • 以可排序表格(例如)的形式呈现结果
  • 生成多列输出

需要哪些步骤?

找到您想要列出的文章

  • 通过类别(AND、OR、NOT)的逻辑组合进行选择
  • 指定文章必须分配到的类别数量的范围
  • 通过命名空间(AND、OR、NOT)的逻辑组合进行选择
  • 定义必须匹配文章名称的图案
  • 指定文章必须或必须不链接到的页面
  • 指定文章必须或必须不使用的模板
  • 指定必须出现在页面外部链接中的文本模式
  • 排除或包含重定向
  • 将搜索限制为稳定页面或质量页面("标记修订")
  • 使用其他选择标准,如作者、最后更改日期等
  • 定义用于匹配您想要包含的页面内容的正则表达式

根据以下内容对文章结果列表进行排序

  • 文章名称
  • 文章大小
  • 最后更改日期
  • 最后编辑用户

定义您想要看到的属性

  • 文章名称
  • 文章命名空间
  • 文章大小
  • 最后更改日期
  • 最后访问日期
  • 最后编辑用户

定义您想要显示的内容

  • 全文
  • 某些部分的正文(由标题标识)
  • 文本部分(由文章中的特殊标记标签定义)
  • 模板调用值
  • 使用自定义模板来显示输出

定义输出格式

  • 指定默认输出的页眉和页脚
  • 使用有序列表或无序列表
  • 使用表格
  • 通过将模板应用于内容,单独格式化表格字段
  • 使用类别样式列表
  • 截断标题或内容到最大长度
  • 在文章或其某个或多个部分中添加链接

注意事项

性能

DPL3的代码执行和数据库访问对于典型类别和文章查找通常很快。然而,使用松散的LIKE和REGEXP匹配参数和/或请求大量数据集可能会导致数据库访问时间变长。还应考虑解析时间。例如,将图像结果的查询放入显示它们的模板中,将导致每个媒体转换的解析媒体转换。这可能会迅速消耗每个媒体转换约2MB的RAM。

另请参阅

进一步阅读

DPL3的功能远不止我们在这里所能解释的。一个完整的手册提供了完整的参数文档。