obsidian + cloudflare + halo 实现博客自动更新

实现过程:

准备的资源

  1. Cloudflare: 全球云平台 | Cloudflare 中国官网 | Cloudflare
  2. 图床项目: CloudFlare ImgBed
  3. Obsidian:Obsidian - Sharpen your thinking
  4. Obisdian 上传文章插件:halo-sigs/obsidian-halo
  5. Obsidian 上传图片插件:fantasy-ke/obsidian-cf-imgbed
  6. Halo 博客框架 (需要 vps):Halo - 强大易用的开源建站工具

操作步骤

  1. 打开 cloudflare 官网,部署图床项目和存储桶,存储桶需要绑定信用卡,图床项目部署教程为:Cloudflare Pages 部署 | CloudFlare ImgBed
    存储费用为:

  2. 安装 halo 博客框架后,复制个人令牌,操作步骤可以参考:个人中心 | Halo 文档

  3. 安装 obsidian 后还要安装准备资源的两个插件,将图床项目设置的上传图片的密码粘贴到上传图片插件中,将 halo 的个人令牌粘贴到上传文章插件

  4. 在 obsidian 中写文章时,插件会自动将本地图片转换为图床的图片链接,点击上传文章按钮后,这篇文章会自动上传到 halo 后台,在 halo 后台点击发布,即可发布文章

注:

  • 在 obsidian 中修改文章后,点击上传文章按钮,halo 博客网站会自动下架这篇文章,并更新相关内容,分类和标签需要重新设置添加,封面图还在,点击发布按钮即可重新发布这篇文章
  • 如果发现已经在 halo 删除了的文章,本地 obsidian 重新上传成功后博客后台却没有这篇文章,请点击右上角回收站,将文件彻底删除后再次点击上传就可以了

结果分享

PixPin_2025-10-29_19-16-03

大概过程是这个样子的,具体部署细节还需要去文档查阅,文档挺详细的所以感觉没有重写的必要了,昨天还是第一次搭建博客,最后选择了halo,不是因为别的,主要是部署简单,1panel点两下就部署成功了,然后今天顺便把这个上传文档的问题解决了,感觉灰常不错 :face_savoring_food:

28 个赞

前排支持

好欸支持,正好用惯了obsidian,顺带搭博客了

1 个赞

跟我配置几乎一致,不过我的是hugo..但是吧我看到你这个小脑萎缩了,halo我没记错的话吗,他有后台

1 个赞

我第一时间以为是 hexo。
仔细看才发现是 halo。

有后台,但是本地写要上传到博客,那个图片是个问题,用图床解决后然后看到有插件一键能将文章上传到后台,这个文章就这么来了,我选择halo也不是因为要在网站后台上写,而是因为部署简单 :face_savoring_food:

如果是这样的话感觉你可以试试hugo

我的配置目前来说跟你的差不多,上传图片的插件我装上了已经,这个插件给我作者建议的,做了个手机版哈哈哈

2 个赞

昨天也试过hugo,然后跟的是站内的大佬这个帖子搞得: Hugo搭建博客入坑 - 文档共建 - LINUX DO,那个主题装完以后都能正常运行,就是卡在了内容组织那一块,我是第一次接触这么个东西感觉不是很懂,后面就没搞,转halo了,感觉halo还行

哈哈哈,可以试试我这个直接fork源码,然后按要求用cloudflare pages 搭建就行了,这应该是最简单的

1 个赞

OK啊,后面这个博客稳定下来就来搞一下试试,感觉还是蛮好玩的,谢谢佬的推荐 :smiling_face_with_three_hearts:

1 个赞

感谢大佬!

1 个赞

感谢佬友

感谢佬分享

今天就在想如何实现这一点,没想到佬直接给我喂到嘴里来了,十分感谢!

学习了,自己是在用obsidian+WordPress,一直在考虑要不要转Hexo,感觉WordPress太重了我用不上那么多东西,但也有点舍不得那点攒下来的SEO

目前我是在obsidian上写完以后使用插件将笔记发布到WordPress上,图片使用自建的rustfs,配合软件picgo或者shareX上传图片实现的。

没有这么复杂,你可能想复杂了。

hugo是静态博客这类的,本质上是把文档编译成HTML文件,部署在那都行只要是服务器对外都能给访问到网页。最大优势是低成本!可以不用买服务器随意迁移文档
我当初选择静态博客就看重了它把文章元信息frontmatter写在了文档开头,就是文档的创建时间、修改时间、标签、分组、slug、描述等。我讨厌那种要服务器存数据库的,把文档元信息和文档割裂开来了,你总要一个映射表将文档元信息和文档关联起来吧,如果丢失了呢?

我在文中提到了 GitHub 和 Netlify 就是为了自动构建和部署,实现效果:你在本地obsidian编辑完文档,点一下git的提交和推送,剩下就自动帮你构建然后部署,你就能看到博客内容更新了。

内容组织是哪里不能理解吗?:thinking:是我表达不清晰吗?:thinking:

这一小节就是跟你说清楚组织文件夹和文件然后对应网址路径的关系。
就这么简单。

然后我详细说了一下:文章列表(就是一个列表,你看我博客示例就知道了。通过_index.md)、页面page(文件夹内每个md都是一个页面,如果你不创建的话当然肯定一片空白啥都没有,content/在这个目录随便创建一个about.md呗试试看,然后你就访问/about/这个路径就能看见文章了!再结合前面说的菜单配置,你就弄成一个关于页面了,在顶栏可以点击!)、然后我还扩展说了一下页面捆绑(就是把一个文章的封面图缩略图等等文章内用到的图片和文档放在同一个文件夹内,相当于捆绑起来了,关键在于文档要命名成index.md才能生效和前面的列表用到差一个_

图床这个超简单吧。本质上就是markdown可以引用网络地址图片呗,关键在于你往编辑器直接粘贴或者拖拽的图片的时候自动上传图片并转链。但如果我没记错Typora和obsidian都有对应的实现,你是obsidian可以找插件肯定有。
(但我一般不喜用图床,我的博客图片不多也不专门展示图片。我主要害怕如果链接变更了我的图片全裂开的,但如果我用hugo的页面捆绑,把所用图片和文档都放同一个文件夹下,这样可以用相对路径,只要跟着走永远都不失效。
别担心存储太大,我会尽可能有损压缩JPG图片最后只剩十几KB的样子,如果你观察过我博客文章的图片,其实放大看都是模糊的,字体也失真模糊,但问题不大,多数情况下大概看清楚是什么就行,非常模糊也不影响的。)

2 个赞

直接hugo,也是静态博客,性能比hexo好,主题也丰富。
也可以用obsidian来通过git提交到GitHub私人仓库然后再通过 Netlify完成自动化构建和部署,hugo构建的话很快一两秒。而Netlify完整一套构建部署花费不到30秒就搞定了。

具体看:




建议用Netlify完成自动构建和部署,这个应该最方便了,只要登录GitHub账号授权仓库再设置一下环境变量就OK了。
Netlify大优势是国内直连延迟低!绿。

2 个赞

hugo的话哪里不一样呢,我也想试试这么搞