安装hexo
本文略过git或openshift或……部分,相信大家都会。
hexo 需要nodejs与npm。所以我们首先安装:
sudo apt-get install nodejs
sudo apt install nodejs-legacy
sudo apt install npm
sudo npm config set registry https://registry.npm.taobao.org
sudo npm install n -g
sudo n stable
sudo npm install -g hexo-cli
然后选择一个文件夹,运行
hexo init
你的网站就部署在这个文件夹下了!
然后安装一些可能需要的包:
npm install hexo-generator-index --save
npm install hexo-generator-archive --save
npm install hexo-generator-category --save
npm install hexo-generator-tag --save
npm install hexo-server --save
npm install hexo-deployer-git --save
npm install hexo-deployer-heroku --save
npm install hexo-deployer-rsync --save
npm install hexo-deployer-openshift --save
npm install hexo-renderer-marked --save
npm install hexo-renderer-stylus --save
npm install hexo-generator-feed --save
npm install hexo-generator-sitemap --save
npm install hexo-generator-archive --save
npm install https://github.com/CodeFalling/hexo-asset-image --save
其中hexo-deployer中只需选一个你需要的。
然后在这个文件夹下试一试
hexo g
hexo s
然后打开127.0.0.1:4000
,看看是否成功呢?
选择主题
本博客选用matery
主题。到hexo
官网就可以找到>_<。
在_config.yml
中找到theme
,改成
# Extensions
## Plugins: https://hexo.io/plugins/
## Themes: https://hexo.io/themes/
theme: matery
即可。
有关主题的更多内容请参考theme/matery/README_CN.md
,这里不再赘述。
数学公式支持
其实前面的已经差不多了!
但是我们发现不能像typora
中那样使用数学公式。
然后我用了$\infty$的时间去尝试着使用KaTeX渲染和使用Markdown支持渲染。然后嘛,最后虽然算是成功渲染了,但是好像不是那么正确……
之后就当我打算放弃使用图片时,突然发现themes/matery/_config.yml
中有这么一段话:
# Whether to activate the mathjax, this is a global configuration, but the post still does not open the mathjax rendering.
# Considering that the mathjax loading is time consuming,
# you also need to add `mathjax: true` to the Front-matter of the post that needs to be rendered.
# 是否激活mathjax数学公式,这是全局配置,但文章仍然不会都开启mathjax渲染,
# 考虑到mathjax加载比较耗时,你还需要在需要渲染的文章的Front-matter中再加上`mathjax: true`才行.
mathjax:
enable: false
cdn: https://cdn.bootcss.com/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML
那不是已经说得很清楚了嘛……先前我在干什么……
然后发现一点小小的问题,我们需要解决LaTeX与Html的冲突。
找到node_modules\marked\lib\marked.js
,将其中
escape: /^\\([\\`*{}\[\]()# +\-.!_>])/,
em: /^\b_((?:[^_]|__)+?)_\b|^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,
改为
escape: /^\\([`*\[\]()# +\-.!_>])/,
em: /^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,
即可。
使用技巧和hexo相关操作
hexo常用的指令有:
hexo clean #清除db.json与public里面的内容
hexo new file #在source/_post下面新建一个file.md文件
hexo g #由md文件生成html静态文件
hexo s #在本地启动http服务以提供本地预览功能
hexo d #发布到GitHub
建议将_config.yml
中的post_asset_folder: false
改为true
。这样新建文章的时候就会同时新建一个同名文件夹,就可以把需要的东西都放进文件夹里,方便管理。
以下是相关测试:
测试:
粗体 划线 _斜体_
多级标题
多级标题
引用
//代码块
#include <bits/stdc++.h>
using namespace std;
int main() {
int a, b;
cin >> a >> b;
cout << a + b << endl;
return 0;
}
公式测试
$$
{ \sum_{i=1}^{n} i } = \frac{n\times(n+1)}{2} = \frac{ n ^ {2} + n}{2}
$$
行内公式测试$\sum\limits_{i=1}^{n}i = \frac{n\times(n+1)}{2}$