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

SMW/format说明

阅读

    

2025-07-05更新

    

最新编辑:庄森

阅读:

  

更新日期:2025-07-05

  

最新编辑:庄森

来自WIKI实验室WIKI_BWIKI_哔哩哔哩
< SMW
跳到导航 跳到搜索
页面贡献者 :
本森级7号舰拉菲
庄森

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 yesno 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 yesno 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 yesno 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 yesno no 传入模板时, 是否使用具名参数
userparam 文本 传入模板时的额外 {{{userparam}}} 参数
introtemplate 模板名 展示在列表开头的模板
outrotemplate 模板名 展示在列表结尾的模板