This is my very first post.
一切都从非常简单地开启了个人微信公众号开始:
众所周知,个人公众号已经永远失去认证机会了,因此很难在原创文章里贴上原创标签。文章被人误删或者抄袭了,个人完全没有自主权。
为了能够有一个自己的地盘 archive 所有公众号内容,并以此为原文链接,添加原创标签,一个小小的个人项目越画越大,我因此参考了网络知识,最后决定:
- 注册 GitHub, Coding.net, 以及免费域名
- 注册微博
- 注册简书
- 最后用 Hexo 同时部署GitHub pages 以及Coding pages,整合资源,一键部署
第四步,我亲身尝试了许多网络建议,最后感觉这样最靠谱(主要是这个还在我能力范围之内)。特此鸣谢:
- 技术支持: OS X 下使用 Hexo 和 Coding Pages 搭建静态博客
- 技术支持:如何将Hexo Blog同时发布到GitHub跟Coding上
- 网站 theme: Fexo文档
这篇博文主要为了记录我的建站过程,许多命令都已经在上述两篇文章出现过。
本地安装
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