擴充功能:TextExtracts
![]() | 此扩展由阅读网络团队维护。 |
![]() | 对于在生产环境中获取摘要,维基媒体基金会推荐并使用Page Content Service。 |
![]() 發布狀態: 穩定版本 |
|
---|---|
实现 | API |
描述 | |
作者 | Max Semenik (MaxSem讨论) |
兼容性政策 | 快照跟随MediaWiki发布。 master分支不向後兼容。 |
MediaWiki | >= 1.36.0 |
数据庫更改 | 否 |
许可协议 | GNU通用公眾授權條款2.0或更新版本 |
下載 | |
|
|
翻譯TextExtracts扩展,若在translatewiki.net可用 | |
問題 | 尚未完成的工作 · 报告錯誤 |
TextExtracts扩展提供API来提取纯文本或有限HTML(HTML中的一些CSS样式被删除)的页面内容提取。
下载
此扩展可直接从Git检索到 [?]:
- 浏览代码
- 部分扩展有稳定版本标签。
- 浏览标签
- 选择标签
- 点击“快照”
- 每个分支与过去的MediaWiki发布版本相关联。 这里也有一个“主线”分支,包含最新alpha版本(可能需要MediaWiki的alpha版本)。
- 浏览分支
- 选择一个分支名称
- 点击“继续”
提取快照,并将它放置在您的MediaWiki安装副本的extensions/TextExtracts/目录中。
如果您对git熟悉,并且拥有您服务器的shell访问权,您也可以通过以下方法获得扩展:
cd extensions/
git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/TextExtracts.git
安裝
- 下载文件,并将其放置在您
extensions/
文件夹中的TextExtracts
目录内。 - 将下列代码放置在您的LocalSettings.php的底部:
wfLoadExtension( 'TextExtracts' );
完成 – 在您的wiki上导航至Special:Version,以验证已成功安装扩展。
致使用MediaWiki 1.26或更早版本的用户:
上面的说明介绍的是安装此扩展的新方法,它使用wfLoadExtension()
。
如果您需要在早期版本(MediaWiki 1.26和更早版本)中安装此扩展,而不是wfLoadExtension( 'TextExtracts' );
,您需要使用:
require_once "$IP/extensions/TextExtracts/TextExtracts.php";
配置设置
$wgExtractsRemoveClasses
是<tag>、<tag>.class、.<class>和#<id>的集合,会在提取时被排除。
- 例如,
$wgExtractsRemoveClasses[] = 'dl';
删除缩进的文本,通常用于摘要中不需要的非模板化的备忘。 - extension.json定义了默认值,其中“noexcerpt”类是默认值-可以将其添加到任何模板中以将其排除
- 例如,
$wgExtractsExtendOpenSearchXml
定义TextExtracts是否应将其摘录提供给Opensearch API模块。默认值为“false
”
API
extracts | |
---|---|
返回指定页面的纯文本或有限HTML提取 此模块不能用作generator。 | |
前缀 | ex |
需要的权限 | 无 |
仅限Post? | 否 |
产生帮助 | 当前 |
![]() | 以下文档是Special:ApiHelp/query+extracts的输出,由该网站(MediaWiki.org)运行的MediaWiki的预发行版本自动生成。 |
prop=extracts (ex)
- This module requires read rights.
- Source: TextExtracts
- License: GPL-2.0-or-later
Returns plain-text or limited HTML extracts of the given pages.
- exchars
How many characters to return. Actual text returned might be slightly longer.
- Type: integer
- The value must be between 1 and 1,200.
- exsentences
How many sentences to return.
- Type: integer
- The value must be between 1 and 10.
- exlimit
How many extracts to return. (Multiple extracts can only be returned if exintro is set to true.)
- Type: integer or max
- The value must be between 1 and 20.
- Default: 20
- exintro
Return only content before the first section.
- Type: boolean (details)
- explaintext
Return extracts as plain text instead of limited HTML.
- Type: boolean (details)
- exsectionformat
How to format sections in plaintext mode:
- plain
- No formatting.
- wiki
- Wikitext-style formatting (== like this ==).
- raw
- This module's internal representation (section titles prefixed with <ASCII 1><ASCII 2><section level><ASCII 2><ASCII 1>).
- One of the following values: plain, raw, wiki
- Default: wiki
- excontinue
When more results are available, use this to continue.
- Type: integer
- Get a 175-character extract
- api.php?action=query&prop=extracts&exchars=175&titles=Therion [open in sandbox]
另一个例子
结果 |
---|
{
"query": {
"pages": {
"9228": {
"pageid": 9228,
"ns": 0,
"title": "Earth",
"extract": "Earth, also called the world and, less frequently, Gaia, (or Terra in some works of science fiction)..."
}
}
}
}
|
注意事项
使用API时,需要注意一些事项
- 我们不推荐使用`exsentences`。 它不适用于HTML提取,并且在很多情况下都不存在。 例如,“Arm. gen. Ing. John Smith was a soldier.”(约翰·史密斯陆军上将是一名士兵。)将被视为4个句子。 我们也没有计划修复这一问题。
- 行内图片会在响应中被移除(即使在HTML模式下也是如此)。这意味着,如果您正在使用Math扩展并在首段中使用公式,它们可能不会出现在摘要输出中。
- 在HTML模式下,我们不能保证HTML格式是良好的。HTML结果可能是无效的或者存在格式错误。
- 在纯文本格式下:
- 引用可能不会被移除(参见phab:T197266)。
- 如果一个段落以HTML标签结尾(例如ref标签),新行将会被移除(参见phab:T201946)。
- 列表后的新行可能被移除(参见phab:T208132)。
常见问题
如何从页面预览中移除内容?
TextExtracts将删除所有带有noexcerpt类标记的元素。 这是由全局wgExtractsRemoveClasses提供的。
参见
![]() | 此扩展用于一个或多个维基媒体项目。 这可能意味着扩展足够稳定、运作足够良好,可以用在这样的高流量的网站上。 请在维基媒体的CommonSettings.php和InitialiseSettings.php配置文件中查找此扩展的名称以查看哪些网站安装了该扩展。 特定wiki上的已安装的扩展的完整列表位于Special:Version页面。 |
![]() | This extension is included in the following packages and/or wiki farms: |