obsidian使用python脚本

一、说明

obsidian是一个由ES6开发的软件,它本身支持开发插件来实现我们自己想要的功能。但是另一种语言壁垒却使我们望而却步。现在就有一种方式,可以让obsidian调用cmd命令,而cmd命令又可以调用如:python、C语言、cmd命令等各种程序,大大方便了我们的开发。

二、实现方式

1、首先下载Templater插件

  • Github下载
    https://github.com/SilentVoid13/Templater/archive/refs/heads/master.zip
  • QQ群下载
    群号:774176839

2、配置Templater

templater配置

1、设置插件使用的模板的路径(需要自己设置的模板位置,建议和原有的模板分开)
2、设置插件使用的插件的路径(需要自己设置的插件位置)
3、设置cmd文件的路径。一般是C:\Windows\System32\cmd.exe
4、简单建立一个Python脚本,用于测试功能。

getname

这个名字可以自己指定

python ./G4归档资料//1学习//模板//templater//插件//getinput.py <% tp.file.path() %> <% tp.file.path(true) %>

python文件的路径是相对于库的路径的,需要修改为自己的文件相对于库顶层目录的相对路径。后面的原样复制(这个内容下面解释)。

3、程序

  • getinput.py
    这个程序只是打印传入的参数,并将它们打印出来。这个插件会将打印出来的内容,放到我们正在编辑的位置。return返回的内容是没有用的。
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import sys

def test():
    for i in sys.argv:
        print(i)
    print('测试\n')   
    return "hello"
    
if __name__ == '__main__':
    test()
  • 模板:python测试.md
    这个文件内,放入下面的内容就可以。getname和前面配置里的名字相同,前面是什么,这里就是什么。
<% tp.user.getname() %>

4、效果

打印出来是3行


第一行是python文件的相对路径
第二行是<% tp.file.path() %>,这是现在编辑文件的绝对路径
第三行是<% tp.file.path(true) %>,这个是现在编辑文件相对于库的相对路径。通过这两个字符串的相减,我们也就得到库的绝对路径了。这样我们就可以进行python脚本的开发了。

三、问题

字符乱码问题

现象:


字符乱码

解决方案:

  1. 按键盘 Win+R

  2. 输入 intl.cpl

  3. 选择管理


    Pasted image 20210721163043.png
  4. 点击 更改系统区域设置

    Pasted image 20210721163147.png

  5. 将这个进行勾选


    Pasted image 20210721163405.png
  6. 点击确定之后,需要重启系统。重启完后,就解决问题了。

环境

系统版本:Window10 x64 1909
软件版本:obsidian v0.12.10
插件版本:Templater 1.8.1

你可能感兴趣的:(obsidian使用python脚本)