NexT主题支持MathJax渲染,只需要做一些简单的安装和配置。
Hexo的配置
1 | npm install hexo-math --save |
开启数学公式支持
第一种方法:在next主题的文件夹下的_config.yml
(不是hexo文件夹下的_config.yml)找到如下语句:
1 | # Math Equations Render Support |
将enable修改为true
第二种方法:在加入了LaTeX数学公式的文章开头加入声明 mathjax: true
数学公式使用方法:在两个双dollar符中输入latex数学公式
优化
国内网络访问mathjax的CDN比较慢,可以去github下载源码,将unpacked文件夹拷贝到js本地目录
Markdown与MathJax冲突问题解决
网上有些做法是在写LaTeX的时候加入逃逸字符,但是这样做使得LaTeX只能在Markdown上渲染,在tex文件中还是要改回正常的状态,这样不具备拓展性。可以通过更改渲染引擎达到解决冲突的目的。
1 | npm uninstall hexo-renderer-marked --save |
hexo-renderer-marked
是Hexo自带的默认渲染引擎(注意,如果使用了其他的渲染插件,请卸载对应的插件),没有针对MathJax的改进。而hexo-renderer-kramed
这个渲染插件针对MathJax支持进行了改进,对于Markdown和MathJax会分别渲染。尽管如此,对于行内公式有时还是会出现误将下划线识别为 Markdown 语法的情况。这时需要参考官方文档修改 escape 字符:https://hexo-guide.readthedocs.io/zh_CN/latest/theme/[NexT]%E9%85%8D%E7%BD%AEMathJax.html
两种配置文件的区分
站点配置文件:Hexo博客根目录下的 _config.yml
主题配置文件:./themes/主题名/_config.yml
首页置顶文章功能
1 | npm install hexo-generator-topindex --save |
通过在文章中添加 top: 数值 来设置优先值,默认优先值为0。
本人使用minos主题不支持新插件,因此只能安装新版的hexo-generator-index,通过设置sticky:数值来实现同样功能。
NexT主题的配置
修改字体大小 / 修改文章页面宽度
在next主题文件夹下, 进入 source/css/_variables/base.styl, 找到
1 | // Font size |
将 14px 的大小修改为16或者18px.
修改文章页面宽度
1 | $content-desktop = 700px |
to 800 px or larger.
图片居中显示
Hexo中使用的markdown渲染引擎为 marked. 想让图片居中显示, 可以修改主题渲染文件.
修改底部#标签为图标
网站根目录下 themes\next\layout_macro\post.swig 文件.
搜索 rel="tag">#
, 将 #
替换成图标 <i class="fa fa-tag"></i>
.
将阅读次数修改为热度
进入 /themes/next/layout/_macro/post.swig 文件, 搜索 LeanCloud, 在 <span class="leancloud-visitors-count"></span>
后添加 <span>℃</span>
, 然后再将 /themes/next/languages/zh-CN.yml 文件中post:
框下views:阅读次数
修改为 views:热度
.
添加字数统计
安装字数统计插件
1 | npm install hexo-symbols-count-time --save |
在主题配置文件中设置:
1 | # Post wordcount display settings |
在站点配置文件中设置:
1 | symbols_count_time: |
If you want to add the word after the counting numbers like the following:
open this file your blog dir/themes/next/layout/_macro/post.swig
and find
1 | <span title="{{ __('symbols_count_time.count') }}">{# |
like this.
在 Github Pages 中添加 gitalk 评论功能
在 Github 中新建一个 OAuth Applications, 记住 client_id, client_secret. 然后在 next 主题配置文件中添加
1 | # Gitalk |
这样默认评论框就开启了,如果想关闭它,则在文章标签中设置:
comments: false
就可以了。
取消toc栏的自动编号
https://blog.guaoxiaohei.com/posts/Hexo-Level/
Minos主题的配置
配置Minos主题的目的是为了写双语博客。(目前支持的 Hexo 版本为 v3.6.0)
1.在themes文件夹下:
1 | git clone https://github.com/ppoffice/hexo-theme-minos.git minos |
2.修改语言配置,在minos文件夹下
1 | cp _config.yml.example _config.yml |
编辑_config.yml文件下menu项,保留自己想要的部分:
1 | # Navigation bar menu links. |
1 | cp _config.yml _config.en.yml |
在_config.zh-cn.yml中修改中文菜单栏:
1 | # Navigation bar menu links. |
在minos/commons文件夹中,将languages.ejs中的<%- partial('common/languages') %>
剪切,放到navbar.ejs的对应位置
3.修改文件布局
在_post文件夹下新建zh-cn文件夹,将原md文件和文件夹拷贝过去;在source文件夹下新建zh-cn文件夹,将about、categories、tags等文件夹拷贝过去
4.hexo s
尝试启动
1 | ERROR Package hexo-generator-index is not installed. |
安装所需依赖:
1 | npm install hexo-generator-index |
与Typora的配合
原先一直使用VS Code编写博客Markdown文件,换新电脑的时候发现VS Code占用的磁盘空间真尼玛的多,而且还散落各处。于是试用了Typora,相比VS Code先进了不少。主要是插入图片的功能要修改一下:
插入图片
打开Typora设置插入图片到指定路径:
此时粘贴一张图片到typora中就可以自动显示了,但是由于路径中包含了文件名,而Hexo在generate的时候自动加上文件名,会导致没有办法在网页中预览,这是需要在Hexo博客目录下安装新的插件:
1 | npm install --save-dev hexo-typora-image |
对于已经生成的文档中如果想要插入图片并且能显示,在顶栏添加
1
typora-copy-images-to: 当前文档图片文件夹路径
新的文档生成,在scaffolds/post.md中添加
1
typora-copy-images-to: {{ title }}
评论
shortname
for Disqus. Please set it in_config.yml
.