SMW/format说明
阅读
2025-07-05更新
最新编辑:庄森
阅读:
更新日期:2025-07-05
最新编辑:庄森
template(模板)
通过模板展示ask结果,template格式的参数如下:
可选参数 | 可填写值类型 | 默认值 | 说明 |
---|---|---|---|
sep | 文本 | , | 取值分隔符 |
template | 文本 | 空值 | 指定的封装模板名称 |
named args | yes/no | no | 给模板传递的参数是命名参(yes)还是序号参(no) |
userparam | 文本 | 空值 | 向模板传入一个用户自订的参数 |
intro | 文本 | 空值 | 前置文本(可以使用HTML) |
introtemplate | 文本 | 空值 | 前置模板 |
outro | 文本 | 空值 | 后置文本(可以使用HTML) |
outrotemplate | 文本 | 空值 | 后置模板 |
import-annotation | yes/no | no |
named args
如果你不想在模板里处理一堆序号参,而是想用命名参,可以在查询结果添加|named args=yes
,
这样做后你需要在模板中将参数从{{{2}}}
、{{{3}}}
改写为对应的属性名称,例如{{{生命值}}}
、{{{魔力值}}}
- 实际用例:
table(表格)
通过表格形式展示ask结果,table的参数如下:
可选参数 | 可填写值类型 | 默认值 | 说明 |
---|---|---|---|
class | 文本 | sortable wikitable smwtable | 为结果表格添加指定的CSS类 |
transpose | 布尔值 | no | 垂直方向显示表头,水平方向显示结果 |
sep | 文本 | 空白 | 结果之间的分隔符 |
headers | 文本 | hide | 设置hide时可以隐藏属性名称表头 |
broadtable(宽表)
通过宽表形式展示ask结果,与table不同之处在于broadtable形式会将其表格的宽度拉伸至可用宽度的100%,broadtable的参数如下:
可选参数 | 可填写值类型 | 默认值 | 说明 |
---|---|---|---|
class | 文本 | sortable wikitable smwtable | 为结果表格添加指定的CSS类 |
transpose | 布尔值 | no | 垂直方向显示表头,水平方向显示结果 |
sep | 文本 | 空白 | 结果之间的分隔符 |
headers | 文本 | hide | 设置hide时可以隐藏属性名称表头 |
count(计数)
展示一个数字,查询结果的总数。
plainlist(逗号分隔的列表)
返回结果为逗号分隔的列表,如
结果1(属性1: a, 属性2: b), 结果2(属性1: c, 属性2: d)
plainlist 的结果也可以传入 template,所以也有 template 的参数。
参数 | 可填写值类型 | 默认值 | 说明 |
---|---|---|---|
propsep | 文本 | , |
同一个结果的属性之间的分隔符 |
valuesep | 文本 | , |
某个属性值为列表时,列表项之间分隔符 |
sep | 文本 | , |
查询结果之间的分隔符 |
template | 模板名 | 空 | 用于渲染的模板名 |
named args, namedargs | yes 或 no |
no |
传入模板时, 是否使用具名参数 |
userparam | 文本 | 空 | 传入模板时的额外 {{{userparam}}} 参数
|
introtemplate | 模板名 | 空 | 展示在列表开头的模板 |
outrotemplate | 模板名 | 空 | 展示在列表结尾的模板 |
list(逗号分隔的列表)
和 plainlist 的区别是,list 会为每个结果套一个 <span class="smw-value"></span>
,为每个属性值套一个 <span class="smw-field"></span>
,举例而言(缩进是为了方便观察结构加的,实际上没有多余的空格):
<span class="smw-format list-format"> <span class="smw-value">结果1</span> ( <span class="smw-field"> <span class="smw-field-label"> <a href="/tools/属性1">属性1</a> </span> : <span class="smw-value">a</span> </span> , <span class="smw-field"> <span class="smw-field-label"> <a href="/tools/属性2">属性2</a> </span> : <span class="smw-value">b</span> </span> ), <span class="smw-value">结果2</span> ( <span class="smw-field"> <span class="smw-field-label"> <a href="/tools/属性1">属性1</a> </span> : <span class="smw-value">c</span> , </span> <span class="smw-field"> <span class="smw-field-label"> <a href="/tools/属性2">属性2</a> </span> : <span class="smw-value">d</span> </span> ) </span>
其余参数和 plainlist 相同,但是多了一个 class 参数,可以用来给列表提供类方便定位,比如当我们传入 class=exampleclass
可以加一条 CSS 来自定义样式。
{{#css: .exampleclass .smw-value { background-color: yellow; } .exampleclass .smw-field-label { color: black; } }}
参数 | 可填写值类型 | 默认值 | 说明 |
---|---|---|---|
class | 合法 HTML class | 空 | 在最外层的 span 增加一个或多个 class。如果传入参数中有空格,则为空格分隔的多个 class。 |
propsep | 文本 | , |
同一个结果的属性之间的分隔符 |
valuesep | 文本 | , |
某个属性值为列表时,列表项之间分隔符 |
sep | 文本 | , |
查询结果之间的分隔符 |
template | 模板名 | 空 | 用于渲染的模板名 |
named args, namedargs | yes 或 no |
no |
传入模板时, 是否使用具名参数 |
userparam | 文本 | 空 | 传入模板时的额外 {{{userparam}}} 参数
|
introtemplate | 模板名 | 空 | 展示在列表开头的模板 |
outrotemplate | 模板名 | 空 | 展示在列表结尾的模板 |
ul(无序列表)
返回 HTML 无序列表 <ul>
,如(缩进是为了方便观察结构加的,实际上没有多余的空格):
参数和 list 相同,class 可以用来给列表提供类方便定位,比如当我们传入 class=exampleclass
可以加一条 CSS 来自定义样式。
{{#css: .exampleclass { column-count: 3; /* 列表纵列 3 列 */ } }}
<ul class="smw-format ul-format"> <li class="smw-row"> <span class="smw-value">结果1</span> ( <span class="smw-field"> <span class="smw-field-label"> <a href="/tools/属性1">属性1</a> </span> : <span class="smw-value">a</span> </span> <span class="smw-field"> <span class="smw-field-label"> <a href="/tools/属性2">属性2</a> </span> : <span class="smw-value">b</span> </span> ) </li> <li class="smw-row"> <span class="smw-value">结果2</span> ( <span class="smw-field"> <span class="smw-field-label"> <a href="/tools/属性1">属性1</a> </span> : <span class="smw-value">c</span> </span> , <span class="smw-field"> <span class="smw-field-label"> <a href="/tools/属性2">属性2</a> </span> : <span class="smw-value">d</span> </span> ) </li>
参数 | 可填写值类型 | 默认值 | 说明 |
---|---|---|---|
class | 合法 HTML class | 空 | 在最外层的 span 增加一个或多个 class。如果传入参数中有空格,则为空格分隔的多个 class。 |
propsep | 文本 | , |
同一个结果的属性之间的分隔符 |
valuesep | 文本 | , |
某个属性值为列表时,列表项之间分隔符 |
sep | 文本 | , |
查询结果之间的分隔符 |
template | 模板名 | 空 | 用于渲染的模板名 |
named args, namedargs | yes 或 no |
no |
传入模板时, 是否使用具名参数 |
userparam | 文本 | 空 | 传入模板时的额外 {{{userparam}}} 参数
|
introtemplate | 模板名 | 空 | 展示在列表开头的模板 |
outrotemplate | 模板名 | 空 | 展示在列表结尾的模板 |
ol(有序列表)
返回 HTML 无序列表 <ol>
,如(缩进是为了方便观察结构加的,实际上没有多余的空格):
<ol class="smw-format ol-format"> <li class="smw-row"> <span class="smw-value">结果1</span> ( <span class="smw-field"> <span class="smw-field-label"> <a href="/tools/属性1">属性1</a> </span> : <span class="smw-value">a</span> </span> <span class="smw-field"> <span class="smw-field-label"> <a href="/tools/属性2">属性2</a> </span> : <span class="smw-value">b</span> </span> ) </li> <li class="smw-row"> <span class="smw-value">结果2</span> ( <span class="smw-field"> <span class="smw-field-label"> <a href="/tools/属性1">属性1</a> </span> : <span class="smw-value">c</span> </span> , <span class="smw-field"> <span class="smw-field-label"> <a href="/tools/属性2">属性2</a> </span> : <span class="smw-value">d</span> </span> ) </li> </ol>
参数 | 可填写值类型 | 默认值 | 说明 |
---|---|---|---|
class | 合法 HTML class | 空 | 在最外层的 span 增加一个或多个 class。如果传入参数中有空格,则为空格分隔的多个 class。 |
propsep | 文本 | , |
同一个结果的属性之间的分隔符 |
valuesep | 文本 | , |
某个属性值为列表时,列表项之间分隔符 |
sep | 文本 | , |
查询结果之间的分隔符 |
template | 模板名 | 空 | 用于渲染的模板名 |
named args, namedargs | yes 或 no |
no |
传入模板时, 是否使用具名参数 |
userparam | 文本 | 空 | 传入模板时的额外 {{{userparam}}} 参数
|
introtemplate | 模板名 | 空 | 展示在列表开头的模板 |
outrotemplate | 模板名 | 空 | 展示在列表结尾的模板 |