Gridea和GitHub调通

Gridea和GitHub调通,EdgeOne加速,完美!

一、重操旧业

(一)框架选择

作为资深的WordPress用户,累了,年龄越大越不愿意折腾。多年前也了解了一些框架,按照网上的说法:

  • 性能优先:选择 Hugo,适合大型站点与多语言内容。
  • 快速建博:Hexo 或 Jekyl 更适合初学者和快速上线。
  • 文档优先:MkDocs(快速简洁)或 VuePress(功能更强)。
  • Vue 生态:使用 VuePress,可整合前端组件。
    特别提到,如果是GitHub Pages 部署,Jekyll 为最佳选择,官方原生支持。然而,官方是不支持Windows平台的。

(二)采用方案

  1. 以前的选择
    考虑到自己更新的频率不高,以上方案一个都没有选。日常还是使用的Obsidian本地记录,发布的不多,还是考虑使用Obsidian的Export as HTML插件,定期导出一份就可以了。
    哪怕是重新全站输出,量也不大。
  2. 存在的问题
    说是定期导出,但几乎就没有导出过。写作没有即时的展现,甚至没有写作的动力。而且导出的就是Obsidian的网页版,不太像网站,页面也比较单调。
  3. 现在的方案
    还是重新拾起了Gridea,简单不怕,皮肤不多也无所谓,再试试。

二、遇到的坑

(一)网络问题

  1. Tokens是通过Personal Access Tokens (Classic)链接申请,使用Personal access tokens (classic),而非Fine-grained personal access tokens。
  2. 使用Gridea同步,不能开启watt之类的网络加速,不然必然同步失败。
  3. 基于GitHub不可名状的网络问题,还是有可能失败,只要成功过,就不要灰心,总会同步成功的。
  4. 有精力的话,使用腾讯的EdgeOne加速一下,部署速度还是能跟上。

(二)域名问题

  1. 远程同步配置有CNAME选项,一定要CNAME到GitHub绑定的域名,因为Gridea要覆写根目录下的CNAME文件,如果配置不正确,GitHub绑定的域名将无法访问。
  2. 我未理解的结果:我使用了EdgeOne加速,理论上将,如果直接访问GitHub,应该就是原生站点,结果访问原生站点,页面也会转到CDN的域名,暂时没有搞懂。不过结果是好的:速度快。

(三)模板问题

使用的NEXT模板,页脚的作者为空,需要在Gridea的模板里面配置。

(四)编辑器问题

  1. 不能使用Obsidian编辑,因为使用后会在post文件夹新增.Obsidian文件夹,然后再用Gridea打开,文章就读取不出来了(文章还在)。
  2. 作为编辑器,Gridea美中不足就是不支持实时渲染,不能看见md文档的实时效果,文档基本参数确定后,可以考虑使用Typora深度编辑。

(五)more问题

首页不想显示太多内容,需要合理使用more,more以前是摘要,后面才是正文。

(六)URL和标签问题

  1. URL:支持SLUG和ShortID模式,前者是使用文章标题的拼音(URL友好版本),后者是随机字符(唯一标识符)。整体而言,SLUG模式似乎更好,如果能实现ID序号当然最好(我的wordpress是这种风格)。
  2. Gridea的URL生成逻辑主要由slug.ts模块实现,该模块负责将文章标题转换为标准化的URL片段。其核心原理是通过 transliteration 库将中文转换为拼音,再使用 slug 库进行标准化处理,确保生成的链接符合网络标准。在URL中,连字符(-)是分隔单词的最佳选择,Gridea默认使用这种方式。避免使用下划线或空格,这会影响搜索引擎对单词的识别。
  3. 标签:建议还是使用SLUG模式,一言以蔽之:随机字符虽然能实现唯一性,但不太友好。

三、发布

感谢腾讯云EdgeOne,绑定了mysay.muyu.org域名发布。