Getting started with Hexo
更新日期:
这篇文章介绍了如何在windows环境下安装并运行Hexo以及将项目部署到gitHub上。
Hexo在windows上的安装比较简单,不会像linux或mac那样执行每条指令都可能遇到麻烦
安装Nodejs
在Nodejs官网下载面向windows的安装包并运行安装即可
检查安装:打开cmd,并输入1
node -v
如果输出版本信息,则安装成功
安装git
下载git面向windows的安装包并运行安装
检查安装:打开cmd,并输入1
git version
如果输出版本信息,则安装成功
安装Hexo
打开cmd,并输入1
npm install hexo-cli -g
创建博客
1 | hexo init blog //这里的blog是所要创建的博客文件夹名(当前目录下) |
执行以上步骤即创建了名为blog的文件夹,其中包含了项目文件,执行hexo server指令会运行服务器,这时可在浏览器中访问http://localhost:4000/
如果显示网站,则博客创建成功
发布博客到github
github为用户提供了username.github.io的域名,其中username为用户在github上的用户名.
创建repository
为了使博客在username.github.io中展示,你需要在github中创建同名的repo
修改配置文件
hexo项目的根目录下的_config.yml文件为全局配置文件,在该文件中编辑# Deployment栏目并保存1
2
3
4deploy:
type: git
repo: https://github.com/username/username.github.io.git //username修改为用户名
branch: master
安装hexo的git部署工具
1 | npm install hexo-deployer-git --save |
发布到github
1 | hexo clean |
hexo clean指令清除缓存文件,hexo d为hexo deploy的简写,该指令将编译项目,并将public目录下的内容上传到github.
在github上浏览博客
浏览器打开username.github.io即可查看位于username.github.io仓库中的博客
添加mathjax插件
通过mathjax来使用LaTeX表达式来显示数学公式。1
2只需要在html的<head>标签内添加一行即可
<script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
由于mathjax使用的转义符与hexo渲染markdown语法的插件marked.js(./node_modules/hexo-renderer-marked/node_modules/marked/lib/)使用的部分转义符相同,因而需要修改其中一方的转义符。
例如修改marked.js1
2
3
4
5
6
7escape: /^\\([\\`*{}\[\]()# +\-.!_>])/, //此处不同版本hexo可能不同,但替换目标是相同的,下同
替换为
escape: /^\\([`*\[\]()# +\-.!_>])/,
em: /^\b_((?:[^_]|__)+?)_\b|^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,
替换为
em:/^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,
也可采用第三方插件完成上述工作,例如hexo-renderer-mathjax
只需在博客目录下执行1
2
3$ npm install hexo-renderer-mathjax --save
如果未安装hexo-fs插件,还需执行
$ npm install hexo-fs --save
然后修改博客根目录下的_config.yml,在里面添加一行1
plugins: hexo-renderer-mathjax
可以在文章段落中添加以下内容作为测试:1
2
3
4
5
6
7
8
9Simple inline $a = b + c$.
$$\frac{\partial u}{\partial t}
= h^2 \left( \frac{\partial^2 u}{\partial x^2} +
\frac{\partial^2 u}{\partial y^2} +
\frac{\partial^2 u}{\partial z^2}\right)$$
(参考:http://catx.me/2014/03/09/hexo-mathjax-plugin/)
$A_n^n$ = ${n!} \over {(n-n)!}$ = ${n!} \over {(0)!}$ = ${n!} \over {1}$ = n!
然后生成并部署到github上(或本地测试)查看效果,正常情况显示效果:
Simple inline $a = b + c$.
$$\frac{\partial u}{\partial t}
= h^2 \left( \frac{\partial^2 u}{\partial x^2} +
\frac{\partial^2 u}{\partial y^2} +
\frac{\partial^2 u}{\partial z^2}\right)$$
$A_n^n$ = ${n!} \over {(n-n)!}$ = ${n!} \over {(0)!}$ = ${n!} \over {1}$ = n!
另外还可修改主题文件,使其仅在有需要的文章中加载hexo-renderer-mathjax插件,参考
以上步骤仅为向导,方案不止一种,具体指令含义请关注后续文章。
参考:hexo docs