hexo-theme-Anatolo
关于主题
基于ben02移植的Anatole主题进行了前端重构。
现在,Anatolo已经是一个类型安全的小巧现代化 Hexo 主题。Anatolo 前端的 js 文件仅仅只有不到 40KB 大小,保证极快的加载速度。
Anatolo 还在Anatole主题基础上增加了动态请求、帖子目录、黑暗模式、搜索框等多种理应有的功能,并对界面进行了进一步美化。
鸣谢
搜索框代码大量参考了 Icarus 的工作
码云功能和一些中国特色功能来自 Anatole-core
改进
- 引入了现代化前端打包器 Rollup.js, Typescript 与 TSX
- 暗黑模式支持
- 增加了文章概要的选项
- 增加了多语言支持
- 增加了可选的搜索框,依赖Fuse.js允许模糊搜索
- 增加了可选的标签页和标签云
- 增加了可选的目录(toc)支持和深度调整
- 调整了部分选项的可选性
- 增加了nav menu的编辑支持
- 增加了文章底部的copyright栏
- 增加了文章的字数统计
- 增加了部分社交账号支持
- 增加了显示网站备案号功能和百度统计
- 增加了Gitalk评论支持
- 使用Ajax来切换页面,减少加载的视觉噪音
- 移动端自动scroll页面,防止过多纠结于头像
- 允许自动化生成友链
已知bug (feature)
- 原主题的葡萄牙语支持无法更新
- TOC放置可能不够美观
Won’t fix
- 暗黑模式的评论区只对 Gittalk 有支持,如有需要请自行PR
使用
安装
克隆本仓库并安装依赖:
1 | git clone https://github.com/Lhcfl/hexo-theme-anatolo.git themes/Anatolo |
在hexo博客根目录:
1 | npm install hexo-renderer-pug --save |
配置
复制_config.example.yml
为_config.yml
修改hexo根目录下的 _config.yml
: theme: Anatolo
更新、
在Anatolo的目录下
1 | git pull origin master |
开发
准备工作
进入Anatolo的目录,执行
1 | pnpm i |
安装所有依赖。
目录结构
.github
: GitHub 的 CI 配置文件,用于自动部署样例includes
: 主题内置的 Hexo 脚本languages
: I18n 文件layout
主题使用的模板,在服务端(也就是hexo g
)渲染成最后的 HTMLscripts
: 主题内置的 Hexo 脚本source
: 主题需要的HTML资产src
: 主题前端相关的 typescript 脚本。这些脚本会被rollup
打包并压缩成一个js/complied/bundle.js
代码格式化
对本主题做出修改后,使用下面的命令可以对代码进行格式化
1 | pnpm format |
详见 package.json