总结
豆包 AI 助手文章总结
首页 > 后端开发 > Golang > 正文

我的 Obsidian + Hugo 博客设置(使用热键自动发布)

PHPz
发布: 2024-08-20 08:00:42
转载
741人浏览过

我的 obsidian + hugo 博客设置(使用热键自动发布)

如果您点击本文,您可能知道这两种技术是什么,但如果您不知道,这里有一个快速解释:

黑曜石

obsidian 是一个功能齐全的 markdown 编辑器。但它不仅仅是一个 markdown 编辑器。这是管理知识的一种方式。它非常适合以灵活、非线性的方式组织您的想法。

黑曜石适用于所有平台。所以你基本上可以在任何平台上写文章。

几个月来我一直在里面记下我的所有笔记,这太棒了!

雨果

hugo 是一个用 golang 制作的超快速静态网站生成器。我的博客使用 hugo 已经快两年了。我最近更换了博客的主题。了解更多关于新面貌、新开始的变化。

设置

在本文中,我不会展示如何设置这两种技术,而只是展示如何让它们协同工作。

如果您想了解我如何使用hugo、cloudflare 和 render.com 设置整个博客,请阅读:我如何免费设置此博客(域名、托管、ssl)完整指南

如果您想要有关如何使用黑曜石的良好指南,请阅读:入门 - obsidian.md

目标

我的设置目标是:

  1. 使用单个黑曜石金库
  2. 有一个易于使用的黑曜石模板,我可以将其用于我的博客文章。
  3. 将我的个人保管库文件夹保密。
  4. 使用黑曜石热键自动发布。
  5. 将所有 markdown 文件放在公共 github 存储库中,以便人们可以提出更改

现有设置

我当前的工作流程的工作方式是:

  1. 编辑内容文件夹中的文章。
  2. 运行hugo命令。
  3. 推送到github。
  4. render.com 自动获取更改并提供服务。

旅行

如果你想跳过旅程部分可以直接去the sauce

我将经历一些在设置时犯的错误。

错误#1

我的第一个想法是创建一个简单的符号链接(顺便说一句,我使用 linux),将两个文件夹链接在一起。

基本上我有两个文件夹:

blog/
vault/

登录后复制

博客文件夹包含所有博客文件夹,保管库是我的个人保管库。

符号链接将链接这些文件夹

blog/content
vault/blog

登录后复制
登录后复制

然而符号链接的问题是文件夹内容在我的 git 存储库中不可见。这意味着人们不能对我的任何文章提出更改

错误#2

我想要同步我的文件夹。我尝试编写几个 bash 脚本,使用 cronjob 自动同步两个文件夹。然而,当我不写作时,不断运行后台是一种资源浪费。仅仅通过 cli 运行脚本并不那么顺利。

酱汁

基本上我设置的方式是我有两个文件夹:

blog
vault

登录后复制

blog 文件夹包含所有必需的 hugo 文件,还有一个名为 content 的子目录,其中包含所有 markdown 博客文件。

我在我的保管库中创建了一个名为 blog 的新文件夹

blog/content
vault/blog

登录后复制
登录后复制

之后,我将所有文件从内容目录复制到博客。

然后我就开始写这篇文章

黑曜石模板

我需要某种方法来设置一个简单的模板来包含所有必需的 hugo 前言。

这很简单。

阅读如何设置模板 templates - obsidian.md

我在模板文件夹中创建了一个名为 blog post 的文件

我的博客文章模板包含以下内容:

---
title: "{{title}}"
description: 
date: "{{date:yyyy-mm-dd}}t{{time:hh:mm:ss}}+00:00"
draft: true
---

**if you enjoyed this article consider [supporting me](https://4rkal.eu.org/donate)**

登录后复制

我有所有必需的前言,包括标题、描述和日期,格式符合 hugo 要求。

我还添加了一个小的捐赠文本,我将其包含在每篇文章的底部。

这意味着我可以自动将此模板插入到任何文件中并开始编写!

文件夹同步

现在我希望将我的保管库/博客目录中的所有文件复制到博客/内容

感谢一位乐于助人的不和谐用户,我找到了 obsidian-shellcommands 插件。

注意: 这个插件目前不能很好地与黑曜石的 flatpak 版本配合使用(因为 flatpak 隔离了环境)。使用另一种替代方案(.deb 或 appimage)似乎可行。

它允许您使用热键在后台运行 shell 命令。

设置步骤如下:

  1. 安装插件
  2. 启用插件
  3. 转到插件选项
  4. 单击新建 shell 命令
  5. 现在您需要输入 shell 命令将文件从一个文件夹复制到另一个文件夹。

在 linux/macos 上是:

cp -a ~/folder1/. 〜/文件夹2/

在我的例子中是 cp -a ~/documents/vault/blog/。 〜/文档/blog2/内容/

在 windows 上最有可能是:

robocopy "%userprofile%folder1" "%userprofile%folder2" /e /copyall

之后我们需要设置一个运行命令的热键

单击(+)图标进入热键设置并分配热键

我的热键是 ctr + 0,只是因为它可用。

现在,每次我运行热键时,它都会将我的所有文件复制到hugo文件夹中,准备发布

自动发布脚本

我也希望能够自动发布我的文章。但我希望通过按下热键来实现它。

我写了一个小脚本来完成这个任务:

#!/bin/bash
cd ~/Documents/blog

hugo

git add .
git commit -m "new"
git push -u origin main

登录后复制

这个脚本将构建我的网站,提交并推送到我的 github 存储库,在那里它被提取和发布。阅读我如何免费设置此博客(域名、托管、ssl)完整指南,了解如何免费设置您自己的博客。

不要忘记通过运行使脚本可执行

chmod +x ./yourscript.sh

然后为 shellcommand 插件创建一个新的 shell 命令(就像我们之前所做的那样)并输入脚本的路径。

就我而言是:

~/documents/blog2/push.sh

然后输入热键就完成了!

结论

我现在可以简单地打开我的黑曜石保险库,创建一个新文件,插入我的模板并自动输入所有信息。

然后我在黑曜石里面写我的文章

运行我的热键并将所有文件复制到hugo目录中

再按一个键,我的博客就发布了!

如果您喜欢这篇文章请考虑支持我

以上就是我的 Obsidian + Hugo 博客设置(使用热键自动发布)的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:dev.to网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
豆包 AI 助手文章总结
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号