简介
Hexo 是一种基于 node.js 的静态博客框架。
安装 node.js 和 hexo
首先到官网下载安装 node.js, windows 版本是一个 msi 文件,直接下载双击安装就行。安装程序会自动添加环境变量,此时需要重启才能生效。
接下来的操作大多数基于命令行,windows 系统下可以使用 git bash(git 安装与使用方法这里暂不详述), 其操作与 linux 类似,个人感觉比 cmd 好用。
接下来通过下面命令安装 hexo:
1 | $ npm install hexo-cli -g |
其中 npm 是 node.js 的包管理工具,类似于 ruby 的 gem, python 的 pip, Ubuntu 的 apt-get。接下来,到到你想存放博客文件的目录,执行下面命令新建一个博客:
1 | $ hexo init blog |
上面命令中的 blog 可以任意取名,用于存放博客文件,然后 cd 进去 blog 文件。接下来执行下面命令:
1 | $ npm install |
npm install 是 npm 的安装命令,会自动在blog目录下寻找 package.json 作为配置文件安装必要的模块。此时就可以在本地通过以下命令启动hexo服务器了。
1 | $ hexo s |
启动本地服务器后,便可以通过 localhost:4000 来访问自己本地的 hexo 博客了。需要注意的是,这个时候打开的这个 git bash 已经被占用了,不能关闭,否则 hexo 服务器也就关闭了。如果要执行其他命令,需要打开一个新的 git bash。
把 hexo 部署到 github 上
接下来就可以把本地的 hexo 博客部署到 github 上了。
首先,我们需要在 github 上新建一个 repo, repo 的名字为 yourname.github.io,其中 yourname 为你自己的 github 的名字。
在正式部署之前,需要做好以下三项准备:
- 安装 git 部署工具
1 | $ npm install hexo-deployer-git --save |
- blog 文件夹里面的 _config.yml 文件的 deploy 部分需要做以下配置:
1 | deploy: |
- 设置本地 git bash 与你 github 账号之间的秘钥。使用一下命令生成 ssh key:
1 | $ ssh-keygen -t rsa -C "youremail@email.com" |
其中 youremail@email.com 是 github bash 的邮箱,cd 到存放秘钥的目录,利用以下命令打印出公钥:
1 | $ cat id_rsa.pub |
复制打印出来的公钥,粘贴到 GitHub 账号的 setting -> SSH keys。
这个时候就可以通过以下命令一键部署本地 hexo 到 github 上面了
1 | $ hexo g -d |
至此,hexo 就已经部署好了,接下来说一说更好得使用 hexo。
安装主题
前面利用 hexo init 建立博客时使用的是默认模板,个人感觉不是很好看,hexo 有着丰富的主题模板,而且切换起来非常方便,只需要在 blog 文件夹下面执行下面命令:
1 | $ git clone https://github.com/MOxFIVE/hexo-theme-yelee themes/yelee |
上面的链接为主题模板的 github 地址,下载的主题放在 /blog/themes 文件夹下面。事实上,打开 themes 文件夹我们发现里面已经有一个默认模板 landscape 在里面了。
最后把 blog 文件夹里面的 _config.yml 文件的 theme 字段修改成对应的主题名字就好了。
博客插图
由于所有的博客都是使用 markdown 进行编辑的,而 markdown 的插图一般需要外链,下面提供三种插图方法:
- 在 source 文件夹中建立 images 文件夹,把需要插入的图片放到该文件夹中,然后通过相对路径 /images/image_name 进行访问。这种方法是最简单的,但由于 github page 一般空间限制为 1G,所以当图片比较多时这种方法不太合适。
- 把图片上传到第三方图床,网上很多人推荐七牛网,但似乎目前免费空间只有1G了,如果图片较多就需要花钱了。另外,这些第三方图床说不定什么时候倒闭了或者被墙了就麻烦了。
- 直接使用 github 当图床,其实就是创建一个新的 repository,可以命名为 blog_images,然后直接通过网页把需要插入的图片上传到该 repository 中。下面说一下如何获取访问地址,首先进入新建的 repository,点开需要插入的那张图片,复制浏览器中地址栏中的地址,把地址中的 blob 改成 raw 就好了,这一步很重要。虽然每个 repository 也有 1G 容量的限制,但是 reposiroty 的数量是没有限制的,你懂的。个人比较推荐这种方法。
正常情况下,markdown 插入图片的语法是
,但这种方法不能改变插入图片的大小和位置。因此我们可以通过下面的 html 语句来设置插入图片的格式:
1 | <img src="address" width=50% height=50% align=center/> |
这条语句可以实现图片大小的设置,但是在我的博客中还不能实现居中对其,不知道是不是主题的原因。