合并“将单元测试移动到”单元“目录”
树:472c349a4eb19c5e04a695fba7dd3bfa0509d4a0
  1. 组件/
  2. dev脚本/
  3. 国际18n/
  4. 包括/
  5. 无矿藏/
  6. 资源/
  7. 屏幕截图/
  8. 皮肤风格/
  9. 测试/
  10. .eslintrc.json文件
  11. .gitignore(.git忽略)
  12. .gitreview文件
  13. .phpcs.xml文件
  14. .rubocop.yml公司
  15. .rubocop_todo.yml文件
  16. .stylelintrc.json格式
  17. .svgo.yml文件
  18. 代码_ OF_ CONDUCT.md
  19. 组合器.json
  20. 复制
  21. Doxyfile文件
  22. 宝石文件
  23. 宝石文件.lock
  24. Gruntfile.js
  25. jsdoc.json文件
  26. 包装-锁.json
  27. package.json包
  28. Rakefile文件
  29. 自述.md
  30. 皮肤.json
自述.md

MinervaNeue皮肤

MinervaNeue皮肤是您的mediawiki实例的响应式移动第一皮肤。

安装

请参见https://www.mediawiki.org/wiki/Skin:MinervaNeue网站

开发

编码约定

请遵循MobileFrontend的编码约定:https://www.mediawiki.org/wiki/MobileFrontend/Coding_conventions网站

配置

以下配置选项仅适用于默认的移动皮肤-Minerva。

$wgMinervaAlways显示语言按钮

  • 类型:布尔值
  • 违约:真实的

即使页面没有可用的语言,是否显示语言切换按钮。

$wgMinervaEnableSite通知

  • 类型:布尔值
  • 违约:

控制是否应显示现场通知。请参见https://www.mediawiki.org/wiki/Manual:$wg站点通知.

$wgMinerva计数错误

  • 类型:布尔值
  • 违约:

是否统计statsv中的客户端错误。

$wgMinervaError日志采样率

  • 类型:整数
  • 违约:0

是否将客户端错误记录到EventLogging。如果为0,则禁用错误日志记录。如果为0.5,则所有客户端错误的50%将记录到EventLogging客户端。如果为1,则所有错误都将记录到EventLogging客户端,因此在启用此功能时,应注意您的设置没有错误,以免淹没EventLogging服务器。

$wgMinervaShowCategories按钮

  • 类型:阵列
  • 默认值:
  [
    “基础” => ,
    “测试版” => 真实的,
  ]

控制是否应显示类别按钮。

$wgMinervapplyKnownTemplateHacks

  • 类型:布尔值
  • 违约:

当启用且hacks.less存在时,样式表中包含hacks.les解决方案。只有基于Wikimedia的Wiki或使用这些Wiki上的模板(例如Template:Infobox)的通用模板的Wiki才需要这些。

$wgMinervaPageActions

  • 类型:阵列
  • 违约:[“编辑”、“交谈”、“观看”、“切换语言”]

控制显示哪些页面操作(如果有)。允许:编辑,,谈话,以及切换语言.

$wgMinervaPage问题新处理

  • 类型:阵列
  • 默认值:
  [
    “基础” => ,
    “测试版” => 真实的,
  ]

控制是否应将页面问题替换为“页面问题”链接(false)或内联显示(true)。

顶部$wgMinervaTalk

  • 类型:阵列
  • 违约:
  [
    “测试版” => ,
    “基础” => ,
    “amc” => 真实的,
  ]

控制是否应在页面顶部显示对话选项。这将适用于除主页以外的所有页面。

$wgMinervaHistory页面操作

  • 类型:阵列
  • 违约:
  [
    “测试版” => ,
    “基础” => ,
    “amc” => 真实的,
  ]

控制历史链接是否显示在页面操作菜单中。

$wgMinervaOverflowInPageActions

  • 类型:阵列
  • 违约:
  [
    “测试版” => ,
    “基础” => ,
    “amc” => ,
  ]

控制溢出链接是否显示在页面操作菜单中。

$wgMinervaShowShareButton($wgMinervaShowShareButton)

  • 类型:阵列
  • 违约:
  [
    “测试版” => ,
    “基础” => ,
  ]

控制是否应将共享功能添加到页面操作菜单中。

$wgMinervaEnableBackToTop(返回顶部)

  • 类型:阵列
  • 违约:
  [
    “基础” => ,
    “测试版” => 真实的,
  ]

控制滚动时是否应在屏幕右下角显示返回顶部按钮。

$wgMinerva自定义徽标

  • 类型:阵列
  • 违约:[]

使徽标可配置。

目前,版权,版权回收,版权宽度,以及版权高度支持元素。

  • 版权是页眉和页脚中显示的徽标的URL
  • 版权回收是IE8或Opera Mini等不支持的浏览器上显示的备用徽标的URL
  • 版权宽度(可选)是要显示的版权图像的像素宽度
  • 版权高度(可选)是要显示的版权图像的高度(以像素为单位)
  • 如果实际版权尺寸是200x30,那么您可能需要将宽度和高度分别设置为100和15(以支持视网膜屏幕)。
  • 注意,如果没有使用-width和-height,系统管理员应该确保使用的图像大小合适(建议的尺寸<120px宽度和18px高度)。

例子:

[
  “版权” => '/images/mysite_copyright_logo.png',
  '版权宽度' => 100,
  '版权-高度' => 15,
]

回退URL示例:

[
  “版权” => '/images/mysite_copyright_logo.svg',
  '版权回收' => '/images/mysite_copyright_logo.svg.png',
  '版权宽度' => 100,
  '版权-高度' => 15,
]

$wg MinervaAlwaysShowLanguageButton(显示语言按钮)

  • 类型:布尔值
  • 违约:真实的

即使页面没有可用的语言,是否显示语言切换按钮。

$wgMinervaABS采样率

  • 类型:编号
  • 违约:0

在0到1的范围内,确定用户进入AB测试的机会。测试分为3个桶,“控制”“A”和“B”。被选中进行测试的用户有同等的机会进入存储区“A”或“B”,其余用户落入“控制”存储区并被排除在测试之外。

1-将对100%的用户运行测试(50%在A中,50%在B中,0在控制中)。0.5-将对50%的用户进行测试(25%在A中,25%在B中,50%在控制中)。0.05-将对5%的用户进行测试(A为2.5%,B为2.5%,对照为95%)。0将禁用测试并将所有用户置于“控制”状态。

无论运行多少测试,组分配都是通用的,因为wgMinervaABS采样率mw.user.sessionId()是全球性的。

可以通过以下方式从控制台调试组成员身份:

  常数AB公司=兆瓦.移动前端.要求('皮肤.minerva.scripts/AB')
  新的AB公司({测试名称以下为: “WME。页面问题AB',采样率以下为:兆瓦.配置.得到( 'wgMinervaABSamplingRate', 0 ),会话ID以下为:兆瓦.用户.会话ID()
  }).获取Bucket()

由于会话ID是计算组时的输入,因此在清除它时会发生重新分配:mw.storage.session.remove('mwuser-sessionId').

$wgMinervaSchemaMain菜单单击跟踪采样率

定义MobileWebMainMenuClickTracking架构的采样率。

  • 类型:编号
  • 违约:0

组件

组件可以在服务器和客户端之间共享。将单个组件的所有代码仅保存在一个目录中,可以更容易地理解组件的完整域、所有隐式依赖项以及它独立于什么。该结构不提示ResourceLoader模块绑定资源和代码。这是skin.json的域。

新组件存储在组件/下。潜在的旧组件存储在include/和resources/下,这些目录结构不完全代表ResourceLoader模块划分。

胡子

根组件/目录中的Mustache模板,如components/PageActionsMenu.Mustache或components/ToggleList.mustaches,设计为呈现为根模板而不是部分模板。例如。:

//🆗$templatesDir($templatesDir)=__总监__. '/../../组件;$invalidateTemplateCache= ;$templateParser= 新的 模板分析器($模板目录,$invalidateTemplateCache);

//渲染组件/ToggleList.mustache not components/ToggleList/TogleList.mustache。$html(美元)=$templateParser->流程模板( '切换列表',$数据);

由于组件/根路径假设,尝试将部分呈现为模板根将失败:

//🚫$模板目录=__目录__. '/../../组件/切换列表';$invalidateTemplateCache= ;$templateParser= 新的 模板分析器($模板目录,$invalidateTemplateCache);

//错误:components/ToggleList/TogleList.mustache引用
//不存在的components/ToggleList/TogleList/TowleListItem.mustache。$html(美元)=$templateParser->流程模板( '切换列表',$数据);

组件/子目录中的部分,如components/PageActionsMenu/PageActionsMenu.mustache或components/ToggleList/TogleList.mustaches,仅用于模板内部分合成,因为它们的路径假定呈现根为components/。例如。:

{{! 包括组件/切换列表/切换列表.胡子, 组件/切换列表.胡子. }}
{{> 切换列表/切换列表}}