继续折腾astro

前言

hexo用了很长时间了,听说又有了新的基于markdown文档的静态博客:astro

本着尝鲜与折腾的想法,继续了astro的博客之路

模板

博客当然是要选个好看的模板了,挑来挑去相中了这个:Gyoza

使用 Astro 和 React 构建的简单可爱的静态博客模板。

特性:

- ✅ 有着规范的 URL 和 OpenGraph 信息,对 SEO 友好
- ✅ 支持站点地图
- ✅ 支持 RSS 订阅
- ✅ 支持夜间模式
- ✅ 特殊日期变灰
- ✅ 简单干净的配色和主题
- ✅ 支持评论系统
- ✅ 支持代码高亮

魔改

选好模板之后,就是按照自己的喜好和需求,进行大刀阔斧的改造——魔改:

  • 顶部logo去除圆角样式

  • hero模块增加enable配置,默认false

  • 导航菜单显示分类标签

  • 指定分类增加转载提示,配置在config.jsoncopyrightCategory字段

  • 分页url/结尾,以适配原hexo时使用的url

  • 支持http://xxx.com/[id].htmlurl地址,参考官方文档

  • 调整specarchive文件,使其适配原hexo时使用的/结尾url

  • rss.xml改为feed.xml,以适配原hexo时使用的url。另:同步修改文章url/[id].html形式

  • datelastMod的类型改为string,方法实现参考官方文档

  • 移除提交友情链接内容

  • 增加支付宝收款码,配置在config.json

  • 分享到增加支持微博QQ空间

  • 分享此内容修改为扫码阅读

  • 返回顶部模块增加社交账号显示,支持:QQ、GitHub、Telegram、Twitter、Email,配置取自config.jsonhero.socials字段

  • 文章授权右侧签名图片替换,手写体svg图片可使用网站 Calligrapher.ai 在线制作

  • 文章底部增加其它发布渠道模块,配置在config.jsonfollowMe字段

  • 集成 elog ,以使用notion管理文章

  • 支持restful api,支持以下接口访问,仅支持get请求,全字段返回。swiper需要的文章在config.jsonrestful.swipers字段配置,更多需求参考官方文档

    1
    2
    3
    4
    /api/posts/[page].json
    /api/search.json
    /api/swiper.json
    /api/articles/[slug].json
  • 支持各类站长平台网站所有权的txt文件验证,配置在config.jsonwebMasterTxt字段

  • GitHub actions应用 Tencent COS Action 部署到腾讯COS,并使用脚本刷新cdn缓存

  • 代码自动换行

  • 头部head标签中增加广告位通用代码,支持百度联盟广告

  • 文章底部article标签中最后面增加广告位代码,支持百度联盟广告

  • footer模块按Innei进行调整,支持备案号显示,配置在config.jsonsite.icp字段

  • 调整Markdowncodeurl样式

  • 改动有点多、有点杂乱,不能一一记录

总结

相较于hexoastro对其有种吊打般的感觉。基本上hexo能有的功能,astro也可以轻松实现,模版的处理也比hexo更容易定制。目前基本上还原了hexo时的博客状态,唯一的遗憾就是添加Google Adsense广告失败,等后续大佬们的分享吧还是。

关于

评论

次后博客关闭评论功能,因为使用率太低、存在感不足、白白浪费资源,有需要的朋友可以直接通过博客提供的联系方式直接联系。

广告

广告只是为了:可以不用,但是不能没有的原则,因此博客中广告推荐屏蔽。

感谢

在此特别感谢astro-gyoza项目的开源分享