Gridea和GitHub调通,EdgeOne加速,完美!
一、重操旧业
(一)框架选择
作为资深的WordPress用户,累了,年龄越大越不愿意折腾。多年前也了解了一些框架,按照网上的说法:
- 性能优先:选择 Hugo,适合大型站点与多语言内容。
- 快速建博:Hexo 或 Jekyl 更适合初学者和快速上线。
- 文档优先:MkDocs(快速简洁)或 VuePress(功能更强)。
- Vue 生态:使用 VuePress,可整合前端组件。
特别提到,如果是GitHub Pages 部署,Jekyll 为最佳选择,官方原生支持。然而,官方是不支持Windows平台的。
(二)采用方案
- 以前的选择
考虑到自己更新的频率不高,以上方案一个都没有选。日常还是使用的Obsidian本地记录,发布的不多,还是考虑使用Obsidian的Export as HTML插件,定期导出一份就可以了。
哪怕是重新全站输出,量也不大。 - 存在的问题
说是定期导出,但几乎就没有导出过。写作没有即时的展现,甚至没有写作的动力。而且导出的就是Obsidian的网页版,不太像网站,页面也比较单调。 - 现在的方案
还是重新拾起了Gridea,简单不怕,皮肤不多也无所谓,再试试。
二、遇到的坑
(一)网络问题
- Tokens是通过Personal Access Tokens (Classic)链接申请,使用Personal access tokens (classic),而非Fine-grained personal access tokens。
- 使用Gridea同步,不能开启watt之类的网络加速,不然必然同步失败。
- 基于GitHub不可名状的网络问题,还是有可能失败,只要成功过,就不要灰心,总会同步成功的。
- 有精力的话,使用腾讯的EdgeOne加速一下,部署速度还是能跟上。
(二)域名问题
- 远程同步配置有CNAME选项,一定要CNAME到GitHub绑定的域名,因为Gridea要覆写根目录下的CNAME文件,如果配置不正确,GitHub绑定的域名将无法访问。
- 我未理解的结果:我使用了EdgeOne加速,理论上将,如果直接访问GitHub,应该就是原生站点,结果访问原生站点,页面也会转到CDN的域名,暂时没有搞懂。不过结果是好的:速度快。
(三)模板问题
使用的NEXT模板,页脚的作者为空,需要在Gridea的模板里面配置。
(四)编辑器问题
- 不能使用Obsidian编辑,因为使用后会在post文件夹新增.Obsidian文件夹,然后再用Gridea打开,文章就读取不出来了(文章还在)。
- 作为编辑器,Gridea美中不足就是不支持实时渲染,不能看见md文档的实时效果,文档基本参数确定后,可以考虑使用Typora深度编辑。
(五)more问题
首页不想显示太多内容,需要合理使用more,more以前是摘要,后面才是正文。
(六)URL和标签问题
- URL:支持SLUG和ShortID模式,前者是使用文章标题的拼音(URL友好版本),后者是随机字符(唯一标识符)。整体而言,SLUG模式似乎更好,如果能实现ID序号当然最好(我的wordpress是这种风格)。
- Gridea的URL生成逻辑主要由slug.ts模块实现,该模块负责将文章标题转换为标准化的URL片段。其核心原理是通过 transliteration 库将中文转换为拼音,再使用 slug 库进行标准化处理,确保生成的链接符合网络标准。在URL中,连字符(-)是分隔单词的最佳选择,Gridea默认使用这种方式。避免使用下划线或空格,这会影响搜索引擎对单词的识别。
- 标签:建议还是使用SLUG模式,一言以蔽之:随机字符虽然能实现唯一性,但不太友好。
三、发布
感谢腾讯云EdgeOne,绑定了mysay.muyu.org域名发布。