hexo简介

Hexo是一个简单、快速、强大的基于 Github Pages 的博客发布工具,支持Markdown格式,有众多优秀插件和主题。

官网: http://hexo.io github: https://github.com/hexojs/hexo

原理

由于github pages存放的都是静态文件,博客存放的不只是文章内容,还有文章列表、分类、标签、翻页等动态内容,假如每次写完一篇文章都要手动更新博文目录和相关链接信息,相信谁都会疯掉,所以hexo所做的就是将这些md文件都放在本地,每次写完文章后调用写好的命令来批量完成相关页面的生成,然后再将有改动的页面提交到github。

1 下载node.js

https://nodejs.org/en/

helixstudios 博客 hexo博客官网_git

查看版本看是否安装成功

node -v
npm -v

安装国内镜像

npm install -g cnpm -- registry=https://registry.npm.taobao.org

安装hexo框架

cnpm install -g hexo-cli

helixstudios 博客 hexo博客官网_git_02

查看hexo是否安装成功

hexo -v

helixstudios 博客 hexo博客官网_helixstudios 博客_03

查看win系统下的当前目录

chdir

创建blog的目录

mkdir D:\C_Code\blog

初始化hexo

hexo init

可能出现

helixstudios 博客 hexo博客官网_github_04

原因在于没有安装Git。

启动hexo

hexo s # 启动服务

hexo s是开启本地预览服务,打开浏览器访问 http://localhost:4000 即可看到内容

2 Git安装配置

1.检查本机是否有ssh key设置

如果没有则提示: No such file or directory
如果有则进入~/.ssh路径下(ls查看当前路径文件,rm删除所有文件)

2.使用Git Bash生成新的ssh key

$ ssh-keygen -t rsa -C "xxxxxx@qq.com" # 自己的github邮箱

命令提示符中出现下面提示

Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/xxxx_000/.ssh/id_rsa):   #不填直接回车
Enter passphrase (empty for no passphrase):   #输入密码(可以为空)
Enter same passphrase again:   #再次确认密码(可以为空)
Your identification has been saved in /c/Users/xxxx_000/.ssh/id_rsa.   #生成的密钥
Your public key has been saved in /c/Users/xxxx_000/.ssh/id_rsa.pub. #生成的公钥
The key fingerprint is:
e3:51:33:xx:xx:xx:xx:xxx:61:28:83:e2:81 xxxxxx@yy.com
//本机已完成ssh key设置,其存放路径为:c:/Users/xxxx_000/.ssh/下。
//可生成ssh key自定义名称的密钥,默认id_rsa。
$ ssh-keygen -t rsa -C "邮箱地址" -f ~/.ssh/githug_blog_keys #生成ssh key的名称为githug_blog_keys,慎用容易出现其它异常。

3.添加ssh key到GitHub

3.1 登录GitHub系统;

点击右上角账号头像的“▼”→Settings→SSH kyes→Add SSH key。

3.2 复制id_rsa.pub的公钥内容

  1. 进入c:/Users/xxxx_000/.ssh/目录下,打开id_rsa.pub文件,全选复制公钥内容。
  2. Title自定义,将公钥粘贴到GitHub中Add an SSH key的key输入框,最后“AddKey”。

4.配置账户

$ git config --global user.name “your_username” #设置用户名
$ git config --global user.email “your_registered_github_Email” #设置邮箱地址(建议用注册giuhub的邮箱)

5.测试ssh keys是否设置成功

输入$ ssh -T git@github.com

The authenticity of host 'github.com(192.30.252.129)' can't be established.
RSA key fingerprint is16:27:xx:xx:xx:xx:xx:4d:eb:df:a6:48.
Are you sure you want to continueconnecting (yes/no)? yes #确认你是否继续联系,输入yes
Warning: Permanently added'github.com,192.30.252.129' (RSA) to the list of known hosts.
Enter passphrase for key'/c/Users/xxxx_000/.ssh/id_rsa': #生成sshkye是密码为空则无此项,若设置有密码则有此项且,输入生成ssh key时设置的密码即可。
Hi xxx! You've successfullyauthenticated, but GitHub does not provide shell access. #出现词句话,说明设置成功。

3 Github部署

1.Github新建项目

helixstudios 博客 hexo博客官网_用户名_05

2.注意项目名(必须是:github的用户名.github.io)

helixstudios 博客 hexo博客官网_github_06

4 发布文章

helixstudios 博客 hexo博客官网_git_07

hexo clear

hexo g

5 部署到github

1.配置_config.yml

deploy:
  type: git
  repository: git@github.com:liuxianan/liuxianan.github.io.git
  branch: master

2.hexo clear

3.hexo d

更换博客主题

修改_config.yml中的theme: landscape改为theme: yilia,然后重新执行hexo g来重新生成。

如果出现一些莫名其妙的问题,可以先执行hexo clean来清理一下public的内容,然后再来重新生成和发布。

常用hexo命令

常见命令

hexo new "postName" #新建文章
hexo new page "pageName" #新建页面
hexo generate #生成静态页面至public目录
hexo server #开启预览访问端口(默认端口4000,'ctrl + c'关闭server)
hexo deploy #部署到GitHub
hexo help  # 查看帮助
hexo version  #查看Hexo的版本

缩写:

hexo n == hexo new
hexo g == hexo generate
hexo s == hexo server
hexo d == hexo deploy

组合命令:

hexo s -g #生成并本地预览
hexo d -g #生成并上传