Tools 是非官方社区Wiki。社区文档正在编写中,欢迎参与。 Wiki编辑答疑群:717421103
版本250722.2
全站通知:

帮助:解析函数/info

来自WIKI实验室WIKI_BWIKI_哔哩哔哩
跳到导航 跳到搜索

info是一个解析函数。帮助:解析函数页列出了所有解析函数的说明。

info

一个小图标,点击显示悬浮框。出自扩展 Semantic MediaWiki SMW功能强大,应用广泛。<br>如需单页内大量调用,请考虑使用模板、模块批量查询,这能提升综合体验、降低资源消耗。<br>另请参阅灰机、Fandom的相关文档,他们详述了对SMW的顾虑和限制。

移动端不易精确点击,使用需谨慎。


语法

{{#info: <text>|<icon>|max-width=<width>|theme=<theme>}}

  • 悬浮框文本
  • icon (可选):infoicon可选项info、noteicon可选项note、warningicon可选项warning、erroricon可选项error
  • max-width (可选): 最大宽度,正整数。
  • theme (可选):悬浮框样式:square-bordertheme可选项square-border、square-border-lighttheme可选项square-border-light

示例

  • 文本文本 {{#info: 悬浮框文本 }}文本文本 悬浮框文本
  • 指定图标 {{#info: 请按格式输入,例如:+86-12345678901|note}}请按格式输入,例如:+86-12345678901
  • 指定宽度:{{#info: 悬浮提示中要显示大量文字。……|note|max-width=600}}悬浮提示中要显示大量文字。还有更多的文字。还有更多的文字。还有更多的文字。还有更多的文字。悬浮提示中要显示大量文字。还有更多的文字。还有更多的文字。还有更多的文字。还有更多的文字。
  • 指定主题:{{#info: 使用不同主题样式的悬浮提示。|note|theme=square-border-light}}使用不同主题样式的悬浮提示。

扩展应用

核心功能
此悬浮弹窗功能由 tippy.js 库实现,结合 Semantic MediaWiki 扩展,允许为页面元素创建交互式悬浮弹窗。悬浮弹窗的外观、行为和内容可以通过 HTML 属性和 JavaScript 参数进行控制。
注:经过测试发现部分站点/页面会有 tippy.js 未加载的情况,建议参考 模板:悬浮框 ,封装成模板并手动写一次{{#info:悬浮框}}将 tippy.js 拉进来,以确保功能可以正常使用,有需求的可以自行魔改
HTML 结构
基本的 HTML 触发结构如下:
<span class="smw-highlighter" 
		data-state="persistent" 
		data-title="悬浮弹窗标题" 
		data-content="悬浮弹窗内容">
	<span class="smwtticon info"></span>
	<span class="smwttcontent">备用悬浮弹窗内容</span>
</span>
基本的 HTML 悬浮弹窗结构如下:
<div class="tippy-popper">
	<div class="tippy-tooltip light-border-theme">
		<div class="tippy-arrow"></div>
		<div class="tippy-content">
			<div class="tippy-header"><span class="tippy-cancel"></span>悬浮弹窗标题</div>
			<div class="tippy-content-container">悬浮弹窗内容</div>
		</div>
	</div>
</div>
参数细节
(1) class="smw-highlighter"
触发悬浮弹窗的必要类,悬浮弹窗将绑定到该元素上。
可通过 data-tooltipclass 或 CSS 修改悬浮弹窗样式。
(2) data-title
设置悬浮弹窗的标题文本。
空字符串(data-title="")会尝试通过 data-type 获取默认标题,如果没有设置 data-type,默认标题为信息
注:不同于使用{{#info:}}会根据 data-type 自动生成标题,直接使用html生成悬浮弹窗,会显示为⧼smw-ui-tooltip-title-⧼data-type⧽⧽,所以建议不设置 data-type 。
(3) data-content
设置悬浮弹窗内容。
不设置 data-content 参数,会尝试使用嵌套的.smwttcontent元素作为内容。
空字符串(data-content=""),则会显示默认错误内容:Missing a content object
(4) data-type
设置悬浮弹窗的类型,通常决定默认标题和样式。
注:该参数为使用{{#info:}}自动生成,手动写并无作用,可能会导致其他参数失效,不建议使用该参数。
可选值:
4:警告(warning)。
5:错误(error)。
6:信息(info)。
8:注释(note)。
(5) data-state
设置悬浮弹窗的行为状态,比如控制悬浮弹窗是否为持久化。
可选值:
persistent:持久化悬浮弹窗,仅通过点击关闭按钮关闭。
inline(或未设置):非持久化,鼠标不在悬浮弹窗触发范围或点击悬浮弹窗外部关闭。
(6) data-bottom
设置悬浮弹窗的底部内容,会在<div class="tippy-content-container"></div>后添加<div class="tippy-bottom"></div>,内容为 data-bottom。
(7) data-maxwidth
设置悬浮弹窗的最大宽度
(8) data-tooltipclass
设置悬浮弹窗的附加 CSS 类名,为悬浮弹窗添加自定义样式,该class会添加到<div class="tippy-tooltip"></div>中。
可选值:
light-border-theme(默认样式)
square-border-light
其它任意合法的 CSS 类名。
(9) data-theme
设置悬浮弹窗内容的附加 CSS 类名,为悬浮弹窗内容添加自定义样式,该class会分别添加到<div class="tippy-header"></div><div class="tippy-content-container"></div><div class="tippy-bottom"></div>中。
(10) 悬浮弹窗触发图标:<span class="smwtticon info"></span>
可选值:
info:
question:
service:
warning:
error:
note:
可使用文字作为悬浮弹窗触发:
<span class="smw-highlighter" data-state="persistent" data-title="悬浮弹窗标题" data-content="悬浮弹窗内容">显示文字</span>显示文字
(11) 嵌套内容:<span class="smwttcontent"></span>
备用内容,如果 data-content 未设置,则悬浮弹窗会使用该元素的 HTML 内容作为正文。
扩展使用示例
  • 基本用法

<span class="smw-highlighter" data-title="示例标题" data-content="这是内容">鼠标悬停查看内容</span>鼠标悬停查看内容

  • 使用备用内容

<span class="smw-highlighter">鼠标悬停查看内容<span class="smwttcontent">备用悬浮弹窗内容</span></span>鼠标悬停查看内容备用悬浮弹窗内容

  • 自定义样式和行为

<span class="smw-highlighter" data-state="persistent" data-tooltipclass="custom-tooltip" data-title="自定义悬浮弹窗标题" data-content="自定义悬浮弹窗内容">鼠标悬停打开内容</span><bstyle>.custom-tooltip *{color: red;}</bstyle>鼠标悬停打开内容

  • 行内使用时,支持换行和复杂HTML

123正文<div>123</div> <div>123</div>词卡123

123<span class="smw-highlighter" data-type="6" data-state="" data-title="标题123123" style="color:#d9d9d9; border-bottom:1px dotted #c6c6c6;">正文<span class="smwttcontent">{{#replace:

<div>123</div>
<div>123</div>

|<|&lt;}}<span style="display:none">{{#info:词卡}}</span></span></span>123

<div class="smw-highlighter" data-state="persistent" data-title="悬浮弹窗标题" style="display:inline-block;">
	<div class="smwttcontent">
		内容1<br>
		内容2<br>
    </div>触发文字
</div>

实际用例

一些Wiki使用了相关特性,如下所示这个静态列表可能在下列页面更改后过时仅供批判性参考
碧蓝航线 - blhx

原神 - ys

战双帕弥什 - zspms

明日方舟 - arknights

恋与深空 - lysk

崩坏:星穹铁道 - sr

代号鸢 - yuan

第五人格 - dwrg

黑神话:悟空 - wukong

卡拉彼丘 - klbq

赛尔计划 - seerplan

公主连结 - pcr

赛尔号星球大战 - seerwar

深空之眼 - dhmmr

食物语-云木 - swyyunmu

食物语-档案馆 - swy

托拉姆物语 - toramonline

神甲奇兵 - m2cn

胜利女神NIKKE - nikke

方块方舟(PixARK) - fangkuaifangzhou

高达 - gundam

超级机器人大战DD - srwdd

另一个伊甸 - ae

复苏的魔女 - fsdmn

都市天际线2 - csl2

世界弹射物语 - worldflipper

食之契约 - szqy

腐蚀 - rust

异星工厂 - factorio

银河境界线 - gf