~-2018

树莓派HEXO+GitHub搭建博客

hexo是一款基于Node.js的静态博客框架,简洁高效。现在被越来越多的人所使用,下面说一下Hexo+GitHub搭建博客的过程:

一 配置环境

1.安装nodejs,用以生成静态界面,前文已经提过,这里不再赘述;

2.安装Git,把本地Hexo的内容 提交到GitHub上;对于树莓派,Debian系只需要:

sudo apt-get install git-core -y

二 申请GitHub

如果没有GitHub账号的话,接着走下去,有的话直接跳过,这是为了是用来做博客的远程仓库、域名、服务器等,

登陆 github.com,填写用户名,注册邮箱(之后需要验证),密码,初学者可以先选择和Free,以后自己选择适合自己的套餐。

三 本地安装Hexo

npm install hexo-cli -g
hexo init blog
cd blog
npm install
hexo server

官方的介绍如此简洁,我都不好意思多说什么了;但还是来解释一下:

第一步安装Hexo,第二步是建立并初始化网站,然后进入文件夹安装,成功后应该是这个样子的:
.
├── _config.yml
├── package.json
├── scaffolds
├── source
| ├── _drafts
| └── _posts
└── themes
blog文件夹下有一下几个文件,下面分别来说一说他们的作用:
_config.yml
站点的配置文件,基本的配置都可以在这里找到;

package.json
应用数据,EJS,Stylus和Markdown渲染器是默认安装的。如果你乐意,可以稍后卸载它们;

scaffolds
这个文件夹是当你创一个新帖子时,新帖子放置的地方;

source
源文件夹,这是你网站的内容放置地。 Hexo忽略隐藏的文件和名称前缀为_的文件或文件夹 , 除了_posts文件夹。可渲染文件(例如Markdown,HTML)将被处理并放入公用文件夹,而其他文件将被简单复制;

themes
主题文件夹,Hexo通过将网站内容与主题相结合来生成一个静态网站。

Hexo常用命令

New

hexo new [layout]

创建一个新的文章,如果没有提供布局,Hexo将使用_config.yml中的默认布局,如果标题包含空格,请用引号括起来。

Generate

hexo generate

生成静态文件;

选项,描述
-d, –deploy 生成文件后部署
-w, –watch 观察文件的改变

Publish

hexo publish

发布草稿;

Server

hexo server

启动本地服务器,默认情况下,这是http:// localhost:4000 /;

选项,描述
-p, –port 指定端口
-s, –static 只提供静态文件
-l, –log 开启日志

Deploy

hexo deploy

部署你的网站。

四 配置SSH key

配置这个是为了更方便的提交代码,首先:

ssh-keygen -t rsa -C "邮件地址"

然后连续3次回车(按照默认的来),最终会生成一个文件在用户目录下,打开用户目录,找到.ssh\id_rsa.pub文件,记事本打开并复制里面的内容,打开你的github主页,进入个人设置 -> SSH and GPG keys -> New SSH key:名称随便写,然后把内容粘贴进去;(注意开头有要求

接着测试是否成功,

ssh -T git@github.com

如果提示Are you sure you want to continue connecting (yes/no)?,输入yes,然后会看到:

Hi your_user_name! You've successfully authenticated, but GitHub does not provide shell access

那么说明SSH已经配置成功了。
继续配置:

$ git config --global user.name "your_user_name"// 你的github用户名,非昵称
$ git config --global user.email "你的邮箱"// 填写你的github注册邮箱

五 配置GitHub

建立Repository

建立与你用户名对应的仓库,仓库名必须为your_user_name.github.io!!

建立关联

配置Hexo中的_config.yml,命令:

vim  _config.yml  

翻到最后,将其改为如下:

deploy:
type: git
repository: git@github.com:your_user_name/your_user_name.github.io.git
branch: master
message: update

如果改为下面这种形式,那么每次部署的时候需要输入用户名,密码,麻烦!

deploy:
type: git
repo: https://github.com/your_user_name/lyour_user_name.github.io.git
branch: master
message: update

然后安装部署模块,命令:

npm install hexo-deployer-git --save

然后,执行部署命令:

Hexo deploy

就可以访问http://your_user_name.github.io/了。

六 绑定域名

好吧,其实这一步可以省去,但是有些人还是有这个需求的,GitHub提供了域名(必须顶级)绑定服务,相当棒!这里首先你需要一个域名,可以去goDaddy购买,也可以去万网买,这个就这样,然后是域名解析,注意,要添加至少三条记录,两条A记录,值是192.30.252.14, 192.30.252.13然后,还有一个CNAME记录类型,记录值为your_user_name.github.io;

然后在你的仓库里面新建一个文件,必须命名为CNAME,内容为你的域名。同时在本地source文件夹中建立CNAME文件,内容为你的域名。

然后,就开始吧!

发表评论

电子邮件地址不会被公开。 必填项已用*标注