Obsidian里一键发布&预览Hexo博客

Obsidian里一键发布&预览Hexo博客

三葉Leaves Author

本文章能帮你实现仅在Obsidian里,完成从写作、部署到发布的全流程。如果你使用Obsidian + Hexo + Git&Netlify&Vercel这种类型的工作流,这将对你十分受用

1. 编写脚本

编写一键发布脚本

将如下代码粘贴进记事本,并且重命名成DeployBlog.bat这样的批处理文件,最好保存在你博客的根目录下。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
@echo off
:: 下面替换成你的博客项目地址如:D:\Projects\LeavesBlog
cd /d "你博客的项目地址"
setlocal
:: 获取年、月、日
for /f "tokens=2 delims==" %%a in ('wmic os get localdatetime /value') do set "dt=%%a"
set "year=%dt:~0,4%"
set "month=%dt:~4,2%"
set "day=%dt:~6,2%"
:: 获取小时、分钟、秒
set "hour=%dt:~8,2%"
set "minute=%dt:~10,2%"
set "second=%dt:~12,2%"
:: 构建日期字符串
set "DATE=%year%-%month%-%day% %hour%:%minute%:%second%"
:: 执行Hexo生成和Git命令
hexo g && git add . && git commit -m "ArticlePublish[%DATE%]" && git push
endlocal
pause

编写一键预览脚本

同样的逻辑,这次我将编写好的文本文档保存为LocalServer.bat 。命令里只用到了一个hexo s,那是因为我们在obsidian里只会改动到.md文件,而这种文档,hexo是会实时更新的(只需浏览器里刷新网页就能查看变动)

1
2
3
4
@echo off
:: 下面替换成你的博客项目地址如:D:\Projects\LeavesBlog
cd "你博客的项目地址" && start http://localhost:4000 && hexo s
pause

2. 将脚本嵌入Obsidian

我们先在Obsidian里新建一个Markdown文档,我这里命名为shortcuts.md,最好放在根目录下。
由于在Obsidian里可以使用![]()来插入文件,所以可以这样写:
![一键发布](DeployBlog.bat)
![一键预览](LocalServer.bat)
前提是你Obsidian的仓库地址必须和博客的项目地址相同
圆括号里可以用相对路径,但是貌似用不了绝对路径,因为一用绝对路径它会把链接当成图像来处理。 最终效果如下:

完成后的效果
完成后的效果

如此一来,以后我们写完Obsidian文章,就无需再开启IDE或者开终端去打指令了,那样做割裂感太强,一点也不优雅。以后我们直接在Obsidian里点击那个按钮就行。

3. 编写计划任务

如果你连那个按钮都懒得点,只想专注于写作的话,那给Windows添加一个计划任务,使其每次检测到Obsidian关闭时,自动执行Deploy.bat那个脚本就行了。

  • 标题: Obsidian里一键发布&预览Hexo博客
  • 作者: 三葉Leaves
  • 创建于 : 2024-11-08 00:00:00
  • 更新于 : 2025-01-05 18:48:33
  • 链接: https://kiss1314.top/a36c83735b20/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论