0

0

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

PHPz

PHPz

发布时间:2024-08-20 08:00:42

|

811人浏览过

|

来源于dev.to

转载

我的 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 要求。

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

慧中标AI标书
慧中标AI标书

慧中标AI标书是一款AI智能辅助写标书工具。

下载

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

文件夹同步

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

感谢一位乐于助人的不和谐用户,我找到了 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目录中

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

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

相关专题

更多
golang如何定义变量
golang如何定义变量

golang定义变量的方法:1、声明变量并赋予初始值“var age int =值”;2、声明变量但不赋初始值“var age int”;3、使用短变量声明“age :=值”等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

180

2024.02.23

golang有哪些数据转换方法
golang有哪些数据转换方法

golang数据转换方法:1、类型转换操作符;2、类型断言;3、字符串和数字之间的转换;4、JSON序列化和反序列化;5、使用标准库进行数据转换;6、使用第三方库进行数据转换;7、自定义数据转换函数。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

228

2024.02.23

golang常用库有哪些
golang常用库有哪些

golang常用库有:1、标准库;2、字符串处理库;3、网络库;4、加密库;5、压缩库;6、xml和json解析库;7、日期和时间库;8、数据库操作库;9、文件操作库;10、图像处理库。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

340

2024.02.23

golang和python的区别是什么
golang和python的区别是什么

golang和python的区别是:1、golang是一种编译型语言,而python是一种解释型语言;2、golang天生支持并发编程,而python对并发与并行的支持相对较弱等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

209

2024.03.05

golang是免费的吗
golang是免费的吗

golang是免费的。golang是google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的开源编程语言,采用bsd开源协议。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

393

2024.05.21

golang结构体相关大全
golang结构体相关大全

本专题整合了golang结构体相关大全,想了解更多内容,请阅读专题下面的文章。

197

2025.06.09

golang相关判断方法
golang相关判断方法

本专题整合了golang相关判断方法,想了解更详细的相关内容,请阅读下面的文章。

191

2025.06.10

golang数组使用方法
golang数组使用方法

本专题整合了golang数组用法,想了解更多的相关内容,请阅读专题下面的文章。

212

2025.06.17

Java编译相关教程合集
Java编译相关教程合集

本专题整合了Java编译相关教程,阅读专题下面的文章了解更多详细内容。

9

2026.01.21

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 7.5万人学习

Git 教程
Git 教程

共21课时 | 2.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

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