hexo搭建Gitcafe博客(专栏)

(专栏连接,hexo传送门)

hexo搭建博客(一): hexo简介

为什么要自己搭建博客

  • 独立
  • 逼格高

博客架构

hexo + GitCafe Pages + Markdown

hexo

hexo是一个基于Node.js的静态博客程序,可以方便的生成静态网页托管在github和gitcafe上。

GitCafe Pages

Pages服务简单来说是通过在GitCafe上创建一个项目,在这个项目中托管静态网页文件,在指定的条件下,GitCafe会为您准备好一个XXX.gitcafe.com的二级域名用于渲染展示您的个人静态页面。

Markdown

Markdown是一种轻量级的标记语言,它可以让你只关注写作内容,而不是排版。Hexo的文章都是用Markdown格式进行书写的,如果不了解这门语言的,可以看下我这篇教程。

如果你开始感兴趣的话,赶紧进入下一节吧。

hexo搭建博客(二): 本地初始化

平时都是使用Mac或Ubuntu,不过大部分人都是使用Windows,所以特意用Windows跑了整个安装流程。

安装

Git

安装对应平台的Git,我这里选择Windows。安装过程如果不太懂的话,一直点下一步就可以了。

Node.js

Windows下面安装Node.js,选择对应的msi文件就可以。我的系统是64位的,所以选择64-bit的msi安装文件。安装过程也是一直点下一步。

hexo

利用npm命令安装,在任意文件夹点击鼠标右键,选择Git bash。 然后执行

 
      
1
 
      
npm install hexo -g

如果执行了之后没反应,按Ctrl+c结束运行。然后再执行一遍安装命令。成功的话会出现以下提示

依赖的插件

EJS

 
      
1
 
      
npm install hexo-renderer-ejs --save

Stylus

 
      
1
 
      
npm install hexo-renderer-stylus --save

Marked

 
      
1
 
      
npm install hexo-renderer-marked --save

如果以上命令安装不成功的话,就多试几次,一定要确保都装上才可以往下走。

用法

命令

hexo的命令很少,长短两种格式都可以用,这里用短格式的命令。

  • 初始化: hexo init
  • 添加新文章: hexo n
  • 生成静态页面: hexo g
  • 本地运行: hexo s
  • 部署: hexo d

初始化

安装完成后,在任意一个盘创建一个新的文件夹hexo,我这里创建在D盘,然后在这个文件夹内点击鼠标右键,选择Git bash,然后执行

 
      
1
 
      
hexo init

这样子我们就搭建起了本地的hexo博客了,然后接着执行

 
      
1
 
      
hexo generate && hexo server

到浏览器输入localhost:4000,就可以看到下面这个激动人心的页面了。

发布文章

配置了这么久,终于可以开始自己写点东西了。执行

 
      
1
 
      
hexo n hello_hexo

就会在D:\hexo\source\_post下面创建hello_hexo.md的markdown格式的文件。用markdown打开该文件,我这里用的是MarkdownPad,加入Hello Hexo,保存。

然后运行

 
      
1
 
      
hexo g && hexo s

刷新刚刚浏览器的那个页面,你就可以看到自己发布的新文章了。

至此本地环境就算搭建好了,如果想继续折腾配置的话,可以接着往下看。

hexo搭建博客(三): hexo配置

主题

hexo的主题比较少,我用的是Pacman,下面的教程也是基于Pacman。

在hexo项目的文件夹下面(就是上一节的D:\hexo),点击鼠标右键,选择Git bash,然后执行

 
      
1
 
      
git clone https://github.com/A-limon/pacman.git themes/pacman

打开文件夹下面的_config.yml,把里面的theme属性设置为pacman

然后进入themes/pacman这个文件夹,运行Git bash, 执行

 
      
1
 
      
git pull

这样子就把主题设置成pacman了。进入hexo项目的根目录(D:\hexo),运行

 
      
1
 
      
hexo s

然后在浏览器输入localhost:4000就能看到新主题了。

插件

下面的插件是可选的,没有的话博客也可以正常运行,所以完全不知道这些插件是做什么的,可以直接跳到下一节。

Rss

原生的Hexo是没有rss功能的,需要手动安装。运行Git bash, 执行

 
      
1
 
      
npm install hexo-generator-feed --save

修改之前的_config.yml,在plugins下面添加 hexo-generator-feed

 
      
1
2
 
      
plugins:
- hexo-generator-feed

如果是用pacman这个主题,可以打开themes\pacman\_config.yml,在rss里填入http://域名/atom.xml,比如我的

 
      
1
2
 
      
#### RSS
rss: http://leodots.com/atom.xml ## RSS address.

sitemap

运行Git bash, 执行

 
      
1
 
      
npm install hexo-generator-sitemap --save

修改之前的_config.yml,在plugins下面添加 hexo-generator-sitemap

 
      
1
2
 
      
plugins:
- hexo-generator-sitemap

访问http://leodots.com/sitemap.xml即可看到站点地图

配置就先说到这里,目前我们只能本地访问博客,接下来讲一下怎样将博客部署到GitCafe Pages。

hexo搭建博客(四): 部署GitCafe Pages

注册gitcafe帐号,创建公开项目。

项目名要和用户名一致,不然会出错。

将本机的SSH添加到GitCafe,如果从没生成过ssh的可以看下这里

打开_config.yml, 在最下面添加如下代码

 
      
1
2
3
4
5
6
 
      
# Deployment
## Docs: http://zespia.tw/hexo/docs/deploy.html
deploy:
type: github
repository: [email protected]:your_name/your_name.git
branch: gitcafe-pages

上面的your_name填入你自己的GitCage用户名,比如我的是[email protected]:clinyong/clinyong.git

然后运行

 
      
1
 
      
hexo g && hexo d

然后打开your_name.gitcafe.com就能看到你的博客了。记得把your_name替换成你自己的。

下一节 介绍如何绑定自己的域名。

hexo搭建博客(五): 设置域名

Godaddy

域名可以在Godaddy上面购买,这个网站主要是优惠券多,随便上谷歌一搜就有。我自己是在淘宝上面买的,买了一年,差不多50RMB。如果觉得太贵也可以去CNDNS买姓名域名,十年才100RMB。我自己是买的Godaddy,所以下面的教程也是基于Godaddy。

购买完域名之后,进入账户管理

点击Launch

选择你的域名,然后点击Set NameServers

填入DNSPod的2个DNS短地址

 
      
1
2
 
      
f1g1ns1.dnspod.net
f1g1ns2.dnspod.net

保存

这样子Godaddy这边的工作就结束了。

Dnspod

注册dnspod,点击添加域名

填入你自己的域名,我的是leodots.com,进入域名,添加记录

默认已经有两条记录了,其它两条条也填成像上图那样,记录值不用改,都是207.226.141.135。然后选择自己添加的两条记录,点击启用

GitCafe

接下来登陆GitCafe,选择你的GitCafe Pages项目

进去之后,点击项目管理

自定义域名

按照下图,填入你自己的域名

设置域名这部分就是算完成了,现在你输入自定义的域名就能看到自己的博客了。不过DNS一般会有延迟,如果没办法立即访问,等多一个小时再试。

最后一节介绍怎样备份博客

hexo搭建博客(六): 博客备份

博客在本地部署之后,如果换了电脑怎么办呢?(之前很傻逼,以为clone博客那个repo就可以了…)

没有什么好方法,直接用同步盘备份你的博客项目,我自己是用坚果云

到此hexo搭建博客系列教程就算写完了,想了解更多内容,请参考官方文档


你可能感兴趣的:(Computer,Skill,Web,develop)