我是靠谱客的博主 聪慧砖头,最近开发中收集的这篇文章主要介绍Hexo 和 Obsidian 文章实时同步,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

转自:符号链接、硬链接及其在 Windows 上的应用举例 - 少数派

Hexo 是一个静态博客生成工具,Obsidian 则是一个本地笔记管理工具,这两个工具的库我都使用 Git 做版本管理。

因为博客文章常常就是笔记中的文章,所以正常情况下,我需要将笔记中写好的 Markdown 复制粘贴到 Hexo 的博客目录下,然后再发布。一份文本此时被分成了两个数据,一旦需要更改,还得在两边分别编辑。

既然这两个工具会使用到同一份文本,为什么不能使用硬链接将他们共同的 Markdown 连接在一起呢?

需要做的工作是,在为 Hexo 创建文章时,同时在 Obsidian 的笔记目录下创建这个文章的硬链接。由于两者数据相通,在 Obsidian 处的编辑会自动同步到 Hexo 端。示例脚本 New-Blog.ps1 如下:

```code-line
## 计数作为文件名
$count = [System.IO.Directory]::GetFiles("$homeHexosource_posts").Count
## 提前写入 Markdown 的 yaml 头
$date = Get-Date -Format "yyyy-MM-dd HH:mm:ss"
$yaml = "---" + "`ntitle: $count" + "`ndate: '$date'" + "`nupdated: '$date'" + "`ncategories: []" + "`ntags: [blog]" + "`ndescription:" +"`n`n---"
## 在 Hexo 中创建文件
Write-Output $yaml | Out-File $homeHexosource_posts$count.md
## 在 Obsidian 中创建硬链接
New-Item $homeNote$count.md -Type HardLink -Target $homeHexosource_posts$count.md
## 退出
exit
```

配合几行简单的 AHK 脚本:

```code-line
#!N::
run, "%USERPROFILE%ProgramNew-Blog.ps1",,hide
return
```

当按下 Win + Alt + N 时,就会静默运行脚本,同时新建博客和笔记。重命名和移动文件都不会改变文件 ID,因此,只要不删除,无论在 Obsidian 上怎么折腾都不会影响两者的同步关系。如果我不满意某篇博客,在 Hexo 删除了它,那么文本在 Obsidian 那里仍然留存。

在此例中,可能有人会问「为什么不用符号链接?」主要原因是 Obsidian 目前似乎有意5忽略掉笔记库的符号链接。另外,本例中的 Markdown 文件也比较适合使用硬链接。作为对比,Word 文档在编辑保存时原文件会被删除,替代以新文件,文件 ID 会改变,而这将导致链接失效。

其他复杂的文件格式或特殊的编辑器可能也有类似的情况。

最后

以上就是聪慧砖头为你收集整理的Hexo 和 Obsidian 文章实时同步的全部内容,希望文章能够帮你解决Hexo 和 Obsidian 文章实时同步所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(76)

评论列表共有 0 条评论

立即
投稿
返回
顶部