Index
Index
Content
  1. 本地安装
    1. 1.安装 Node.js
    2. 2.安装 Hexo
    3. 3.本地搭建博客环境
    4. 4.安装 RSS 插件(可跳过):
    5. 4.启用搜索页面(可跳过):
    6. 5.博客主题(可跳过):
    7. 6.检查 Hexo Server
    8. 7.本地预览
  2. 部署到 Coding和 Github
  3. 部署错误怎么办
  4. 最后的成果:

从个人微信公众号开始

This is my very first post.

一切都从非常简单地开启了个人微信公众号开始:

qr_code

众所周知,个人公众号已经永远失去认证机会了,因此很难在原创文章里贴上原创标签。文章被人误删或者抄袭了,个人完全没有自主权。

为了能够有一个自己的地盘 archive 所有公众号内容,并以此为原文链接,添加原创标签,一个小小的个人项目越画越大,我因此参考了网络知识,最后决定:

  1. 注册 GitHub, Coding.net, 以及免费域名
  2. 注册微博
  3. 注册简书
  4. 最后用 Hexo 同时部署GitHub pages 以及Coding pages,整合资源,一键部署

第四步,我亲身尝试了许多网络建议,最后感觉这样最靠谱(主要是这个还在我能力范围之内)。特此鸣谢:

这篇博文主要为了记录我的建站过程,许多命令都已经在上述两篇文章出现过。

本地安装

1.安装 Node.js

Mac电脑直接下载后缀为pkg的文件下载安装即可.

完装完成后,在 terminal 运行:

cd /usr/local/bin
vi .bash_profile

在新建的.bash_profile 文件里添加:

export PATH=/usr/local/bin:$PATH

并保存退出,重新加载shell让设置的环境变量生效:

source ~/.bash_profile

为提高访问速度,将官方默认 npmjs.org 源替换为淘宝的 npm 源:

npm config set registry http://registry.npm.taobao.org/

2.安装 Hexo

sudo npm install -g hexo

3.本地搭建博客环境

安装完成后,在你希望的目录下新建一个子目录 myblog 用于存放博客,在terminal运行:

mkdir myblog

切换到该目录下,在 terminal 运行以下命令初步生成基本坏境:

cd myblog
hexo init
sudo npm install

4.安装 RSS 插件(可跳过):

在 terminal运行:

cd myblog
sudo npm install hexo-generator-feed --save

打开myblog 目录下的 _config.yml:

cd myblog
vi _config.yml

添加这一行文字开启 RSS:

rss: /atom.xml

4.启用搜索页面(可跳过):

在 terminal运行:

cd myblog
npm install hexo-search --save

启用搜索页面:

cd myblog/source/search
vi index.md

将其中的内容替换为:

---
title: search
layout: search
comments: false
---

5.博客主题(可跳过):

我选择了(fexo)[https://github.com/forsigner/fexo]作为博客主题,在 terminal 下运行如下命令安装(请注意,我的 mac 已经安装了 git):
cd myblog/themes
git clone https://github.com/forsigner/fexo.git

打开myblog 目录下的 _config.yml:

cd myblog
vi _config.yml

关键字查询“theme”,将那一行改为:
theme:fexo

打开 myblog/themes/fexo/_config.yml,配置各种个人信息,包括博客名字,头像,favicon,关键词,导航等等等等:

cd myblog/themes/fexo/_config.yml

启用某个页面,所有资源在myblog/source下。例如启用分类页面:

cd myblog/source/category
vi index.md

将其中的内容替换为与页面相符的内容:

---
title: category
layout: category
comments: false
---

6.检查 Hexo Server

检查hexo server 是否是个可执行的命令。在 terminal 运行:

cd myblog
hexo

In my case, “server” is listed under “Commands”.

Otherwise,执行以下命令:

sudo npm install hexo-server --save

7.本地预览

执行如下命令生成静态博客页面并启动本地服务器,若成功可在浏览器中访问 http://localhost:4000/ 进行预览:

cd myblog
hexo g
hexo s

如果生成了不想生成的东西,比如多余的标签或者分类,用如下命令清除:

cd myblog
hexo clean

在这里注一笔,多个标签或分类要在 post 里面使用 YMAL 格式。例如本文的标签及分类:

---
tag: 
- 原创 
- 微信 
- 技术
category: 大鱼儿的小池塘
title: 从个人微信公众号开始
---

部署到 Coding和 Github

在 Coding.net 新建一个公有项目,项目名称用你的 Global Key(藏在个人设置底下), 我的是 fishbb.

在本地,terminal里生成公钥,email 部分请替换成你注册 coding 的邮箱:

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

在 Coding.net 添加公钥。然后在本地测试:

ssh -T git@git.coding.net

如果返回类似如下结果,配置成功:

Hello fishbb! You've connected to Coding.net via SSH successfully!

用类似的方式,在 GitHub 新建项目并配置公钥。

在本地测试:

ssh -T git@github.com

打一些 yes 之后,如果返回类似如下结果,配置成功:

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

在本地,terminal里面输入:

cd myblog
vi _config.yml 

修改以下几个参数,这些参数一般在文件底部:

deploy:
    type: git               #部署方式,这里我们用的是Coding的Git
    repo: 
        coding: <repository url>,[branch]  #coding仓库地址,例如我的是git@git.coding.net:fishbb/fishbb.git,master   
        github: git@github.com:fishbb/fishbb.github.io.git,master #github 仓库地址,例如我的是git@github.com:fishbb/fishbb.github.io.git  

执行以下命令将生成的博客静态页面 push 到我们上面在 Coding 创建的仓库中:

sudo npm install hexo-deployer-git --save
hexo clean
hexo g
hexo d

然后去 coding.net,在该项目的 Pages 标签,开启 pages 服务,分支名填写为我们在_config.yml 文件中设定的分支,我的是 master。

pages 服务开启完成后,Coding 会提供一个类似 {user_name}.coding.me/{project_name} 的链接用于访问。

部署错误怎么办

第一次部署成功后,第二次我遇到了许多奇怪的错误,试了各种办法。最后解决之道:

cd myblog
sudo rm -rf .deploy_git

然后重新部署:

hexo clean
hexo g
sudo hexo d -g

最后的成果:

http://fishbb.coding.me

http://fishbb.github.io

微信扫一扫
扫一扫,支持fishbb