如果您点击本文,您可能知道这两种技术是什么,但如果您不知道,这里有一个快速解释:
黑曜石
obsidian 是一个功能齐全的 markdown 编辑器。但它不仅仅是一个 markdown 编辑器。这是管理知识的一种方式。它非常适合以灵活、非线性的方式组织您的想法。
黑曜石适用于所有平台。所以你基本上可以在任何平台上写文章。
几个月来我一直在里面记下我的所有笔记,这太棒了!
雨果
hugo 是一个用 golang 制作的超快速静态网站生成器。我的博客使用 hugo 已经快两年了。我最近更换了博客的主题。了解更多关于新面貌、新开始的变化。
设置
在本文中,我不会展示如何设置这两种技术,而只是展示如何让它们协同工作。
如果您想了解我如何使用hugo、cloudflare 和 render.com 设置整个博客,请阅读:我如何免费设置此博客(域名、托管、ssl)完整指南
如果您想要有关如何使用黑曜石的良好指南,请阅读:入门 – obsidian.md
目标
我的设置目标是:
- 使用单个黑曜石金库
- 有一个易于使用的黑曜石模板,我可以将其用于我的博客文章。
- 将我的个人保管库文件夹保密。
- 使用黑曜石热键自动发布。
- 将所有 markdown 文件放在公共 github 存储库中,以便人们可以提出更改
现有设置
我当前的工作流程的工作方式是:
- 编辑内容文件夹中的文章。
- 运行hugo命令。
- 推送到github。
- render.com 自动获取更改并提供服务。
旅行
如果你想跳过旅程部分可以直接去the sauce
我将经历一些在设置时犯的错误。
错误#1
我的第一个想法是创建一个简单的符号链接(顺便说一句,我使用 linux),将两个文件夹链接在一起。
基本上我有两个文件夹:
1 2 |
|
博客文件夹包含所有博客文件夹,保管库是我的个人保管库。
符号链接将链接这些文件夹
1 2 |
|
然而符号链接的问题是文件夹内容在我的 git 存储库中不可见。这意味着人们不能对我的任何文章提出更改
错误#2
我想要同步我的文件夹。我尝试编写几个 bash 脚本,使用 cronjob 自动同步两个文件夹。然而,当我不写作时,不断运行后台是一种资源浪费。仅仅通过 cli 运行脚本并不那么顺利。
酱汁
基本上我设置的方式是我有两个文件夹:
1 2 |
|
blog 文件夹包含所有必需的 hugo 文件,还有一个名为 content 的子目录,其中包含所有 markdown 博客文件。
我在我的保管库中创建了一个名为 blog 的新文件夹
1 2 |
|
之后,我将所有文件从内容目录复制到博客。
然后我就开始写这篇文章
黑曜石模板
我需要某种方法来设置一个简单的模板来包含所有必需的 hugo 前言。
这很简单。
阅读如何设置模板 templates – obsidian.md
我在模板文件夹中创建了一个名为 blog post 的文件
我的博客文章模板包含以下内容:
1 2 3 4 5 6 7 8 |
|
我有所有必需的前言,包括标题、描述和日期,格式符合 hugo 要求。
我还添加了一个小的捐赠文本,我将其包含在每篇文章的底部。
这意味着我可以自动将此模板插入到任何文件中并开始编写!
文件夹同步
现在我希望将我的保管库/博客目录中的所有文件复制到博客/内容
感谢一位乐于助人的不和谐用户,我找到了 obsidian-shellcommands 插件。
注意: 这个插件目前不能很好地与黑曜石的 flatpak 版本配合使用(因为 flatpak 隔离了环境)。使用另一种替代方案(.deb 或 appimage)似乎可行。
它允许您使用热键在后台运行 shell 命令。
设置步骤如下:
- 安装插件
- 启用插件
- 转到插件选项
- 单击新建 shell 命令
- 现在您需要输入 shell 命令将文件从一个文件夹复制到另一个文件夹。
在 linux/macos 上是:
cp -a ~/folder1/. 〜/文件夹2/
在我的例子中是 cp -a ~/documents/vault/blog/。 〜/文档/blog2/内容/
在 windows 上最有可能是:
robocopy “%userprofile%folder1” “%userprofile%folder2” /e /copyall
之后我们需要设置一个运行命令的热键
单击(+)图标进入热键设置并分配热键
我的热键是 ctr + 0,只是因为它可用。
现在,每次我运行热键时,它都会将我的所有文件复制到hugo文件夹中,准备发布
自动发布脚本
我也希望能够自动发布我的文章。但我希望通过按下热键来实现它。
我写了一个小脚本来完成这个任务:
1 2 3 4 5 6 7 8 |
|
这个脚本将构建我的网站,提交并推送到我的 github 存储库,在那里它被提取和发布。阅读我如何免费设置此博客(域名、托管、ssl)完整指南,了解如何免费设置您自己的博客。
不要忘记通过运行使脚本可执行
chmod +x ./yourscript.sh
然后为 shellcommand 插件创建一个新的 shell 命令(就像我们之前所做的那样)并输入脚本的路径。
就我而言是:
~/documents/blog2/push.sh
然后输入热键就完成了!
结论
我现在可以简单地打开我的黑曜石保险库,创建一个新文件,插入我的模板并自动输入所有信息。
然后我在黑曜石里面写我的文章
运行我的热键并将所有文件复制到hugo目录中
再按一个键,我的博客就发布了!
如果您喜欢这篇文章请考虑支持我