前言
一直以来都想搭建一个个人博客,由于不懂web技术,迟迟没有动手去做,所以一些文字记录都是保存到印象笔记这种第三方平台
折腾期间,陆续接触了Ghost , Hexo 并将这两个博客都搭建了一遍,最后还是选择了Hexo
原因如下:
准备环境
本文记录的搭建过程并不是从零开始,基于以下环境
- Mac OSX 10.11
- git (安装xcode 会自动安装)
- github 配置完毕
- nodeJS
安装Hexo
打开终端 control+space 呼出spolight 搜索terminal 快捷打开
1 | $npm install hexo-cli -g |
初始化博客工作目录
在桌面新建一个Hexo文件夹 打开终端 cd 到Hexo
1 |
此时blog目录如图所示
- npm_modules 是hexo 依赖的一些模块
npm install
的时候进行安装 - _config.yml 是hexo 的全局配置文件 (主题,语言,发布等等)
- source 我们的工作目录,我们的每一篇博客都以单独的Markdown文件保存到
source/_posts
里面 - themes 保存我们下载的各种主题
预览博客
1 |
hexo g 将我们所有的博客文件 主题配置等等 生成一系列静态页面,此时blog 目录下面会出现public文件夹 保存生成的静态html 页面
hexo s 运行本地服务
此时用浏览器访问 http://localhost:4000/
会打开我们的博客页面,此时默认有一篇博客hello world
创建一篇博客
1 | $hexo n "Hexo+Github Page 博客搭建" |
进入source/_posts
打开 Hexo+Github Page 博客搭建.md
这里我们使用mac 平台下的Markdown 编辑器 Mou 进行编辑
编辑完成后保存即可
接着我们预览刚刚编辑的博客1
2
此时用浏览器访问 http://localhost:4000/
会出现我们新添加的博客
每次编辑完成后需要 重新生成 然后再启动web服务进行预览我们可以使用组合命令1
$hexo s -g
更换主题
这里我们以Next 主题为例
下载主题
1 |
下载完毕后themes
文件夹里面 增加了hexo-theme-next
文件夹
启用主题
打开blog
目录下的 _config.yml
修改theme
一栏为
1 | theme: hexo-theme-next |
注意中间一定要有空格
找到language
修改如下
1 | language: zh-Hans |
执行如下命令
1 |
再次访问 http://localhost:4000/
我们的博客已经切换到next 主题
发布
到目前为止我们所有的预览都是建立在本地的serve上的,其他人并不能访问到我们的博客,我们接下来要做的就是将我们的博客发布到Github page 让所有人都能访问
Github Page
每一个Github 账号都能创建一个特殊的Repo
这个Repo的名字是 Github 的用户名
这个Repo的Master 分支根目录里面的index.html 可以通过域名repoName.github.io
来进行访问
详细的关于github page 的内容可以点击 Github pages
发布博客
首先我们要修改_config.yml
告诉hexo 该发布到哪个平台
打开blog 根目录的 _config.yml 修改 deploy
1 | deploy: |
安装 一个hexo 扩展 hexo-deployer-git
1 |
发布命令
1 | $hexo d -g |
如果我们是第一次使用,可能会提示我们输入Github 账号密码
成功之后我们打开bucengyongyou.github.io
就能看到我们的主页了
图床
之前并没有接触过这个概念,所谓图床就是
就是专门用来存放图片,同时允许你把图片对外连接的网上空间
由于使用hexo 写博客的时候 引用本地图片比较麻烦,并且将来迁移起来比较麻烦,所以一般我们都是将图片上传到图床上,然后外链到博客中
这里我们使用七牛云存储
注册用户通过实名认证后有10GB 的免费空间
并且 七牛云在加载图片的时候能够通过拼接url参数来对图片做处理,比如缩略图,水印,剪裁等等
所以我们写博客时,如果用到图片的话就必须经过如下步骤
- 打开七牛面板,找到图片上传
- 复制图片链接
- 贴到博客
其中第一步是比较繁琐的,要打开文件选择器,然后找到图片,然后再上传,如果我们是用的截图(可能大部分情况是用的截图) 那就更麻烦,我们还要找到截图的位置,或者把截图先复制到某个常用文件夹里面然后再去后台上传
那么有没有更佳优雅的方式
答案是肯定的,这里推荐一个插件 qiniu4blog
能够检测某个文件夹,如果有新增图片,立即上传到我们配置的七牛平台,并且将链接保存到剪切板
使用这个插件之后我们的添加图片的流程就变成如下
- 将图片复制到被检测的文件夹
- 将链接粘贴到博客
接下来安装qiniu4blog
1 | sudo pip install qiniu4blog |
配置qiniu4blog 在home 目录下面新建配置文件qiniu.cfg
比如/Users/xxxx/qiniu.cfg
1 | [config] |
这里 bucket
是我们在七牛上面创建的资源对象的名字
path_to_watch
我们希望检测的自动上传的文件夹 我们在blog目录新建一个文件夹用来存放图片,并将目录指定到path_to_watch
custom_url
这里设置为true 因为我们并没有申请域名,所以使用的是七牛的测试域名
打开终端 运行qiniu4blog
1 |
这里我在实际运行的时候 报错找不到ndg-httpsclient
,pyasn1
这两个库,通过
1 |
安装完毕之后 再次运行成功
此时比如我们需要截图贴到博客,我们可以用qq进行截图,然后对图片cmd+c
,打开images 目录,cmd+v
图片会自动上传
此时图片地址也自动复制到剪切板上了,字节在博客中粘贴即可
添加About页面
打开主题的_config.yml
配置文件 修改menu项目,去掉about的注释
1 | menu: |
此时重新运行 博客预览在博客的按钮导航区 出现了关于按钮
但是当我们点击关于的时候,却跳到了404页面 原因是找不到about 页面
查看浏览器指向的链接为http://bucengyongyou.github.io/about/
我们需要通过如下命令 添加一个页面
1 | $hexo n page "about" |
成功后在source/
下面会创建一个abount
文件夹 同时about
里面会创建 index.md文件
这就是我们的about 要显示的页面,我们只需要按照博客的方式编辑即可
小结
致辞,我们已经搭建出了一个简单的博客,我们能够编辑博客,发布博客,并且能通过外网访问,下一篇将对博客进行进一步的优化,配置,包括
- 对主题样式的修改
- 添加评论
- 首页文章,文章详情页,添加阅读数量统计