2026-10-11 01:58:37 +08:00
2022-10-24 11:31:17 +08:00
2026-10-11 01:58:37 +08:00
2026-04-18 20:54:02 +08:00
2021-07-04 23:36:41 +08:00
2021-06-16 16:09:37 +08:00
2023-05-29 14:27:54 +00:00
2023-05-29 14:27:54 +00:00
2021-07-04 23:36:41 +08:00
2026-04-18 20:59:00 +08:00
2024-11-25 08:24:44 +00:00

IsekaiWidgets 扩展

MediaWiki 扩展,为异世界百科提供一系列自定义组件。


目录


createpage — 创建页面

显示一个创建页面的交互组件,可配置允许创建的页面类型。

<createpage />

页面类型通过 LocalSettings.php 中的 $wgIsekaiCreatePageTypes 配置。


discoverbox — 发现框

显示一个内容发现模块,用于推荐或展示相关内容。

<discoverbox />

feedlist — 动态列表

显示一个内容动态/订阅列表模块。

<feedlist />

previewcard — 页面预览卡片

显示一个页面预览卡片,会异步加载页面摘要信息。text 为页面完整标题,最后一段(以 / 分割)作为显示标题,其余作为路径显示。

<previewcard>角色/爱丽丝</previewcard>

渲染后显示标题为 爱丽丝,路径为 角色。


previewpagelist — 页面列表预览

显示一组页面的预览卡片列表,支持手动指定页面或从分类中自动加载。

手动指定页面

<previewpagelist>
角色/爱丽丝
角色/鲍勃
</previewpagelist>

从分类加载

<previewpagelist loader="category" category="角色" />

参数

参数名 可选值 默认值 说明
loader pages | category 有内容时为 pages 数据来源类型
category 分类名 — loader=category 时必填,指定分类名称
autofocus true | false true 是否自动聚焦第一项
lazyload true | false true 是否懒加载

渲染一个 OOUI 风格的按钮,可链接到内部页面或外部 URL。

<buttonlink page="首页">返回首页</buttonlink>
<buttonlink href="https://example.com" target="_blank">外部链接</buttonlink>

参数

参数名 可选值 默认值 说明
page 页面名称 — 链接到 wiki 内部页面(与 href 二选一)
href URL # 直接指定链接地址
target _self | _blank 等 _self 链接打开方式
type progressive | default | secondary progressive 按钮风格
destructive true — 添加危险操作样式(红色)
frameless true — 使用无边框样式

tilegroup — 磁贴容器

将多个磁贴组合在一起的容器,可设置整体大小和标题。

<tilegroup title="快速导航" size="md-6 lg-4">
    <tile href="[[首页]]">首页</tile>
    <tile href="[[分类]]">分类</tile>
</tilegroup>

参数

参数名 可选值 说明
title 文本 这一组磁贴的标题
size xs-N sm-N md-N lg-N xl-N xxl-N(N 为 1–12) 响应式宽度,参考 Bootstrap col
class CSS 类名 附加 CSS 类

tile — 磁贴

显示一个矩形磁贴,支持图标、徽章、背景色、链接等。内容文本自动作为磁贴标题。

<tile size="medium" href="[[首页]]" color="#3498db" icon="fa fa-home">首页</tile>

参数

参数名 可选值 说明
size app | small | medium | wide | large 磁贴尺寸,默认 medium
href [[页面名]] 或 URL 点击跳转链接,支持 [[]] 内部链接语法
icon CSS 类(如 fa fa-star)或图片路径 磁贴图标
badge 数字或文本 左上角徽章内容(如未读数)
color #RRGGBB | rgb(r,g,b) | CSS 类名 背景颜色
grid <列> <行>(如 2 1) 在 CSS Grid 中的位置

fontface — 字体导入

将 wiki 中的文件(字体文件)注册为可用的自定义字体,供 <exfont> 使用。字体名只允许字母、数字、连字符和下划线。

<fontface name="myfont" src="MyFont.woff2" />

参数

参数名 说明
name 字体标识名(字母/数字/-/_)
src wiki 文件名(File: 命名空间下的字体文件)

exfont — 应用字体

将已通过 <fontface> 导入的字体应用到包裹的文本内容上。

<fontface name="myfont" src="MyFont.woff2" />
<exfont name="myfont">使用自定义字体的文字</exfont>

参数

参数名 说明
name 对应 <fontface> 中定义的字体名

details / summary — 折叠块

渲染 HTML5 原生 <details> 折叠组件,<summary> 为折叠标题,内容默认折叠。

<details>
    <summary>点击展开</summary>
    这里是折叠的内容。
</details>

参数(details 和 summary 均支持)

参数名 说明
class 附加 CSS 类名

information — 信息框

渲染结构化的键值信息,支持文本模式和信息框(infobox)模式。

内容块语法

<information type="infobox" picture="Character.png" float="right">
标题行(第一行无分隔符时作为标题)
基本信息
种族:人类
年龄:18
职业:冒险者
</information>
  • 以 : 或 : 分隔的行作为键值对
  • 以 = 分隔可引用标签属性中定义的动态值
  • 无分隔符的行作为分组标题(banner)
  • 第一行无分隔符时作为信息框整体标题

属性键值语法

<information type="infobox" 种族="人类" 年龄="18" />

参数

参数名 可选值 默认值 说明
type infobox | text infobox 渲染模式
float left | right | none right(infobox 模式) 浮动方向
picture 文件名(如 Character.png) — 信息框顶部图片
title_key 属性键名 — 指定哪个属性作为标题

masonry — 瀑布流容器

瀑布流布局容器,子项使用 <masonryitem> 填充。

<masonry cols="3" gutter="16" md-cols="2" sm-cols="1">
    <masonryitem>内容一</masonryitem>
    <masonryitem>内容二</masonryitem>
</masonry>

参数

参数名 说明 默认值
cols 列数 2
gutter 列间距(px) 10
xs-cols 极小屏幕列数(< 576px) —
sm-cols 小屏幕列数(≥ 768px) —
md-cols 中等屏幕列数(≥ 992px) —
lg-cols 大屏幕列数(≥ 1200px) —
xl-cols 超大屏幕列数(≥ 1400px) —

masonryitem — 瀑布流子项

瀑布流中的单个卡片,必须放置在 <masonry> 内部。支持按断点设置跨列数,full 表示占满全部列数。

<masonry cols="3">
    <masonryitem col="1" md-col="full">内容</masonryitem>
</masonry>

参数

参数名 说明
col 默认跨列数,或 full
xs-col 极小屏幕跨列数
sm-col 小屏幕跨列数
md-col 中等屏幕跨列数
lg-col 大屏幕跨列数
xl-col 超大屏幕跨列数

veval — 透传渲染

将内容经过 wiki 解析器处理后原样输出,不做额外包裹。可用于在特定场景下强制解析 wikitext。

<veval>{{模板名}}</veval>
S
Description
No description provided
Readme
509 KiB
Languages
JavaScript 31.5%
Less 26.3%
PHP 20.8%
CSS 12.8%
Vue 7.7%
Other 0.9%