背景
思源的 属性视图 还遥遥无期, 那不如先搞个伪·属性视图先用着
介绍
挂件 Query 在 v0.3.1
可以将块的 IAL (内联属性表, 也就是块属性们) 渲染为多行或多列
默认会将块属性在一个单元格中渲染为如下样式(渲染为多行)
key1: value1
key2: value2
key3: value3
...
如果想将其渲染为多列
-
方案 1 (全局自定义配置): 新建
<工作空间>/data/widgets/custom.js
文件, 在文件中设置如下选项, 该选项会覆盖<工作空间>/data/widgets/Query/src/script/module/config.js
文件中变量config.query.render.ial.shape
的默认字段'rows'
export var config = { query: { render: { ial: { shape: 'columns', }, }, }, };
-
方案 2 (局部自定义配置): 为挂件块设置自定义块属性
query-render-ial-shape
:'columns'
或"columns"
如果想自己控制渲染字段
-
方案 1 (全局自定义配置): 在
custom.js
文件中设置如下选项export var config = { query: { render: { ial: { fields: { forced: [], ignore: [], valid: [], }, }, }, }, };
- 方案 2 (局部自定义配置): 为挂件块设置自定义块属性
query-render-ial-fields-forced
: (Array) 强制渲染的 IAL 字段(优先级最高)query-render-ial-fields-ignore
: (Array) IAL 字段渲染黑名单(优先级次高)query-render-ial-fields-valid
: (Array) IAL 字段渲染白名单(优先级最低)
示例
IAL 渲染为多行
IAL 渲染为多列
自定义查询
SELECT
'[' || b.content || '](siyuan://blocks/' || a.block_id || ')' AS __1____pre__文档标题,
MAX(
CASE
WHEN a.name = 'name' THEN a.value
ELSE NULL
END
) AS __2____kbd__命名,
MAX(
CASE
WHEN a.name = 'alias' THEN REPLACE(
'<kbd>' || a.value || '</kbd>',
',',
'</kbd><br/><kbd>'
)
ELSE NULL
END
) AS __3____pre__别名,
MAX(
CASE
WHEN a.name = 'memo' THEN REPLACE(
'<kbd>' || a.value || '</kbd>',
',',
'</kbd><br/><kbd>'
)
ELSE NULL
END
) AS __3____pre__备注
FROM
attributes AS a
INNER JOIN blocks AS b ON a.block_id = b.id
WHERE
(
a.name = 'name'
OR a.name = 'alias'
OR a.name = 'memo'
)
AND b.type = 'd'
GROUP BY
a.block_id
ORDER BY
RANDOM()
LIMIT
10;
如果需要订阅服务, 欢迎使用我的推荐码呀: h0sc9rc (*^▽^*)
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于