之前有博客的读者找过来,我很惭愧,因为年后很长一段时间都没有更新博客了。我曾经有一段时间更新博客比更新公众号更勤,因为博客想发什么就发什么,可以不那么注重文章形式。如今为什么又懒得更新博客了呢?这就要从近期博客的改变说起了。

博客的变化

第一个变化是博客系统换到了Hugo

4个月前,我跟着博主木木折腾博客系统,因为喜欢木木的博客主题,我把博客从 Gridea 换到了 Hugo,博客的美观方面我是满意了,但是发布博客变得没有原来的 Gridea 那么方便了。Gridea 有客户端,界面操作简单。而 Hugo,像大多数静态博客系统一样,需要用到电脑命令,每次写完博客还需要用命令生成静态文件,然后把静态文件上传到服务器(或托管网站)。

第二个变化是重新把博客托管到github

因为去年购买腾讯云时,没有注意续费的费用,今年那个服务器方案已经非常不划算了,就没有再续费。好在域名还在,读者访问博客时的地址不变。

重新使用 github page 作为博客方案。问题是之前就有些读者反馈,国内访问速度慢的问题。

这两个改变结合下来,我发一篇博客要经过以下步骤:

  1. 在obsidian中写作文章
  2. 复制文件到 hugo 项目的 content/posts 文件夹
  3. 然后在 Hugo 项目下执行 hugo -D 命令,生成静态文件
  4. 再到public 文件夹下使用 git 命令将已生成的静态文件上传到 github。github page 作为博客展示。

而且每一次修改错别字,重新上传,都需要再 hugo -D ,再一通 git 操作。强烈打击了我发博客的积极性。

今天写这篇文章,原因就是,我已经改造了整个流程中麻烦的、不方便的环节,而且作为一个免费的博客方案,或许可以推荐给大家。

我的公众号读者中有一部分是从博客过来的,其中又有一部分对建立自己的博客感兴趣,其实我早想系统地说说搭建博客这回事,但又因为涉及内容有点多,一直没有信心能够说得清晰易懂。

如何拥有自己的博客

如果你想有一个博客,你需要3种东西:

  1. 博客系统:用来写博客
  2. 服务器:用来放网站的代码
  3. 域名:读者用来访问博客的一串地址,只有通过域名,互联网上的读者才能找到你。

这三种必不可少。

博客系统

博客系统分为两类:

  1. 动态博客系统:如wordpress、typecho(http://typecho.org)、ghost(https://ghost.org),这类博客系统直接有管理后台,线上编辑文章并发布。
  2. 静态博客系统:一般是使用markdown写作文章,然后将本地 Markdown 文件解析成静态html 页面。如 hexo、hugo、gridea

这两种类型的优缺点也很明显。

动态博客直接在线上操作,写文章和发布都很方便,和之前大家使用的新浪、腾讯线上博客没什么区别,缺点是文章都存在数据库,想要迁移出来很不方便。

静态博客的优点则是,源文件都是 Markdown 文件,对本来就使用 markdown 写作的博主来说没有任何迁移成本。缺点则是需要对 Markdown 文件进行解析。当然这一步都是博客系统在做,用户则需要学会使用命令,这对有些人来说也是一种学习成本(其实一般来说命令不超过5个,也都是简单的指令)。

静态博客中Gridea 与众不同,它不需要用户去学习命令,有对用户友好的客户端。

服务器

和一般人的印象不一样,你不是非得购买服务器和域名才能有自己的博客网站。为什么呢?这要感谢代码托管平台和网站托管服务的出现。

简单来说就是,有一些云服务商提供静态网站托管服务。比如众所周知的 github page,把你的 github 仓库作为网站对外开放。

再比如我这次使用的 Cloudflare page,支持从 Github、GitLab 等导入代码。支持5个免费的网站托管。

域名

如果你不想购买自己的域名,github page 和 Cloudflare page 都会自动生成一个二级域名供访问。

如果你想要有自己的独立域名,也可以购买域名(在阿里云、腾讯云、万网等都可以购买到域名),一年几十块钱就能购买到 .com 的域名。域名购买后进行实名认证、备案,再解析到服务器地址即可(具体的操作有具体的教程,此处就不多解释了)。

最新博客方案解析

在这里我也说一下我最新的博客方案配置。

我的博客系统还是 Hugo。github 托管博客系统的源文件(之前是利用github page做博客,托管的是解析后的博客网站静态代码),然后利用 Cloudflare page 托管,构建时选择Hugo系统,会自动把github上的源文件使用hugo进行构建(省略了自己在本地用命令进行解析)。

最后把域名托管到 Cloudflare ,给Cloudflare page 上的网站绑定自己的域名。结束。

我在本地用 obsidian 打开 hugo 博客项目,然后写作博客。利用obsidian-git 插件把整个库自动同步到 github。 Cloudflare page 会自动拉取 github 上的更新,然后将更改呈现出来。

整个过程,除了在 ob 中写文章,后面的一切都是自动的,不需要我额外做什么。

此次配置的详情,以及参考的教程,都发布在了博客,感兴趣的可以去浏览。

obsidian配合hugo、cloudflare:让发布博客简单到不可思议

#折腾 #博客 
自从我更换博客系统到 hugo 之后,我越来越少发博客了。原因除了最近写得少之外,就是发布起来不如之前使用 Gridea 那么方便了。 参考了几篇文章,现在的发布流程为: obsidian 创建文章并写作。 利用 obsidian-git 插件将文件自动同步到 github cloudflare 自动拉取 github 仓库,并自动构建为hugo 项目,相当于省略了本地执行 hugo -D 的过程。