更新 Hexo 和 NexT 主题,使用 Twikoo 评论系统
博客换到 Hexo 之后,就一直没有更新过 Hexo 和 NexT 主题的版本,现在版本差的有些多。
1 | hexo --version |
更新一下
样式修改可以放在自定义样式文件中,尽量避免修改主题的源文件
跳转到 添加自定义样式
1. 设置环境
1 | # 安装 Hexo |
2. 编辑配置
修改配置 _config.yml
将主题设置为 next
- 语言由
zh-hans
修改为zh-CN
使用独立的 _config.[theme].yml
文件(Hexo 文档),不在主题文件夹内修改配置,避免 git 更新时提示冲突
在 Hexo 主目录下执行下面的命令,然后修改 _config.next.yml
即可
1 | cp themes/next/_config.yml _config.next.yml |
2.1 使用 Git 分支处理主题源文件硬编码
偶尔还是需要直接修改一下主题源代码,使用分支进行在进行更新时比较方便一些
1 | # 新建并切换到 my 分支 |
3. 问题处理
预览
1 | hexo g && hexo s |
与在线版本对比后,进行修改
关闭载入动画
编辑theme/next/_config.yml
1
2motion:
enable: false站点
Title
字体变动
设置为Lato
字体变大
字体size
设置为 0.9 后与之前的一致1
2
3
4global:
external: true
family: Ubuntu
size: 0.9图片
- 启用点击
配置文件启用fancybox
给图片加个边框- 移除 Fancybox 的 Image Caption
在自定义样式
文件中添加或是修改1
2
3
4
5
6
7
8
9/*一通操作猛如虎,打开暗黑模式丑上天
.post-body img {
margin: 0 auto;
padding: 3px
border: 1px solid #ddd;
}*/
.post-body .image-caption {
display: none;
}next/source/css/_schemes/Mist/_posts-expand.styl
- 启用点击
顶部导航的 MENU 改为靠右对齐
在自定义样式
文件中添加1
2
3.menu {
text-align: right;
}或是编辑文件themes/next/source/css/_schemes/Mist/_menu.styl
文章多了
更新于...
编辑theme/next/_config.yml
1
2
3post_meta:
updated_at:
enable: falseFooter 红心颜色
设置为"#666"
About 页面, HTML + Markdown 嵌套后不解析
就一行,直接用 HTML 写了启用搜索
1
2
3
4
5
6
7
8
9
10
11
12
13npm install hexo-generator-searchdb --save
#_config.yml
search:
path: search.xml
field: post
format: html
limit: 10000
# /theme/next/_config.yml
# Local search
local_search:
enable: true暗黑模式选中背景不清晰
在自定义样式
文件中添加1
2
3::selection {
background-color: #424242;
}Disqus load after click
不会改了,反正也没有什么评论,正好也发现了 Twikoo ,换上。隐藏 Logo 的上横线
这就需要编辑主题的源文件了next/layout/_partials/header/brand.njk
找到下面内容,<i class="logo-line"></i>
一个是上横线,一个是下横线1
2
3
4
5<a href="{{ config.root }}" class="brand" rel="start">
<i class="logo-line"></i>
<{% if is_home() or is_archive() %}h1{% else %}p{% endif %} class="site-title">{{ title }}</{% if is_home() or is_archive() %}h1{% else %}p{% endif %}>
<i class="logo-line"></i>
</a>
4. 设置 Twikoo
使用 docker 安装
1 | docker pull imaegoo/twikoo |
使用 docker compose
相比 docker run
命令,使用 docker compose 更为简单,首先在创建一个文件夹,再创建 docker-compose.yml
文件。
1 | services: |
1 | # 拉取、更新镜像 |
设置 Nginx 反代
1 | server{ |
docker run 模式设置自启动
1 | docker update --restart=always twikoo |
测试
访问使用的域名,如果成功则提示
1 | {"code":100,"message":"Twikoo 云函数运行正常,...","version":"1.x.x"} |
设置面板
第一次打开 Twikoo 面板,需要设置 密码 ,然后进入面板可以导入平路、设置站点信息、邮件发送、消息推送等功能。
部署到 Hexo
1 | #NexT version 8.15.0 |
编辑配置主题文件,添加下面内容
1 | twikoo: |
1 | hexo g && hexo s |
预览,然后点击 ⚙ 设置管理密码,然后进入面板设置。
5. 推送更新
1 | npm install hexo-deployer-git |
6. 设置 Links 页面样式
添加自定义样式文件
先修改主题配置文件,开启自定义样式文件,将文件放在 Hexo 文件夹内,而不是主题的文件夹
编辑 themes/next/_config.yaml
1 | custom_file_path: |
编辑或是创建 styles.styl
,加入下面的样式
1 | /* Links 页面样式 */ |
创建 Links 页面
编辑主题配置文件,设置链接
1 | menu: |
创建页面
1 | hexo new page links |
内容如下
1 | --- |
site.data
就是 source/_data
目录,后面的 links
就是后面创建的 links.yml
友链文件。
如果想再添加一组不同的链接,可以再建一个 linkb.yml
=> {% for link in site.data.linkb %}
。
添加友链
在 source/_data/
目录下新建 links.yml
文件,按照格式填入链接。
部署到 Hexo
links.yml
有改动时 hexo g
不会更新 links 页面,先 hexo clean
一下就可以了。
1 | hexo clean |
Ref: Hexo + NexT 8 添加友链
7. 隐藏 Mist 边栏 Link 的点与下划线
在 自定义样式 中添加
1 | /* 侧栏 Social Link */ |
8. 设置 Feed
1 | npm install hexo-generator-feed |
在 Hexo 主配置文件中加入
1 | plugin: |
9. 主题文件中硬编码的内容备份
删除 NexT.Mist LOGO 顶部横线,删除第一个 <i class="logo-line"></i>
1 | <a href="{{ config.root }}" class="brand" rel="start"> |
导航菜单 links
翻译
1 | menu: |
修改颜色
1 | $black-dim = #303134; |