GitHub Pages上使用Hexo框架建立静态博客

Posted kealqqq

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GitHub Pages上使用Hexo框架建立静态博客相关的知识,希望对你有一定的参考价值。

-1- 安装配置github

使用GitHub Pages建立博客

GitHub Pages分两种,一种是你的GitHub用户名建立的username.github.io这样的用户、组织页(站),另一种是依附项目的pages。

想建立个人博客是用的第一种,形如cnfeat.github.io这样的可访问的站,每个用户名下面只能建立一个。

github上建立仓库
登录后系统,在github首页,点击页面右下角「New Repository」
填写项目信息:

project name:kealqqq.github.io

这里注意Github Pages的Repository名字是特定的,比如我Github账号是kealqqq,那么我Github Pages Repository名字就是kealqqq.github.io
点击「Create Repository」 完成创建。

配置SSH keys

我们如何让本地git项目与远程的github建立联系呢?用SSH keys。

检查SSH keys的设置

首先我们需要检查你电脑上现有的ssh key:

$ cd ~/. ssh 检查本机的ssh密钥

如果提示:No such file or directory 说明你是第一次使用git。
如果里面有文件说明只有配置过的,那么删除之前的。

$ rm *

生成新的SSH Key:

$ ssh-keygen  -t rsa -C "kealqqq @gmail.com"
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/your_user_directory/.ssh/id_rsa):<回车就好>

这里建议使用你的github邮箱。
然后系统会要你输入密码:

Enter passphrase (empty for no passphrase):<输入加密串>
Enter same passphrase again:<再次输入加密串>

在回车中会提示你输入一个密码,这个密码会在你提交项目时使用,如果为空的话提交项目时则不用输入。这个设置是防止别人往你的项目里提交内容。

NOTE: 输入密码的时候没有*字样的,你直接输入就可以了。

添加SSH Key到GitHub

在本机设置SSH Key之后,需要添加到GitHub上,以完成SSH链接的设置。

1、打开本地C:\\Documents and Settings\\Administrator.ssh\\id_rsa.pub文件。此文件里面内容为刚才生成人密钥。如果看不到这个文件,你需要设置显示隐藏文件。准确的复制这个文件的内容,才能保证设置的成功。

2、登陆github系统。点击右上角的 Account Settings—>SSH Public keys —> add another public keys

3、把你本地生成的密钥复制到里面(key文本框中), 点击 add key 就ok了

测试

可以输入下面的命令,看看设置是否成功,git@github.com的部分不要修改:

$ ssh -T git@github.com

如果是下面的反馈:

The authenticity of host 'github.com (207.97.227.239)can't be established.`
RSA key fingerprint is:~~~~
Are you sure you want to continue connecting (yes/no)?
不要紧张,输入yes就好,然后会看到:
Hi cnfeat! You've successfully authenticated, but GitHub does not provide shell access.

设置用户信息

现在你已经可以通过SSH链接到GitHub了,还有一些个人信息需要完善的。

Git会根据用户的名字和邮箱来记录提交。GitHub也是用这些信息来做权限的处理,输入下面的代码进行个人信息的设置,把名称和邮箱替换成你自己的,名字必须是你的真名,而不是GitHub的昵称。

$ git config --global user.name "cnfeat"//git用户名
$ git config --global user.email "cnfeat@gmail.com"//填写自己的邮箱
SSH Key配置成功
本机已成功连接到github。

NOTE: 这里会遇到Permission denied (publickey)问题。
可以参考http://blog.itpub.net/25851087/viewspace-1262468/ 解决。
具体我用的方法是,将SSH配置文件ssh_config在自己本地的路径:
C:\\Users\\Administrator\\AppData\\Local\\GitHub\\PortableGit_*\\etc\\ssh目录下面的,ssh_config配置文件中的IdentityFile的值改为~/.ssh/id_rsa

-2-安装node.js

http://nodejs.org/download/
安装时直接保持默认配置即可

-3-安装Hexo

打开Git命令行,执行如下命令
$ npm install -g hexo
在电脑中建立一个名字叫「Hexo」的文件夹(比如我建在了D:\\Hexo),然后在此文件夹中右键打开Git Bash,执行下面的命令。
$ hexo init
Hexo随后会自动在目标文件夹建立网站所需要的文件。然后按照提示,在 D:/Hexo下执行
$ npm install
会在D:\\Hexo目录中安装 node_modules

运行hexo服务

$ hexo server
[info] Hexo is running at http://localhost:4000/. Press Ctrl+C to stop.

打开浏览器访问 http://localhost:4000 可以看到hexo已经帮你生成了一片博客

NOTE: 这里可能出现这个网页很久都打不开的情况,这种情况下一般是由于4000端口被占用了,换一个端口就可以了。
hexo server -p 5000 使用5000这个端口访问就可以了

建立新的静态页面

新打开一个git bash命令行窗口,cd D:/Hexo,执行下面的命令

$ hexo new "My New Post"
[info] File created at d:\\Hexo\\source\\_posts\\My-New-Post.md
刷新http://localhost:4000/,可以发现已生成了一篇新文章 “My New Post”

执行下面的命令,将markdown文件生成静态网页。
$ hexo generate
该命令执行完后,会在 D:\\Hexo\\public\\ 目录下生成一系列html,css等文件。

编辑文章

hexo new "My New Post"会在D:\\Hexo\\source\\_posts目录下生成一个markdown文件:My-New-Post.md

可以使用一个支持markdown语法的编辑器来编辑该文件。

部署到Github

部署到Github前需要配置_config.yml文件,首先找到下面的内容

# Deployment
## Docs: http://hexo.io/docs/deployment.html
deploy:
  type:

然后将它们修改为

# Deployment
## Docs: http://hexo.io/docs/deployment.html
deploy:
  type: git   #注意这里必须修改成为git 而不是github
  repository: git@github.com:zhchnchn/zhchnchn.github.io.git
  branch: master

部署步骤

每次部署的步骤,可按以下三步来进行。

$ hexo clean
$ hexo generate
$ hexo deploy

NOTE:搭建 hexo,在执行 hexo deploy 后,出现 error deployer not found:github 的错误。解决方案如下:
~hexo 更新到3.0之后,deploy的type 的github需要改成git。
~还需要安装部署的插件 $ npm install hexo-deployer-git --save

以上是关于GitHub Pages上使用Hexo框架建立静态博客的主要内容,如果未能解决你的问题,请参考以下文章

github pages 和 hexo 写自己的静态博客

Hexo+GitHub Pages搭建的个人博客

使用Hexo+Github Pages 来搭建免费的专属博客

关于hexo+github pages建立博客

hexo使用github action自动部署至腾讯云开发静态网站托管服务以及github pages

博客搭建-Github Pages+Hexo