更多
更多

hexo搭建博客

用了很多博客工具,最后选择了hexo,去除多余的功能,借助Markdown写作,专注内容。


hexo环境搭建

  1. 安装Git

  2. 安装Node.Js

    Node.Js官网

  3. 安装Hexo

    Hexo官网

    1. 打开终端,输入npm install hexo-cli -g,静静等待安装完毕。

    2. 创建Hexo目录

      找一个方便的地方创建一个文件夹,假设命名为Blog

      (注:你以后的博客操作都在这个文件夹内,尽量全英文路径,避免不必要的问题,建议你创建这个文件夹的快捷方式到桌面,方便操作)

    3. cd 命令进入 刚刚创建的Blog 目录,输入 hexo init

    4. 等待完成后输入 npm install

    5. 等待完成后输入 npm install hexo-server (失败在命令前加sudo以管理员身份运行cmd

    6. 等待完成后输入 npm install hexo-deployer-git --save

      RSS订阅:

      npm install hexo-generator-feed --save

      1
      2
      3
      4
      5
      feed:
      type: atom
      path: atom.xml
      limit: false #Maximum number of posts in the feed (Use 0 or false to show all posts)
      hub:


      站点地图插件:

      npm install hexo-generator-sitemap --save

      npm install hexo-generator-baidu-sitemap --save

      搜索:

      npm install hexo-search --save

    7. 至此,hexo环境就已经搭建好了


创建Github仓库

hexo建博客,不一定要Github,但是一般部署在Github上,这里就以Github为例。

  1. 生成ssh keys,请参考Generating a new SSH key 或者 Git-生成-SSH-公钥 (这个很重要)

  2. Mac生成的ssh key~/.ssh/下,复制id_rsa.pub内容,粘贴到GitHub的网站的Settings - SSH and GPG keys

  3. 测试ssh,ssh -T git@github.com

  4. 查看用户信息

    git config --list

  5. 回到Github首页,点击”New repository”,新建一个库。

  6. 输入Repository name: yourname.github.io (yourname与你的注册用户名一致,这个就是你博客的域名了,一定要连后面github.io输入完整) ,其它设置默认,创建。

  7. 点击刚刚的库,找到Setting ,进入设置,点击Launch automatic page generator ,点击底部的Continue to layouts

  8. 随意选择一个主题,最后点击Publish page ,发布github默认生成的一个静态站点 。

  9. 至此,Github上的操作就完成了。


博客配置

进入本地的blog 文件夹,这里简述重要文件(夹)的作用。

文件名 作用
_config.yml ——— 配置文件
source ——— 博客的文章
themes ——— 主题


博客的配置,就是配置_config.yml 文件,用编辑器打开。

(注意:本文件的配置,冒号后面的空格不可删除,比如title: 博客名字,这里冒号后面有一个空格,如果没有空格会报错)

以下是需要配置的,其余默认即可。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
title: 博客名字
subtitle: 副标题
description: 博客描述
author: 作者
language: 语言(中文就填 zh-CN)
timezone: 时区(不填写,则会根据你的系统时间确定)


url: 博客网址(http://XXXXXX)
permalink: 永久链接格式(参考https://hexo.io/zh-cn/docs/permalinks.html)

per_page: 10 //每页的文章数

#站点地图
sitemap:
path: sitemap.xml

baidusitemap:
path: baidusitemap.xml


theme: 主题名字(在themes文件夹下面的文件夹名)

(下面的2个yourname换成你的Github用户名,其余不变)
deploy:
type: git
repository: https://github.com/yourname/yourname.github.io
branch: master


应用主题

  1. 自己写主题或者下载主题到 blog > themes 文件夹下,主题是一个文件夹,假设名字为 name , 将 blog 下面的 _config.yml 文件里面的theme: 后面写name 即可应用主题。
  2. 一般主题文件夹里面还会有一个_config.yml 文件,这是主题的配置,如何配置请阅读各主题的 README.md


绑定域名

  1. 假设你的域名为 blog.abc.com ,新建一个名为 CNAME 的文件,内容为 blog.abc.com不要有任何文件后缀 。放到 blog > source 下面,以后不要删除。
  2. 然后到你的DNS解析处,新建 CNAME 解析,主机记录为blog ,记录值为 yourname.github.io 。解析生效后可以通过 blog.abc.com 访问你的博客了。


写博客

进入,blog > source > _posts ,创建 .md 的文件,你的所有文章都将放在这个文件夹下,并且都为.md (或者 .html) 文件。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
id: 文章ID (可选)

title: 博客标题

date: 2016-00-00 (时间的格式,中间是短横线)

categories: 分类

tags: 标签(多标签)
- 1
- 2

--- (分割线必不可少)

博客正文


更多:

  • 写博客需要遵循Markdown语法,Markdown兼容部分html语法。Markdown语法有不同的标准,常用的是GitHub标准(GitHub Flavored Markdown),简称 GFM
  • <!--more--> 表示截断,前面的内容会变成预览
  • <br> 增加换行


部署博客

每次写完博客把文件扔到_posts文件夹里面,就该部署了,很容易的四条命令。

首先打开终端(cmd),cd到blog 文件夹(注意:cd到 blog 即可

  • hexo g 在本地生成静态页面
  • hexo s 本地预览(默认端口4000,复制 http://0.0.0.0:4000 (或http://localhost:4000)到浏览器可以预览效果, Ctrl + c 关闭server)
  • hexo clean 清理缓存

到这里你还可以修改,最后一步

  • hexo d 部署,完成

注意:

  • 每次hexo d 之前,必须 hexo g 。这两个是写完博客之后必须用的命令。
  • 每次 hexo s 之前,也必须 hexo g 。这两个命令可以合并为hexo d -g
  • hexo cleanhexo s 是可选命令。


更新博客

写完Markdown,扔_posts 里面,打开终端,cd到bloghexo d -g


重装/切换 系统

  1. 备份 ~/.ssh 里面的文件,备份 blog 文件夹。(没有备份则需要重新生成)

  2. 在 新系统 中安装 Node.Js,Node.Js官网

  3. 打开终端,输入npm install hexo-cli -g

  4. 仓库的Branch protection for master问题




Hexo报错,(node:2416) [DEP0061] DeprecationWarning: fs.SyncWriteStream is deprecated.

因为node.js从8.0开始就已经弃用了前面提到的fs.SyncWriteStream方法,

在Hexo博客目录下,输入:npm install hexo-fs --save


【注】 如果GitHub开启了两步验证,则需要生成一个personal access token来代替密码,具体参考 Creating a personal access token for the command line

Enjoy it~

≖‿≖✧