文章目录

搭建自有博客一般有WordPress和Github Pages两种选择,其中使用WordPress只需要安装步骤再加上购买域名、DNS解析等步骤即可完成,方便简单,数据一般存储在云服务器。而Github Pages利用Github提供的免费空间作为存储空间,生成静态博客以供访问。其中,Github Pages可以采用官方提供的傻瓜式生成方法,也可以采用第三方博客生成程序,比如官方推荐的Jekyll,或者Octopress,Hexo等等,考虑到生成速度和博客样式,最终选择了Hexo作为博客生成工具。

Hexo是一个快速、简洁且高效的博客框架。它出自出自台湾同胞Tommy Chen之手,采用Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页,并直接部署到GitHub Pages,BAE,SAE等平台上。

##环境准备(Windows 8.1)

  1. 安装Node.js,因为Hexo基于Node.js,所以首先得安它;
  2. 安装Git,git的客户端很多,我选择的是官方版本的;
  3. 安装编辑器。撰写文章时需要使用Markdown语法,所以一款好的编辑器是必须的,我采用的是Cmd Markdown,支持行业同胞的软件。当然你也可以采用Sublime,它不仅支持文本编辑,同时支持各种编程语言和文件格式。

##Github

  1. 注册Github账号,已有的请忽略;
  2. 配置ssh keys,并添加到github,具体过程可以参考配置和使用Github;
  3. 在Github上建立该项目的仓库。GitHub Pages分两种,一种User/Organization Pages ,采用你的GitHub用户名建立的username.github.io主站,这种使用的是master分支,每个用户只能建立一个;另一种是依附项目的Project Pages,须用gh-pages分支用于构建和发布,用户可以建立多个,本文采用的第一种;

##搭建博客

  1. 安装Hexo;

    1
    npm install -g hexo
  2. 初始化;

    1
    hexo init <folder>
  3. 生成静态页面;

    1
    hexo generate
  4. 启动本地server用以验证,浏览器输入http://localhost:4000就可以看到博客的默认效果;

    1
    hexo server
  5. 将博客部署到Github;

    1
    hexo deploy

需要将根文件夹下_config.yml文件中的Deployment部分添加如下代码:

1
2
3
4
deploy:
type: git
repo: git@github.com:yourname/yourname.github.io.git
branch: master

通过查看Github仓库中是否生成了新的代码,并在浏览器访问yourname.github.io,看看是否成功吧!

##搭建过程中遇到的坑
通过搜索引擎找到的关于Hexo博客搭建的文章大部分都是Hexo2.x版本的,但当前其已经升级到3.0版本,所以在实际操作中会遇到一些坑,这里将我搭建博客过程中遇到的一些情况进行 列出了列举避免大家再次踩到:

  1. 部署时提示找不到git
    在Hexo 3.0版本后deploy git 被分开的,所以需要安装,安装命令如下:

    1
    npm install hexo-deployer-git --save
  2. 部署的时候执行:hexo deploy 命令行没有任何输出,也没有错误
    在部署的_config.yml文件中,找到deploy:标签,在每个冒号后面必须要有空格,否则就会出现上述问题。同时在3.0版本中type属性一项github不再起作用,需要使用git;

  3. 执行hexo server显示running at http://0.0.0.0:4000/
    通过执行如下代码修改本地服务器地址为localhost:4000:

    1
    hexo -i 127.0.0.1
  4. 执行hexo server提示找不到该指令
    在Hexo 3.0 后server被单独出来了,需要安装server,安装的命令如下:npm install hexo-server –save 安装此server后再试,问题解决。

  5. hexo server之后访问localhost:4000,结果网页显示“Cannot GET /”
    以下两条命令需要连续执行:

    1
    2
    hexo init
    npm install
  6. _config.yml文件中属性内容改成中文了,为什么访问会出现乱码?
    文件须以utf-8格式保存

##创作文章
执行如下命令,将会在hexo\source_posts\下生成postName.md的文件,用于承载文章:

1
hexo new [layout] "postName"

其中layout是可选参数,默认值为post。在scaffolds目录下有一些默认的layout,你也可以添加自己的layout。接下来,你就可以用喜爱的编辑器尽情书写你的文章。关于markdown语法,可以参考Cmd Markdown 语法说明

##其他
博客的基本框架就搭建完成了,接下来就是Hexo的深入和附加的功能:

  1. 主题安装;
  2. 自定义页面;
  3. 404页面;
  4. 图床;
  5. 域名更换;
  6. 属性配置;
  7. 修改局部页面;
  8. 统计功能;
  9. 分享功能;
  10. 网站图标;
  11. 自定义挂件;
  12. 各类插件;
  13. 网站监控;
  14. 迁移;
  15. 更新;
  16. ……
    后面如果有空再一一道来。

##参考
如何搭建一个独立博客——简明Github Pages与Hexo教程
hexo你的博客
Hexo在github上构建免费的Web应用
Hexo官方文档
如何使用 Jacman 主题

##欢迎勾搭
彩虹之西的Github
彩虹之西的微博
彩虹之西的知乎

文章目录