学习
实践
活动
专区
工具
TVP
写文章

使用HEXO 和GitHub Pages建立个人博客

本篇文章的目的是让每一个不懂程序的人都能通过一个下午的努力,方便的建立自己的个人独立博客。简化建站难度,专注写作。

环境配置及软件

Node.js

下载地址

https://nodejs.org/en

Git

下载地址

https://git-scm.com

Markdown编辑器

推荐使用typora

https://typora.io

图床

可以使用七牛云

参考这篇文章,非常便捷

关于GitHub的一些操作

注册Github账号

建立仓库

注意:仓库名必须与用户名对应且符合命名标准

> 一个仓库示例

添加SSH公钥到 “ Account settings -> SSH Keys -> Add SSH Key ”

这一步是为了给与电脑以GitHub访问授权

检查 SSH keys的设置

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

如果提示:No such file or directory 说明你是第一次使用 git。

生成新的 SSH Key

然后系统会要你输入密码:

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

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

最后看到这样的界面,就成功设置ssh key了:

> 13 终端设置成功

添加 SSH Key 到 GitHub

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

> 14 添加 SSH Key 到 GitHub

测试

如果是下面的反馈:

不要紧张,输入 yes 就好,然后会看到:

设置用户信息

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

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

SSH Key 配置成功

本机已成功连接到 GitHub。

若有问题,请重新设置。常见错误请参考:

GitHub Help - Generating SSH Keys

GitHub Help - Error Permission denied (publickey)

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

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

注意 1: 此处的邮箱地址,你可以输入自己的邮箱地址;

注意2: 此处的「-C」的是大写的「C」

安装HEXO

以下内容来自令狐葱@前端笔记

PS: cd命令的意思是进入,第一条代码的意思是进入D盘下的hexo文件夹,此文件夹需要提前新建用于存储内容,地点任意。

这里有必要提下Hexo常用的几个命令:

Hexo的一些基本命令

hexo g #完整命令为hexo generate,用于生成静态文件

hexo s #完整命令为hexo server,用于启动服务器,主要用来本地预览

hexo d #完整命令为hexo deploy,用于将本地文件发布到github等git仓库上

hexo n “my article” #完整命令为hexo new,用于新建一篇名为“my article”的文章

现在我们打开http://localhost:4000/ 已经可以看到一篇内置的blog了。

目前我安装所用的本地环境如下:(可以通过hexo -v查看)

hexo generate (hexo g) 生成静态文件,会在当前目录下生成一个新的叫做public的文件夹

hexo server (hexo s) 启动本地web服务,用于博客的预览

hexo deploy (hexo d) 部署播客到远端(比如github, heroku等平台)

部署HEXO到GitHub

这一步恐怕是最关键的一步了,让我们把在本地web环境下预览到的博客部署到github上,然后就可以直接通过http://jiji262.github.io/访问了。不过很多教程文章对这个步骤语焉不详,这里着重说下。

首先需要明白所谓部署到github的原理。

明白了原理,怎么做自然就清晰了。

使用hexo deploy部署

hexo deploy可以部署到很多平台,具体可以参考这个链接. 如果部署到github,需要在配置文件_config.xml中作如下修改:

然后在命令行中执行

即可完成部署。

踩坑提醒

1)注意需要提前安装一个扩展:

2)如果出现下面这样的错误,

则是因为没有设置好public key所致。

在本机生成public key(参考github帮助):

然后在#user_id/.ssh目录下会生成两个文件,id_rsa.pub和id_rsa.

然后登陆github,在SSH设置页面添加上刚才的public key文件也就是id_rsa.pub的内容即可。

使用git命令行部署(optional)

不幸的是,上述命令虽然简单方便,但是偶尔会有莫名其妙的问题出现,因此,我们也可以追本溯源,使用git命令来完成部署的工作。

clone github repo

将我们之前创建的repo克隆到本地,新建一个目录叫做.deploy用于存放克隆的代码。

创建一个deploy脚本文件

简单解释一下,hexo generate生成public文件夹下的新内容,然后将其拷贝至jiji262.github.io的git目录下,然后使用git commit命令提交代码到jiji262.github.io这个repo的master branch上。

需要部署的时候,执行这段脚本就可以了(比如可以将其保存为deploy.sh)。执行过程中可能需要让你输入Github账户的用户名及密码,按照提示操作即可。

之前步骤中在Github上创建的那个特别的repo(jiji262.github.io)一个最大的特点就是其master中的html静态文件,可以通过链接http://jiji262.github.io来直接访问。

Hexo -g 会生成一个静态网站(第一次会生成一个public目录),这个静态文件可以直接访问。

需要将hexo生成的静态网站,提交(git commit)到github上。

结语

基于以上步骤,花费大约三个小时左右的时间,你的博客大概已经能在GitHub上运行了,这是基础的第一步。HEXO文本使用Markdown语法,上手十分容易,能让你只专注于写作,在之后的文章里我们将探讨如何发布你的第一篇文章。所谓认识一把锤子最好的方法就是拿起来用它,其实有些事情并不困难,只是我们缺乏走出第一步的勇气。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180418G1JV9T00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

关注

腾讯云开发者公众号
10元无门槛代金券
洞察腾讯核心技术
剖析业界实践案例
腾讯云开发者公众号二维码

扫码关注腾讯云开发者

领取腾讯云代金券