jeroen-de-dauw/mediawiki-github

此包已被废弃且不再维护。作者建议使用 jeroen/mediawiki-github 包。

一个简单的 MediaWiki 扩展,用于在维基页面上嵌入 GitHub 托管的 内容。支持 Markdown 渲染和语法高亮。

资助包维护!
JeroenDeDauw

安装: 220

依赖者: 0

建议者: 0

安全: 0

星级: 26

关注者: 6

分叉: 15

开放问题: 10

类型:mediawiki-extension

1.6.0 2020-02-21 00:58 UTC

This package is auto-updated.

Last update: 2022-05-02 15:12:04 UTC


README

如果您只需要 Markdown 渲染,请使用 External Content 扩展

一个简单的 MediaWiki 扩展,用于嵌入存储在 GitHub git 仓库中的文件内容。它支持 Markdown 渲染、语法高亮和缓存。

构建状态: Build Status Code Coverage Scrutinizer Quality Score

在 Packagist 上: Latest Stable Version Latest Stable Version

专业的支持和定制开发可通过 Professional.Wiki 提供。

要求

安装

安装 GitHub 扩展的推荐方式是使用 Composer,利用 MediaWiki 1.22 内置的 Composer 支持

在您的 MediaWiki 根目录中,您可以执行以下两个命令

COMPOSER=composer.local.json composer require --no-update jeroen/mediawiki-github "~1.4"
composer update jeroen/mediawiki-github --no-dev -o

有关通过 Composer 安装扩展的更多详细信息,请参阅 MediaWiki.org 的文档。

验证安装成功

转到 Special:Version 并查看是否列出了 GitHub。如果列出了,则表示您已成功安装!

配置

默认GitHub仓库可以通过$egGitHubDefaultRepo设置来配置。将默认仓库的名称分配给此设置,在包含此扩展之后修改LocalSettings文件,例如,对于Semantic MediaWiki,如下所示

$egGitHubDefaultRepo = 'SemanticMediaWiki/SemanticMediaWiki';

要限制可以从哪些仓库获取文件,请使用egGitHubRepositoryWhitelist设置。如果此列表为空(默认为空),则用户可以从他们指定的任何维基获取文件。这意味着他们可以包含可能有害的内容。扩展应该转义有害内容;此设置添加了一个额外的安全层。

仅允许来自单个仓库的文件

$egGitHubRepositoryWhitelist = [
    'SemanticMediaWiki/SemanticMediaWiki',
];

允许来自多个仓库的文件

$egGitHubRepositoryWhitelist = [
    'SemanticMediaWiki/SemanticMediaWiki',
    'JeroenDeDauw/GitHub',
    'JeroenDeDauw/Maps',
];

语法高亮

如果您想启用代码语法高亮,您需要启用并配置SyntaxHighlight扩展。

缓存

文件内容在PHP请求期间缓存在内存中。主MediaWiki缓存用作二级缓存,默认TTL为600秒。您可以使用$egGitHubCacheTime设置来更改TTL。

$egGitHubCacheTime = 900;

您可以修改使用的缓存方法。支持的方法有

  • 'full' - 使用内存和MediaWiki缓存
  • 'none' - 不执行任何缓存

默认是'full'。您可以通过以下方式更改此设置

$egGitHubCache = 'none';

网络

您可以修改用于获取文件的GitHub原始内容URL。默认为https://rawcdn.githack.com,因为https://raw.githubusercontent.com在所有系统上都不工作。您可以通过以下方式更改此设置

$egGitHubUrl = 'https://raw.githubusercontent.com';

您可以修改用于获取文件的方法。支持的方法有

  • 'mediawiki' - 使用MediaWikis HTTP类
  • 'simple' - 使用PHP的file_get_contents

默认是'mediawiki'。您可以通过以下方式更改此设置

$egGitHubFetcher = 'simple';

用法

{{#github:FileName}}添加到您的维基页面上,其中FileName是您要嵌入的文件名。这可以包括路径,例如{{#github:docs/INSTALL.md}}

您还可以指定仓库名和分支名:{{#github:FileName|user/repo|branchName}}

对于语法高亮,此扩展使用与SyntaxHighlight扩展相同的属性:lang, line, start, highlight, inline。这些可以按任意顺序使用属性名称指定。

{{#github:FileName|user/repo|branchName|lang=bash|line=1|start=1|highlight=1,5,4|inline=0}}

lang参数可以指定为第四个位置参数。

{{#github:FileName|user/repo|branchName|bash}}

当此功能启用时,默认的line=0,start=1,和inline=0。

发行说明

1.6.0 (2020-02-21)

  • 将默认GitHub原始内容URL更改为https://rawcdn.githack.com(感谢@lmn8)

1.5.0 (2019-04-09)

  • 将最低PHP版本更改为7.1
  • 更新依赖项以提高兼容性

1.4.2 (2017-09-28)

  • 修复了MediaWiki文件获取代码中的错误,并再次将其作为默认方法

1.4.1 (2017-07-01)

  • <pre> HTML标签不再从内容中删除

1.4.0 (2017-06-30)

  • 将扩展安装位置从vendor更改为MediaWiki扩展文件夹
  • 添加了$egGitHubCache设置,允许完全禁用缓存
  • 添加了失败的HTTP请求到GitHub的错误日志记录

1.3.0 (2017-06-09)

  • 放弃了对PHP < 7.0的支持
  • 添加了egGitHubRepositoryWhitelist设置
  • 在故障情况下使代码更健壮

1.2.0 (2017-04-17)

  • 添加了对使用MediaWiki包含的SyntaxHighlight扩展进行语法高亮的支持(由Shay Harding提供)

1.1.1 (2016-11-06)

  • 修复了由最近版本的MediaWiki上的失败的i18n注册引起的关键问题

1.1.0 (2016-07-11)

  • 放弃了对PHP < 5.5的支持
  • 修复了文件找不到的错误。在这种情况下,解析函数现在将返回一个空字符串。

1.0.3 (2016-07-10)

  • 修复了“特殊:版本”上的版本号。
  • 从 FileFetcher ~2.0 切换到 ~3.1。

1.0.2 (2015-01-20)

  • 添加了 $egGitHubFetcher 设置。
  • 现在默认使用 file_get_contents 而不是 MediaWiki 的 HTTP 类来获取文件。

1.0.1 (2015-01-19)

  • 不再支持 MediaWiki < 1.24。
  • 添加了 $egGitHubUrl 设置。
  • 将默认的 GitHub 原始内容 URL 从 https://raw.githubusercontent.com 更改为 https://cdn.rawgit.com(感谢 Mike Cariaso)。

1.0.0 (2015-01-19)

新功能

  • 添加了对 Markdown 的支持。现在以 .md 或 .markdown 结尾的文件将被适当渲染。
  • 添加了 $egGitHubCacheTime 设置。

兼容性更改

  • 现在需要通过 Composer 安装扩展。
  • 包名已从 jeroen-de-dauw/mediawiki-github 更改为 jeroen/mediawiki-github

增强

  • 添加了对 GitHub API 最新版本的兼容性。
  • 现在使用基于 PSR-4 的自动加载。
  • 现在使用 ParserHooks 库进行 github 解析钩子。
  • 添加了额外的测试。

0.1.0 (2013-07-15)

  • 初始发布。

运行测试

要使用 MediaWiki Vagrant,请参阅此 gist,其中包含安装 PHP7 和使用 PHPUnit 6+ 运行 MediaWiki 测试运行器的步骤。

要运行代码风格检查和不需要 MediaWiki 的测试,请在基础目录中执行此操作

composer ci

作者

GitHub 扩展由 Jeroen De Dauw 创建并维护。

链接