折腾 2 分钟阅读

搞定Obsidian笔记一键发布到Typecho博客

在《使用Python和MetaWeblog API发博客》一文中,我介绍了我的博客工作流:使用Obsidian写作,然后切换到命令行执行Python脚本发布。

这个工作流用了近4年,运行的非常好。唯一不足就是每次都需要打开命令行运行脚本。

最近发现Obsidian有个Python Scripter插件,能直接在Obsidian内运行Python脚本。

于是我把之前的脚本稍加修改,实现了在Obsidian内一键发布笔记到Typecho的功能。我把脚本放在Github上,有需要的朋友可以自取。

我现在写完文章,只需要CMD + P打开Obsidian的命令面板,执行一个命令就能发布文章,如下图。若文章已经发布过,自动执行更新操作。

命令面板调用脚本发布文章
命令面板调用脚本发布文章

我会点Python,有了这个插件,感觉能做非常多的事情。比如自动备份Memos。

最后,简单介绍脚本的具体配置:

1、在Obsidian插件市场搜索「Python Scripter」插件并安装

2、启用并设置Python Scripter插件。其中有两个文件路径的参数,这两个参数可以在Python脚本中引用。

Python Scripter插件设置
Python Scripter插件设置

3、在Obsidian的.obsidian目录下创建scripts/python目录,把Github脚本保存在这个目录,需要配置好博客登录名、密码等信息。

保存脚本到目录
保存脚本到目录

4、在Obsidian的命令面板中置顶该脚本,今后就能通过CMD + P唤起命令面板后,快速发布文章。


了解 拾月 的更多信息

订阅后即可通过电子邮件收到最新文章。

32

  1. 我也是用obsidian写博客,通过git自动同步到github,然后用github action去做发布流程,有点像正常项目的CICD过程,哈哈哈

    1. 哈哈,也短暂用过这个流程。
      github最大的好处是,我倒不觉得是免费、省事之类的。是只要github不倒闭,网站就一起在,不像服务器一但因故无法续费,就没了。
      现在看来,github一直在的可能性非常高。

      1. 我只是用github托管笔记,博客是托管在又拍云上的~

  2. 我目前是博客写在ghost中,再去手动通过API触发Workflow仲的Action

    1. 是不是 ghost 这类的静态博客,写完日志都要重新生成页面呀?

      1. ghost也是动态博客程序。
        1900的流程,感觉是再包了一层静态。这个方式感觉:
        1、Ghost在线管理文章比较方便,随时写随时更新。
        2、文章两处备份,Ghost一份,静态一份。

        1. 哦哦,了解,用ghost来写文章,在线生成静态页面,会玩

      2. ghost是动态博客,目前我的用法让ghost单纯提供数据而已,可以把它理解成hugo的markdown文件集合。

        写完日志需要重新build,我写了个api可以自动触发,还算方便。

    2. 是这个不 https://ghost.org/

      1. 是的

  3. 我是拿ghost写文章,然后再用ghost的api通过静态生成器生成静态网页

  4. 我就觉得开 terminal 挺方便的,hexo 的文章都是 terminal 里面用 lazygit 处理的。不过这个 python script runner 还是一个很方便的发现!

    1. 是已经比较流畅了,但Obsidian内完成更方便。尤其是一些小更新、改个错别字啥的,去一次终端会觉得有点重。

  5. 这个功能还真不错,我现在就是想折腾obsidian能一键写到memos里。

    1. 那逻辑上和我现在一键发Typecho类似,Python能搞定,可以借助ChatGPT研究下。

  6. 虽然不用,但不能不会,学习。

    1. 哈哈,我就瞎折腾。

  7. 太能折腾了,哈哈。

    1. 折腾一时爽,折腾完用起来更爽。哈哈

  8. 前几天看到一个大佬使用joplin一件发布到typecho

  9. 我现在也在使用 Obsidian,确实很不错

  10. 厉害了,点赞

  11. 图片是如何处理的,如果上传图床的话,obsidian笔记就索引不到本地图片,导致本地图片被插件删除。

    1. 我是在发布时,把图片上传到图床,并用图床链接替换发布内容中的链接。但不修改本地文件。

      如此一来,本地笔记引用的还是本地图片;博客文章引用的则是图床链接。

      同时,在上传的时候,我会把本地文件名和图床的url映射关系,保存在obsidian的一条笔记中。

      1. 我在考虑另一个方案,不用图床,直接把obsidian的图片上传到typecho的服务器上,这样步骤是不是会简化一些

  12. 真牛,就是来找这个的,大爱ob和typecho这种简约的站

  13. 博主现在是用OB写笔记然后上传吗?

    1. 对,还在用这个脚本,算算时间,最近一年多的博客文章,全是用OB写,然后在OB内用这个脚本发布的。

  14. 非常喜欢博主的内容,也希望博主继续更新折腾系列
    发现一个新发布的手段,博主可以试试
    Obsidian端插件:https://github.com/Chen2226/obsidian-typecho
    typecho插件:https://github.com/Chen2226/typecho-plugin-Restful

    1. 有趣,不错。
      我暂时不会换,因为我的发布脚本中,对「文章正文」进行了很多逻辑处理,比如上传图床,去除一些内部引用等等。这些通用插件一般支持不了。

  15. 自己也制作一个ob插件来发布文章,感谢大佬的代码!同步时间的时候发现typecho和ob获取时间相差8小时,我还在GitHub上面看到2020年发的大佬的评论,真强!

    1. 哈哈,我当年也踩了时差的坑

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注