Hexo搭建博客

Hexo是一个快速、简洁且高效的博客框架。Hexo使用Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页,配合Github即可搭建初级个人博客。

Hexo简介


准备工作

  1. Node.js

  2. Git

  3. GitHub


安装Hexo

1
2
3
4
5
6
7
8
9
10
npm install hexo-cli -g
hexo init blogName
cd blogName
npm install
hexo server

npm install hexo-deployer-git --save #Git部署插件

hexo new page tags
hexo new page categories #生成 categories 分类页
  1. 常用命令
1
2
3
4
5
hexo n "BlogName"/hexo new "BlogName"   #新建文章 *.md
hexo g/hexo generate
hexo s/hexo server #启动服务器
hexo d/hexo deploy #部署到服务器
hexo clean #清理缓存
  1. Front-matter
  1. 设置标签和分类等参数值
  • layout 应用布局样式
  • title 标题
  • date 建立日期
  • updated 更新日期
  • comments 开启文章评论
  • truetags 标签(不适用于分页)
  • categories 分类(不适用于分页)
  • permalink 覆盖文章网址
  • excerpt 指定文章摘要
  • categories 设置文章分类
  • tags 设置文章标签
  • link 设置标题链接
  • photos 设置页面插图
  1. 特有Front-Matter属性
  • top_image 页面顶部图
  • toc 是否启用目录
  • toc_min_depth 生成目录最小深度
  • toc_max_depth 生成目录最大深度
  • quicklink 是否预取链接
  • math 是否解析数学公式
  • sidebar 是否显示侧边栏
  • reward 是否启用打赏功能
  • copyright 是否启用版权信息
  • top 是否置顶文章
  • no-emoji 是否解析 emoji 代码
  1. 文章摘要:摘要内容后添 <!-- more -->

<!-- more --> 之前、文档配置参数之后内容会渲染为站点中的文章摘要,将是正文中最前面的内容。


Github repo

  1. 创建 username.github.io仓库

  2. 配置本地Git配置

    1
    2
    3
    4
    git config --global user.name  "<Github UseName>"
    git config --global user.email "<GitHub Email>"
    #生成吗密钥
    ssh-keygen -t rsa -C "<GitHub Email>"
  3. 复制用户.ssh文件夹中的id_rsa.pub公钥文件

  4. add ssh key

  5. 配置_config.yml,关联Hexo与GitHub

  1. 配置是否成功
1
ssh git@github.com

Hexo Tree

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
.
├── _config.yml
├── .github
├── public #部署到Github repo的内容(生成的静态网页以及相关资源)
├── package.json #应用程序信息及需安装模块信息
├── node_modules
├── scaffolds #模板文件夹
├── source #用户资源
| ├── tags
| ├── categories
| └── _posts
|
└── themes #主题配置文件 将Github仓库中主题文件放置其中,其中的_config.yml可进行主题配置
├── stun(主题名 配置可参考该主题的官方文档)
├── languages #语言配置文件
├── layout #主题布局样式文件
├── scripts #主题所需Js文件
├── source #主题资源文件
├── _config.yml #主题配置

上传脚本

1
2
3
4
5
#Windows ps1/bat Linux sh
cd <hexo root dir>
hexo clean
hexo g
hexo d