Mac安装Hexo
安装nvm
因为brew安装nvm会有问题,所以推荐用传统方法安装1。
1 | brew install curl |
删除
1 | to remove, delete, or uninstall nvm - just remove the `$NVM_DIR` folder (usually `~/.nvm`) |
升级
1 | cd "$NVM_DIR" && git pull origin master && git checkout `git describe --abbrev=0 --tags` |
安装node.js
1 | nvm install 4 |
预设使用Node的版本,否则每次重新登入,都要nvm use
一次2。
1 | nvm alias default 4.2.6 |
测试:
1 | nvm -v |
安装Hexo
1 | proxychains4 npm install -g hexo-cli |
-g
或–global
表示全局安装模块,如果没有这个参数,会安装在当前目录的node_modules子目录下3。
因为GFW的问题,会在安装的时候发生错误,此时可以改用4:
1 | npm install hexo --no-optional |
测试:
1 | hexo -v |
有可能会出现以下错误:
1 | { [Error: Cannot find module './build/Release/DTraceProviderBindings'] code: 'MODULE_NOT_FOUND' } |
这是由于dtrace-provider出现错误,可以通过重新安装解决:
1 | cd .nvm/versions/node/v4.2.6/lib/node_modules/hexo-cli/node_modules/hexo-log/node_modules/bunyan |
初始化Hexo
1 | hexo init <folder> |
启动服务(在博客所在的文件夹内)5:
1 | hexo s |
如果继续发生如下错误:
1 | { [Error: Cannot find module './build/Release/DTraceProviderBindings'] code: 'MODULE_NOT_FOUND' } |
可以继续通过重新安装dtrace-provider解决:
1 | cd node_modules/hexo/node_modules/hexo-log/node_modules/bunyan |
更换主题
安装next主题
1 | git clone https://github.com/iissnan/hexo-theme-next themes/next |
然后修改\_config.yml
文件,修改为:
1 | # Extensions |
使用Mathjax
安装插件6:
1 | npm install hexo-math --save |
在网站的\_config.yml
文件中添加:
1 | math: |
修改heading里#后的空格
为了##后不用加空格,直接写标题,可以对markdowm渲染器进行修改。把/Blogs/node_modules/hexo-renderer-marked/node_modules/marked/lib/marked.js
改为:
1 | heading: /^ *(#{1,6})+([^\n]+?) *#* *(?:\n+|$)/ |
支持footnote
可以通过将markdown渲染器替换为hexo-renderer-markdown-it
,使得支持footnote功能7。
1 | npm un hexo-renderer-marked --save |
必须要先卸载原先的渲染器。然后在网站\_config.yml
文件中添加:
1 | markdown: |
然后发现每一条footnote间都有一行间隔。想要去掉的话,可以在'/Blogs/themes/next/source/css/_custom/custom.styl'中添加:
1 | .footnote-item p { |
hexo-renderer-markdown-it
还支持很多其他的功能,具体可以到官网了解。
Doesn't escape HTML content
hexo-renderer-markdown-it is the default renderer of my Hexo blog. But I found that the HTML content inside the md will be escaped to the final result when I wanted to force a line-break by inserting a <br> tag.
To trigger this function, the configuration of the
\_config.yml
in the blog should be:
1 | markdown: |
where8:
1 | html: true # Doesn't escape HTML content |
支持插入pdf
1 | npm install --save hexo-pdf |
使用9:
1 | # Normal PDF |
https://github.com/creationix/nvm↩︎
http://mac-osx-for-newbie-book.kejyun.com/software/softwareWebDeveloperNodeJS.html↩︎
https://www.haomwei.com/technology/how-to-install-hexo-on-mac.html↩︎
http://www.jianshu.com/p/fd878edb95e7↩︎
https://hexo.io/docs/↩︎
https://github.com/akfish/hexo-math↩︎
https://github.com/celsomiranda/hexo-renderer-markdown-it↩︎
https://github.com/celsomiranda/hexo-renderer-markdown-it/wiki/Advanced-Configuration↩︎
https://github.com/superalsrk/hexo-pdf↩︎