给Obsidian Zotero-Integration增加正则模板 + 创建文件到当前目录
背景
我使用Zotero-Integration来抓取zotero条目的元数据,放在md笔记的frontmatter中以便用dataview之类进行整理和统计,也用来上传到vika用于分享交流
使用Obsidian Zotero-Integration时,指定的import formats的output path placeholder似乎不能是当前路径。我更习惯于每一篇文章在一个单独的folder下。因此增加右键文件列表时执行import formats可以创建文件到右键的目录。
我想要模板可以替换zotero元数据中的一部分而不是全部,比如DOI号中的登记机构代码 或者 其他立面的citation数。这时候用正则是个不错的选择。因此增加模板可以用正则的功能
效果
右键新建一个文件到当前目录下
其名称是从zotero中选择的文献的short title
其frontmatter按照Zotero-Integration中设置的模板进行填充(作者、年份、摘要、tag、引用数、DOI号等等)
其开头放一个默认关闭的callout,立面是打开zotero pdf的按钮

2. 点击打开pdf按钮可以跳转到zotero打开指定pdf
3. 将frontmatter中的内容一键上传到vika表格,维护成一个在线的已读文献数据库(当然本地的db_folder之类的也可以),便于分享交流

实现
增加注释中的内容
1. 增加获得右键的目录路径
2. 给路径模板数据增加当前目录
(在Zotero-Integration设置中的import formats的output path placeholder中用,比如{{currentFolder}}/{{shortTitle}}.md)
3. 增加模板正则支持
比如模板中 Citation: {% if extra %}{% set citation = extra %}{% set regex1 = "^(\\d+).*" %}{% set match1 = citation | regexReplace(regex1, "$1") | default("0") %}{{ match1 }}{% else %}0{% endif %}
其中右键菜单增加选项可以用代码menu.addItem来增加,也可以用Commander插件来增加
