Hexo 搭建博客
/ / 点击 / 阅读耗时 12 分钟[Hexo](https://hexo.io/) 是一个快速、简洁且高效的博客框架。Hexo 使用 Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页
配置环境
申请GitHub
作用:用来做博客的远程创库、域名、服务器
Github注册账号。
安装Node.js
作用:用来生成静态页面的
官网下载并安装。安装成功后可用 node -v 查看版本号。
安装Git
作用:把本地的 Hexo 内容提交到 Github 上去
Mac 安装 Xcode 自带有 Git,WSindows 可去官网下载。
安装完成后,还需要设置你 Github 的用户名密码,在命令行输入
1 | $ git config --global user.name "Your Name" |
因为 Git 是分布式版本控制系统,所以,每个机器都必须自报家门:你的名字和 Email 地址。安装成功后可用 git --version 查看版本号。
安装并本地部署Hexo
执行如下命令安装 Hexo
1 | $ npm install -g hexo-cli |
创建一个文件夹,用来存放 Hexo 的配置文件,进入该文件夹
1 | hexo init <folder> |
现在项目根目录结构如下
1 | . |
生成静态页面
1 | $ hexo generate |
启动本地服务,打开浏览器输入 http://localhost:4000/ 即可访问
1 | $ hexo server |
将博客托管到Github
配置 SSH Key,将本地目录与 Github 关联
配置SSH Key是让本地 git 项目与远程仓库建立联系。SSH Keys不配置的话每次项目有改动提交的时候就要手动输入账号密码,配置了就不需要了。
首先检查是否已经有SSH Key
1 | cd ~/.ssh |
如果没有目录.ssh,则要生成一个新的SSH Key,执行:
1 | ssh-keygen -t rsa -C "your e-mail" |
接下来几步都直接按回车键,然后系统会要你输入密码。这个密码会在你提交项目时使用,如果为空的话提交项目时则不用输入。
成功后进入到.shh文件夹中再输入ls,查看是否有id_rsa.pub文件
1 | cd ~/.ssh |
打开id_rsa.pub文件
1 | cat id_rsa.pub |
复制SSH Key后,去 github 的 https://github.com/settings/keys 页面配置,将其添加到Add SSH Key里。
测试 SSH Key 是否配置成功
执行:
1 | ssh -T git@github.com |
如配置了密码则要输入密码,输完按回车。如果显示以下内容,则说明Github中的 ssh 配置成功。
1 | Hi username! You have successfully authenticated, but GitHub does not |
创建仓库 Github Pages
GitHub Pages 分两种,一种是你的 GitHub 用户名建立的 username.github.io 这样的用户/组织页,另一种是依附项目的pages。想建立个人博客是用的第一种,每个用户名下面只能建立一个。
登陆Github官网成功后,新建 New repository,建立与你github用户名对应的仓库,仓库名必须为 your_user_name.github.io
修改Hexo的_config.yml文件
根目录_config.yml是博客的配置文件,以后修改博客会用到。
现在我们需要修改_config.yml文件,来建立关联,执行命令:
1 | vim _config.yml |
找到相应部分并修改:
1 | deploy: |
注意:在yml文件中,冒号后面都是要带空格的
将博客项目上传到仓库
然后执行命令:
1 | npm install hexo-deployer-git --save |
然后执行命令:
1 | hexo g #生成静态网页 |
此时,通过访问 http://yourname.github.io 可以看到默认的 Hexo 首页
每次部署的命令:
1 | hexo clean |
一些常用命令:
1 | hexo new "postName" # 新建文章 |
添加标签和分类
添加分类
新建一个页面,命名为 categories
1 | hexo new page categories |
在 source 目录下会生成 categories 目录,修改 source/categories 目录的 index.md :
1 | --- |
在主题的_config.yml 中取消注释:
1 | categories: /categories |
给模板添加分类属性,打开scarffolds文件夹里的post.md文件,给它的头部加上categories:,这样我们创建的所有新的文章都会自带这个属性,我们只需要往里填分类,就可以自动在网站上形成分类了。
1 | title: {{ title }} |
给文章添加分类,在要分类的文章顶部加入 category 属性,值为某个分类名:
1 | --- |
添加标签
新建一个页面,命名为 tags
1 | hexo new page tags |
在 source 目录下会生成 tags 目录,修改 source/tags 目录的 index.md :
1 | --- |
在主题的_config.yml 中取消注释:
1 | tags: /tags |
以后写文章时,在要分类的文章顶部加入 tags 属性,值为标签名:
1 | --- |
上面是数组的形式,下面是短横线的形式:
1 | --- |
头部设置
在博客文章的开头会有对文章的说明文字,叫做文章头部,文章的头部除了可以设置文章标题、书写日期等基础信息外,还可以对文章添加标签、分类等,一个简单的示例如下:
1 | --- |