hexo博客next主题添加对数学公式的支持

本文介绍如何在Hexo博客Next主题中添加数学公式支持,包括选择合适的插件、安装配置hexo-filter-mathjax及解决语法冲突的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

hexo博客默认为markdown格式,但是新搭建的hexo博客不支持公式渲染,下面介绍hexo博客next主题下添加对数学公式支持的方法。


环境说明:
hexo版本:5.4.1
next版本: 最新版本(老版本已经停止更新,大家就不要再装啦!)


1、选择哪个公式插件?

打开hexo官网,在 插件 中搜索math,可以看到hexo官方提供两个支持数学公式的插件,分别是:
1、hexo-filter-mathjax
2、hexo-math
如下所示:
在这里插入图片描述

其中hexo-filter-mathjax只提供对mathjax数学公式,而hexo-math则提供mathjax和katex数学公式,两者均支持latex语法。笔者尝试了两种方式,最后发现实际上还是hexo-filter-mathjax更好用,原因主要有:
① hexo-filter-mathjax的格式和latex语法一致,比较简洁,而hexo-math则比较麻烦,比如我们要输入一个公式:
s i n ( ω t ) = 1 2 j ( e j ω t − e − j ω t ) sin(\omega t)=\frac{1}{2j}(e^{j\omega t}-e^{-j\omega t}) sin(ωt)=2j1(ejωtejωt)
则,hexo-filter-mathjax的格式为:

$$
sin(\omega t)=\frac{1}{2j}(e^{j\omega t}-e^{-j\omega t})
$$

在这里插入图片描述

而,hexo-math的格式为:

{% mathjax %}
sin(\omega t)=\frac{1}{2j}(e^{j\omega t}-e^{-j\omega t})
{% endmathjax %}

在这里插入图片描述

或者

{% katex %}
sin(\omega t)=\frac{1}{2j}(e^{j\omega t}-e^{-j\omega t})
{% endkatex %}

在这里插入图片描述

② hexo-filter-mathjax格式公式在VSCode中可以实时渲染(因为markdown可以渲染latex公式),而hexo-math插件支持的公式则不支持,所以如果安装的是hexo-math,则我们在VSCode中写md时无法看到公式的实时渲染。
③ 优快云同样支持markdown,所以也支持latex格式的公式,所有我们使用hexo-filter-mathjax格式写的md博客可以一次书写,多端部署,不会出现公式无法渲染的情况。
综上所述,推荐安装hexo-filter-mathjax,下面介绍hexo-filter的安装和配置。

2、安装并配置hexo-filter-mathjax

接下来介绍hexo-filter-mathjax的安装和配置步骤。
在安装过程中使用了以下描述,其含义为:
hexo目录:指的是hexo主目录(也称为站点目录),比如我的hexo博客放在 E:\Github\hexoBlog\ 目录,则我的hexo目录就是 E:\Github\hexoBlog
next主题目录:指的是你的主题目录,比如我的next主题的路径为:E:\GitHub\hexoBlog\themes\next,则我的主题目录就是:E:\GitHub\hexoBlog\themes\next
下面配置步骤中的所有命令均采用Git Bash命令行工具操作。

2.1 卸载hexo-math

首选,在hexo目录下使用下面的命令查看你是否已经安装了hexo-math插件:

npm list hexo-math

如果显示如下,则说明您没有安装hexo-math插件,这时候直接忽略2.1。
在这里插入图片描述

如果已经安装hexo-math,则会显示hexo-math版本号:
在这里插入图片描述

这时候输入以下命令将其卸载:

npm uninstall hexo-math --save

2.2 安装hexo-filter-mathjax

输入以下命令安装hexo-filter-mathjax:

npm install hexo-filter-mathjax --save

检查是否安装成功:

npm list hexo-filter-mathjax

如果显示了hexo-filter-mathjax版本号则说明安装成功。
安装成功后,我们可以进行一些全局配置,打开hexo目录下的_config.yml文件(我的是E:\Github\hexoBlog_config.yml),在最后面添加如下的代码:

mathjax:
  tags: none # or 'ams' or 'all'
  single_dollars: true # enable single dollar signs as in-line math delimiters
  cjk_width: 0.9 # relative CJK char width
  normal_width: 0.6 # relative normal (monospace) width
  append_css: true # add CSS to pages rendered by MathJax
  every_page: false # if true, every page will be rendered by MathJax regardless the `mathjax` setting in Front-matter

3、安装公式渲染器

hexo-math默认的公式渲染器是hexo-renderer-marked,它和markdown的语法有冲突,我们将其卸载,查看是否安装了hexo-renderer-marked公式渲染器:

npm list hexo-renderer-marked

如果安装了将其卸载:

npm uninstall hexo-renderer-marked  --save

然后我们安装一个新的公式渲染器,叫做hexo-renderer-kramed,它对hexo-renderer-marked进行了改进,在hexo目录下输入下面的命令安装:

npm install hexo-renderer-kramed --save

同样可以使用:

npm list hexo-renderer-kramed

来检查hexo-renderer-kramed是否安装成功(没成功就多试几次)。
安装成功后,我们修改以下文件的内容防止语法冲突。打开打开hexo主目录下的这个文件:E:\Github\hexoBlog\node_modules\kramed\lib\rules\inline.js,然后修改下面的规则(大家最好不要删除原代码,只是将其注释掉):

  //escape: /^\\([\\`*{}\[\]()#$+\-.!_>])/,
  //修改为:
  escape: /^\\([`*\[\]()#$+\-.!_>])/,
  //em: /^\b_((?:__|[\s\S])+?)_\b|^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,
  //修改为
  em: /^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,

记得保存并退出。
最后,我们打开next主题目录下的_config.yml,开启对mathjax的支持,如下所示:
在这里插入图片描述

4、公式输入测试

4.1 行间公式

$$
i\hbar\frac{\partial}{\partial t}\psi=-\frac{\hbar^2}{2m}\nabla^2\psi+V\psi
$$

在这里插入图片描述

则显示效果如下:
i ℏ ∂ ∂ t ψ = − ℏ 2 2 m ∇ 2 ψ + V ψ i\hbar\frac{\partial}{\partial t}\psi=-\frac{\hbar^2}{2m}\nabla^2\psi+V\psi itψ=2m22ψ+Vψ

4.2 行内公式

行内公式两边各用一个$标识,$和公式之间切记不要有空格

行间公式$O(f(n))=log_2^{n}$测试

在这里插入图片描述

其显示效果如下:
行间公式 O ( f ( n ) ) = l o g 2 n O(f(n))=log_2^{n} O(f(n))=log2n 测试
当前设置是所有博客文章自动开启对mathjax渲染支持,如果要关闭,请在文章的头部配置中关闭:
在这里插入图片描述

参考资料

hexo官网
hexo-filter-mathjax的Github主页
hexo-math的Github主页
mathjax官网
latex常用公式格式

<think>好的,我需要处理用户关于Hexo博客搭建与美化的请求。首先,用户提供了几个引用链接,我需要仔细查看这些引用内容,确保回答准确。根据引用1,用户提到了基本的网页搭建步骤,以及后续的美化和优化,还有简洁版的文章篇。引用2和3涉及部署到Gitee和阿里云服务器的问题,可能需要注意域名解析和服务器配置。引用4提到了子目录部署和主题配置,特别是Next主题的设置。 用户的问题是关于Hexo博客的搭建与美化教程,所以应该分步骤来解答。第一步是搭建基础博客,这包括安装Node.js、Git、Hexo初始化等。需要确保这些步骤正确,并参考引用中的信息,比如部署到Gitee的部分。第二步是主题选择与美化,这里要提到Next主题的配置,根据引用4中的路径修改_config.yml文件。第三步是优化与部署,引用1提到美化和优化,可能需要讨论压缩资源、SEO优化等。同时,引用3中的域名问题也需要涵盖,比如公网IP和域名的绑定。 在生成相关问题时,需要考虑用户可能遇到的后续问题,比如主题更换、部署问题、SEO优化等。需要确保每个步骤都清晰,并正确引用提供的资料。另外,注意使用中文回答,避免使用任何Markdown格式,数学公式用$...$包裹,但这里可能用不上。最后,确保回答结构清晰,分步骤说明,让用户容易跟随。</think>### Hexo 博客搭建与美化教程 #### 一、基础搭建步骤 1. **环境安装** - 安装 Node.js(用于运行 Hexo)和 Git(用于版本控制)[^3]。 - 通过命令行安装 Hexo: ```bash npm install -g hexo-cli ``` 2. **初始化博客** - 创建项目目录并初始化: ```bash hexo init myblog cd myblog npm install ``` - 本地预览: ```bash hexo s ``` 访问 `http://localhost:4000` 查看默认页面。 3. **部署到远程平台** - 以 Gitee 为例,配置 `_config.yml` 文件: ```yaml deploy: type: git repo: https://gitee.com/yourusername/yourrepo.git branch: master ``` - 安装部署插件并推送: ```bash npm install hexo-deployer-git --save hexo clean && hexo deploy ``` #### 二、主题选择与美化 1. **更换主题** - 下载主题(以 Next 为例): ```bash git clone https://github.com/theme-next/hexo-theme-next themes/next ``` - 修改 `_config.yml` 中的主题配置: ```yaml theme: next ``` 主题配置文件路径:`themes/next/_config.yml`[^4]。 2. **自定义样式** - **字体与颜色**:在主题配置文件中调整 `font` 和 `colors` 参数。 - **侧边栏与菜单**:添加社交链接、分类页签等。 - **动态效果**:启用动画(如 `motion: true`)或添加 CSS3 过渡效果。 #### 三、优化与高级配置 1. **SEO 优化** - 安装 SEO 插件: ```bash npm install hexo-generator-sitemap --save ``` - 配置搜索引擎收录(如百度站长工具)。 2. **图片与资源压缩** - 使用插件 `hexo-all-minifier` 压缩 HTML、CSS、JavaScript 文件。 3. **子目录部署问题** - 若网站部署在子目录(如 `/hexo`),需修改 `_config.yml`: ```yaml url: http://yoursite.com/blog root: /hexo/ ``` #### 四、常见问题解决 - **域名无法访问**:检查 DNS 解析和服务器配置(如 Nginx 反向代理)[^3]。 - **主题样式冲突**:优先通过主题配置文件调整,避免直接修改源码。
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值