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 | 模板名 | 空 | 展示在列表结尾的模板 |

沪公网安备 31011002002714 号