这两天在网上浏览程序猿技术相关的资讯以及一些大神的技术博客文章,hexo这个词数次进入我的视线,于是我到网上查找了hexo相关的信息。
hexo是什么?
正好我之前也经常上Github去学习一些开源项目,于是我也想尝试用hexo在Github上搭建一个自己的个人技术博客。但以前没弄过,一脸懵逼怎么办,首先上hexo官方网站看使用文档(hexo官方网站默认进去是英文,可以在页面右上方 选择中文),然后还参考了一些已经成功搭建好hexo博客的大神们的文章。以下就是详细步骤以及图示:
安装环境
创建Github仓库
- 登录Github,没有Github账号先注册。
- 点击页面右上方 选择New repository,填好仓库名称,格式是github用户名.github.io,然后点击Create repository。
生成SSH密钥
- 在任意文件目录单击鼠标右键,选择Git Bash,使用ssh命令生成密钥。
ssh-keygen -t rsa -C "Github的注册邮箱地址"
- 按三次回车等密钥生成完毕,会在C:\Users\计算机用户名.ssh目录下生成id_rsa和id_rsa.pub两个文件。
Github配置SSH密钥
- 打开id_rsa.pub,复制里面的内容,进入https://github.com/settings/ssh,New SSH Key,把内容粘贴到Key文本框里,然后点击Add SSH Key。
- 验证SSH Key:
$ ssh -T git@github.com
返回以下语句说明SSH Key配置好了。
The authenticity of host 'github.com (192.30.253.112)' can't be established. RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'github.com,192.30.253.112' (RSA) to the list of known hosts. Hi redzealot2008! You've successfully authenticated, but GitHub does not provide shell access.
- 初始化本地git仓库
//设置Git的user name和email $ git config --global user.name "redzealot2008" $ git config --global user.email "Github的注册邮箱地址" //在本地的hexo init生成的文件夹中初始化git仓库 $ git init //将本地仓库和远程仓库连接(这一步骤可以不做) $ git remote add origin git@github.com:redzealot2008/redzealot2008.github.io.git
做完以上这些步骤,说明你的仓库可以使用ssh方式来上传下载代码,而不需要输入用户名和密码了
安装Hexo
- 在任意文件目录单击鼠标右键,选择Git Bash,使用npm命令即可下载安装Hexo。
//全局安装hexo $ npm install -g hexo-cli
- 安装过程需要一点时间,可使用hexo命令确认是否安装成功。
创建Hexo博客文件夹
- 在你喜欢的目录下创建Hexo博客文件夹(如:E:\hexo-github)。
初始化Hexo博客
- 在Git Bash里使用以下命令:
//进入Hexo博客文件夹 $ cd e:\hexo-github /初始化Hexo博客 $ hexo init //安装依赖包 $ npm install
初始化完成后Hexo博客文件夹里的文件如下:
.
├── _config.yml #全局配置文件
├── package.json #应用程序的信息
├── scaffolds #模板
├── source #博客正文和其他源文件,404、favicon、CNAME
| ├── _drafts #草稿
| └── _posts #文章
└── themes #主题
- hexo常用命令:
hexo help #查看帮助
hexo init #初始化一个目录
hexo new "postName" #新建文章
hexo new page "pageName" #新建页面
hexo generate #生成网页,可以在 public 目录查看整个网站的文件
hexo server #本地预览,'Ctrl+C'关闭
hexo deploy #部署.deploy目录
hexo clean #清除缓存,**强烈建议每次执行命令前先清理缓存,每次部署前先删除 .deploy 文件夹**
简写:
hexo n == hexo new
hexo g == hexo generate
hexo s == hexo server
hexo d == hexo deploy
配置Hexo博客
- 打开Hexo博客文件夹里的_config.yml全局配置文件,主要修改以下参数:
# Site
title: 剑若成风的成长日志
subtitle: 新的开始,回归自我
description: 剑若成风的个人技术博客
author: redzealot2008
language: zh-CN
timezone: Asia/Shanghai
# URL
url: http://redzealot2008.com
# Deployment
deploy:
type: git
# 之前在Github上创建的仓库地址
repo: https://github.com/redzealot2008/redzealot2008.github.io.git
branch: master
注意:每个参数冒号后面要有一个空格。
新建文章
- hexo new “标题”
在 _posts 目录下会生成文件标题.md
title: Hello World
date: 2015-07-30 07:56:29 #发表日期,一般不改动
categories: hexo #文章文类
tags: [hexo,github] #文章标签,多于一项时用这种格式
---
正文,使用Markdown语法书写
- 编辑完后保存,hexo server 预览。
hexo部署
- 在Git Bash使用以下命令即可完成部署。
//生成静态文件 hexo generate //安装 hexo-deployer-git $ npm install hexo-deployer-git --save //部署到Github hexo deploy
以下提示说明部署成功
[info] Deploy done: git
- hexo deploy报错could not read Username for ‘https://github.com‘,打开_config.yml修改repo地址:
//方案1.在github.com前面添加Github注册的用户名 https://redzealot2008@github.com/redzealot2008/redzealot2008.github.io.git //方案2.使用SSH地址 git@github.com:redzealot2008/redzealot2008.github.io.git