【已解决】自定要ob同步模版

问题反馈 W30161536 • 查看172

您好,请问在导出到Obsidian的时候,使用这段代码

划线列表

{% block highlights %}
{% for item in highlights %}
{{ item | style1({prefix:"> ", anno:"> __想法__:", color:"█  "}) }}
{% endfor %}
{% endblock %}

中的,“{{ item | style1({prefix:"> ", anno:"> 想法:", color:"█ "}) }}”这一条的时候,默认总是会把划线和想法部分一起导出,划线部分在前,想法部分在后。

请问,怎么设置才能让想法部分在前,划线部分在后。又或者是要怎么设置才能不导出想法部分,可以让我单独在前面使用{{item.annonation}}这个代码实现这个目的?

谢谢。

共收到7条回复
自定要ob同步模版 肥肥猫xyz
肥肥猫xyz ⚡⚡ #1 回复
可以用类似这样的,需要考虑内容是文本划线还是图片划线
```js
{% block highlights %}
{% for item in highlights %}
{%if item.annonation%}{{item.annonation}}{% endif %}
{{ item.note }}
{%if item.imageUrl%}xxx{% endif %}
{% endfor %}
{% endblock %}
```

目前的帖子发出来有个问题,上面的 xxx 需要你替换成图片markdown格式,因为论坛目前无法发处理,有转换问题。
自定要ob同步模版 W30161536
W30161536 #2 回复
搞定了,非常感谢。
另外还有个疑问,不知道能否解答一下。
用 style1 这个代码的时候,同步的划线部分文字,是会自动去掉多余的空行的。
比如,原文是:
这样子,

本身有个空行
用了 style1同步到Obsidian之后,就变成了
这样子,
本身有个空行
去掉了空行。

但是,使用{{ item.note }}的话,就会保留原有的空行。

请问有啥办法实现去掉空行的效果吗?谢谢。
自定要ob同步模版 肥肥猫xyz
肥肥猫xyz ⚡⚡ #3 回复
@W30161536 style1 内置做了很多格式处理,是因为在模版里做这些格式兼容不太方便。
不仅仅是换行,还有前缀问题。
如果仅仅是要处理掉空行,可以使用 replace 函数将空行替换掉。

{{ item.note|replace(r/\n/g, "") }}
自定要ob同步模版 W30161536
W30161536 #4 回复
非常感谢!完美解决了!!
自定要ob同步模版 MoyF
MoyF #5 回复
@肥肥猫xyz 正好在看 OB 模板相关,然后发现一个情况……
就是……文档里,「Obsidian模板中可使用的变量」中写的是 `{{item.annonation}}`

不知道是只有文档写错了还是变量名也写错了 _(:з」∠)_
(应该是 annotation 来着)
自定要ob同步模版 肥肥猫xyz
肥肥猫xyz #6 回复
@MoyF 感谢你的纠正
确实是我们把单词写错了~ 模板里这个单词也拼写错误
下个版本我们兼容一下,让两个单词都能用(为了兼容)
现在大家只好用错误的了
自定要ob同步模版 MoyF
MoyF #7 回复
@肥肥猫xyz 嗯哈,好的!
登录后即可参与回复