使用Hexo的常用命令和一些格式上的小技巧。
基本命令
$ hexo new [layout] <title>
创建一篇新文章。其中layout
是可选参数,默认值是post
。Hexo提供的layout
在scaffolds
目录下,也可以在此目录下自建layout
文件。新建的文件则会保存到source/_post
目录下。你也可以更改默认布局的参数,如post布局,你需要打开scaffolds/post.md
,增加类别和描述。再新建一篇文章就能看到增加了文章参数。$ hexo generate
也可简写为$ hexo g
在部署前需要通过该命令把所有的文章做静态化处理,生成相应的html、javascript、css。$ hexo deploy
也可简写为$hexo d
负责生成静态文件后的发布。在发布到你的服务器之前要先配置好deploy指令,在全局配置文件(_config.yml
)中找到deploy,并修改属性值。
在文章中加入图片
要在文章中插入图片,有两个选择,一是使用图床,二是将图片与网页文件一起部署。两种方法各有利弊,如果打算部署到GitHub或GitCafe上,个人推荐使用图床。如果是部署到七牛上,则直接使用部署方式。
需要调整图片大小的话, 要用HTML格式
1 |
|
在新建一篇文章,你就能看到新建的文章已经新增了这些参数,不用每次自己手打,不需要的值就可以空着。
代码高亮并为代码块添加标题
Markdown中插入代码,是通过添加三个反引号(`)或三个波浪号(~)来实现的。如下示例
1 | code here |
像大多数的markdown, 如github的markdown都是这种写法。这种写法在[language]后面不能加其它参数,否则会输出不正常。
Hexo自带高亮:Code Block
使用格式如下:
1 | {% codeblock [title] [lang:language] [url] [link text] %} |
注意:如果使用静态的代码高亮,则必须关闭hexo自带高亮,关闭之后,如果以前的.md源文件使用的是hexo第二种插入代码的方式,则会导致hexo-renderer-marked
渲染异常。
关于 Markdown 语法格式
尽量使用规范的 Markdown 语法格式
参考:http://www.cirosantilli.com/markdown-style-guide/#code
添加 Latex 形式的公式
Hexo本身并没有对Latex的支持,所以需要安装第三方plugin
1 | npm install hexo-math --save |
Add the following to _config.yml
1 | math: |
解决 Mathjax
与 marked
render 渲染冲突问题
在marked.js
渲染的时候下划线_
是被escape掉并且换成了<em>
标签,即斜体字,另外LaTeX中的\\
也会被转义成一个\
,这样会导致MathJax
渲染时不认为它是一个换行符了。
解决方案: 修改hexo的渲染源码 nodes_modules/lib/marked/lib/marked.js
:
去掉
\
的额外转义: 将escape:
,行改为:1
escape: /^\\([`*{}\[\]()# +\-.!_>])/,
去掉
_
的斜体含义:将em:
行改为:em:/^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,