Abstract: 本文简要介绍如何通过Hexo+Github搭建个人博客
安装git,使用命令”git –version”查看是否安装成功。
安装Node.js,使用命令”node -v”和”npm -v”查看是否安装成功。
申请Github账号,并创建一个与用户名一致的repo。
Git连接ssh。打开git bash,进行以下操作:
设置Git的user name和email:1
2git config --global user.name "username" #username是github用户名
git config --global user.email "useremail" #useremail是github注册邮箱生成ssh秘钥:
1
ssh-keygen -t rsa -C "useremail" #useremail是github注册邮箱
在返回提示过程中按enter直至完成,可以看到id_rsa和id_rsa.pub的路径。
在自己的github中的setting->ssh key选项中添加本地id_rsa.pub的内容。
验证配置是否成功:1
ssh -T git@github.com
安装Hexo(如下命令),并使用命令”hexo -v”验证是否安装成功。
1
2
3
4mkdir hexo
cd hexo
npm install -g hexo-cli
npm install hexo --save部署Hexo,新建文件夹blog并切到该目录下,在Git shell或cmd输入:
1
hexo init
安装依赖包:
1
npm install
使用Hexo查看与创建博客
使用以下命令本地查看博客,并使用浏览器查看localhost:4000
1
hexo s -g #s代表server,g代表generate
打开blog/_config.yml进行配置:
- 修改title, author等
- url项内容为所申请的github网址:url: http://username.github.io
- 发布设置,修改deploy项内容:
1
2
3
4deploy:
type: git
repository: git@github.com:username/username.github.io.git
branch: master
在blog目录下创建新文章,生成的md文件自动保存在blog/source/_posts/
1
hexo new "hello"
在对应的markdown文件中编辑博客内容
- 发布博客到github
1
hexo d -g #d代表deploy,g代表generate
Hexo发布带图片的博文
本方法适用于hexo 3.0,具体版本可以由package.json查看。- 修改_config.yml配置文件post_asset_folder项为true;
创建新博客:
1
hexo new [layout] <title>;
在source/_post中会出现一个与博文名称相同的文件夹用于存放图片([layout]是可选项);
- 使用以下方法引用图片
1
{% asset_img figure-name.jpg 说明 %}
选用Hexo主题(以next为例)
进入hexo项目中,clone该主题:1
git clone https://github.com/iissnan/hexo-theme-next themes/next
在hexo项目主目录中的_config.yml设置”theme: next”
随后在git bash下执行:1
npm install hexo-util --save
若不执行上异步操作,则可能本地执行hexo s之后报错:
1
Error: Cannot find module 'hexo-util'
配置显示tags:
1
$ hexo new page tags
打开sources/tags对index.md进行编辑:
-–
title: tags
date: 2018-04-27 14:04:22
type: “tags”
-–
打开themes/next/_config.yml,取消menu项下tags页的注释。
问: 有时候会出现tags计数与实际tags数不一致的情形?
答: 每次更新之后先执行“hexo clean”之后再”hexo g”配置显示博文更新时间:
打开themes/next/_config.yml,设置”updated_at: true”配置首页文章不自动展开:
(1) 可通过修改next的配置文件_config.yml:auto_excerpt: enable: true length: 150
(2) 可通过修改next的配置文件_config.yml:
scroll_to_more: false
并在行文过程中按照以下格式:
摘要 <!-- more --> 正文
配置支持mathjax数学公式
(1) 修改所使用主题的_config.yml文件:mathjax: enable: true per_page: true
(2) hexo默认使用marked.js解析markdown,_ 代表斜体,会被处理成 <em> 标签,比如 x_i 会先被转化为 x<em>i</em>,随后mathjax就无法渲染。\\ 的换行在markdown中会被转义成 \,也会影响mathjax对 \\ 的渲染。
打开node_modules\hexo-renderer-marked\node_modules\marked\lib\marked.js,做以下修改:
将escape: /^\\([\\`*{}\[\]()# +\-.!_>])/,
改为
escape: /^\\([`*{}\[\]()# +\-.!_>])/,
将
em: /^\b_((?:[^_]|__)+?)_\b|^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,
改为
em:/^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,
(3) 在每次的博文.md文件头部添加
mathjax: true
错误汇总
要部署博客至github上前需要关闭hexo server以及本地页面localhost:4000,否则执行“hexo d -g”之后会出现以下错误:
1
2
3
4bash: /dev/tty: No such device or address
error: failed to execute prompt script (exit code 1)
fatal: could not read Username for 'https://github.com': Invalid argument
...执行“hexo d -g”之后会出现以下错误: ERROR Deployer not found: git,通过以下命令解决
1
npm install hexo-deployer-git --save