之前在学习编程和开始工作的时候,也都有整理和写笔记的习惯,笔记一直是使用Gitbook编辑整理和同步的,也有想搭建一个自己的博客但是又因为自己太懒散,而且感觉搭建博客比较复杂,所以就一直没有付诸行动;直到最近偶然看到介绍使用Hexo + GitHubPages搭建博客的文章,就查了下相关的资料和介绍,搭建了一个简单的博客(GitHubPages + Hexo + Next主题)。
关于博客
- 常见的博客搭建方法(查到资料的)
- WordPress:一般需要独立域名(收费),传统的博客搭建方法,但是对MarkDown支持不是很好
- GitHubPages + Jekell:免费,稍微比较麻烦
- GitHubPages + Hexo:免费,使用简单,适合新手入门
关于Hexo
- Hexo 是一个基于 Nodejs 的静态博客网站生成器,作者是来自中国台湾的Tommy Chen。
- 作者网站
特点
- 部署方便且速度快
- 支持Markdown语法
- 已移植 Octopress 插件
- 高扩展性、自订性
- 兼容Windows, Mac & Linux
Hexo实现原理
- 1、Hexo是一个静态博客生成器,根据给定的主题,负责把写好的 Markdown 文章转换成一堆 HTML + CSS + Javascript 页面。
- 2、Hexo还有把生成好的站点上传到 Github Pages 的功能。
GitHubPages + Hexo搭建方法
- 关于使用可参考下面这两篇文章,写的非常详细,而且是针对Windows/Mac两个平台方法,就不在浪费时间码字了。
- Mac搭建Hexo博客及NexT主题配置优化
常用的指令
1 | hexo clean // 清空本地缓存,解决由于本地缓存导致部署无效 |
插件安装
RSS订阅插件
- 执行如下指令
1 | npm install hexo-generator-feed --save |
- 打开 Hexo 站点下的 _config.yml ,添加如下配置:
1 | # feed |
本地搜索插件
- 执行如下指令
1 | npm install hexo-generator-searchdb --save |
- 打开 Hexo 站点的 _config.yml,添加配置
1 | search: |
静态资源压缩插件
- 安装gulp
1 | npm install gulp -g // 如果报npm WARN deprecated警告 可使用npm install -g npm |
- 安装gulp插件:
1 | npm install gulp-minify-css --save // 如果报npm WARN deprecated警告则使用sudo npm install gulp-clean-css执行 |
主题配置
设置网站标签页favicon图标
- 图标格式:32 * 32 的ico格式图标,重命名为favicon.ico
- 把设计好的图标放在/themes/next/source/images里
- 修改主题配置文件medium
1 | favicon: |
- 更多配置可参考Hexo+Next个人博客主题优化
关于多电脑同步
使用电脑搭建好博客后可能面临如下问题
- 1、是在家里私人电脑上搭建的,想在公司也可以愉快的写文章
- 2、换了一台新的电脑(挣钱了要换装备😂)
3、电脑系统崩了😭
关于多电脑同步解决方案1
- gitHub分支管理,master分支存博客静态网页资源,Hexo分支存所有源文件(设置为默认分支)
- 每个电脑每次更新文章前需要正常的git同步操作
- 每个电脑每次更新文章后需要正常的git同步操作
- 但是个人感觉不安全,别人可能直接把你的Hexo分支拉取下来就等于获取了你的全部博客资源(虽然我的博客没什么有用的价值😂)
- 具体分支实现可参考利用分支同步
关于多电脑同步解决方案2
- 每次手动拷贝最新的文件夹替换另一台电脑旧文件夹(想想就麻烦)
- 通过云盘如Dropbox自动同步整个文件夹,使所有的电脑都可以同步到最新的
目标电脑获取到最新的博客文件后
- 如果是情形3可以考虑先把整个博客目录拷贝出来到新的系统博客目录下
- GitHub添加配置新电脑的SSH key 和搭建时一样参考Mac搭建Hexo博客及NexT主题配置优化
配置运行环境,执行如下指令
1
2brew install node // 安装Node.js
npm install -g hexo // 安装hexo切换到博客目录下安装博客模块和插件 (具体参考之前安装过的插件)
1
2
3
4
5
6
7
8
9
10
11
12
13npm install
npm install hexo-deployer-git --save
npm install hexo-generator-feed --save
npm install hexo-generator-sitemap --save
npm install hexo-generator-feed --save
npm install hexo-generator-searchdb --save
npm install -g gulp
npm install gulp-minify-css --save
npm install gulp-uglify --save
npm install gulp-htmlmin --save
npm install gulp-htmlclean --save
npm install gulp-imagemin --save
- 又可以愉快的随时随地写文章了😂