




















Obsidian目前(v0.12.19)在YAML区输入标签时,无法以#标签的格式出现,不使用#,就不会自动显示标签列表供使用者选取,用了#又会造成语法错误。我汇总了3种解决方法。
#人工操作
仍然输入`#`以显示标签弹窗,选取完成後再删除`#`,或加入双号号:`"#标签"`
无法用`#`的原因
`#`井字号在YAML语法是注解,因此加了`#`会造成「INVALID YAML」的错误。
安装并启用Linter,勾选【Format Tags in YAML】。
🐞无法转换
tags: [ #tag1, #tag2 ]或
tags:
- #tag1
- #tag2✅ 正常转换
tags: #tag1 #tag2或
tags: #tag1, #tag2#module.exports = async function replace_tags(params) {
const {app, quickAddApi: {suggester}} = params;
const activeLeaf = app.workspace.activeLeaf;
const editor = activeLeaf.view.editor;
const lineNumber = editor.getCursor().line;
let content = editor.getLine(lineNumber);
content = content.replace(/#/g, "");
editor.setLine(lineNumber, content);
}#选取标签#module.exports = async function select_tags(params) {
const {app, quickAddApi: {suggester}} = params;
const allTags = Object.keys(app.metadataCache.getTags());
let tag = await suggester(allTags, allTags);
if (!tag) return;
tag = tag.substring(1); // skip the hash symbol
return tag;
}在YAML区tags右侧点击设定好的快捷键,在弹出视窗里选取标签
##
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。