worldsite / blog.sc

Blogging soul chat, stay cool. via: https://blog.sc
3 stars 0 forks source link

[博客] 我最终选择用Github issues来写博客 #2

Open suhao opened 4 years ago

suhao commented 4 years ago

image 作为一个IT从业者,一直想挑选一个合适的平台来写博客,希望有一个高度定制化的界面,展示自己独一无二的个性和工作、技能等。折腾过WordPress、hexo,自行搭建服务等一系列尝试后,间断性的码字总是被服务搭建到期而终止。最终发现,基于issuess的方式就是我想要的博客平台。

为什么是Github Issues?

作为全球最大的代码托管平台,又被微软收入麾下,其可靠程度是非常高的,基本不用担心存放在里面的数据会丢失。

Github issues 提供了非常方便快捷的编辑能力,尤其是贴图。它支持通过拖拽、粘贴、选择的方式上传图片,图片会存放在 user-images.githubusercontent.com 这个地方,且支持外链——这也意味着我们可以很方便地把 issue 的内容转载到其他的平台。

在 Github issues 里面,可以为某条 issue 添加点赞、爱心等互动标签(Reactions),也可以设置分类标签(Labels),更可以给 issue 添加评论(Comment)。

Github 提供了一套满足了绝大部分需求的 API,囊括了 REST 和 GraphQL 的调用方式,这才是 Github 能够成为我们博客平台的大杀器。

作为一个博客平台,它满足了我的以下需求:

  1. 先有Github,再有Issues:免费,安全;免费,安全;免费,安全
  2. 个人介绍:github自带展示个人技能的平台属性
  3. 文章的撰写与展示:对一个博客来说,最重要的就是它的内容,也就是里面的文章。一个好用的博客平台应该具备方便的撰写文章的能力,让够让用户毫无负担地撰写、编辑自己的文章。此外,还必须能够文章的信息,比如展示标题、节选、封面,创建/修改时间,评论点赞数等等
  4. 归档能力:一篇文章的撰写时间、内容标签/分类等都是不同的,如何按照不同的要求对这些文章进行归档整理,也是考验博客平台的能力之一。再者,当文章数量较多的时候,添加一个搜索的功能也能大大方便读者对博客的浏览
  5. 博主与读者互动的能力:仅仅只有博主一个人自嗨可能难以激发写作的动力,如果博客能够提供博主与读者互动的能力,将能有效激励博主持续创作,更能提升文章的传播度——点赞和评论功能则是互动能力中最重要的功能之一

前后端分离

使用 Github issues 作为博客平台,也就是相当于管理后端。我们在管理后端里面撰写文章,设置标签,回复评论,然后通过 API 调用把数据传送给客户端。

管理后端直接用现成的 Github issues 页面,那么客户端则使用 Github 为开发者免费提供的静态页面部署服务 Github pages。要使用这个服务,只需要开通一个仓库,然后在仓库的 Settings 里面找到 Github pages 并打开即可,默认会以 Master 分支的根目录作为静态资源目录,我们只需要把客户端的静态资源直接放置在这里就好。

开通了 Github pages 以后,便可以通过其提供的 URL 直接在浏览器里访问到博客了,而博客的数据则完全加载自 Github API。通过已授权的接口,还允许提交评论等功能。

结语

总结一下,Github issues 提供了一个博客平台所需的的各项基本能力,与 Github 的可靠性, API 的全面性,Github pages 的便捷性结合在一起,都非常适合作为一个博客平台来使用。

下一步,我将一步一步学习如何基于Issues搭建个性化的博客平台。欢迎一起来学习、交流。