该系列博客列表请访问:http://www.cnblogs.com/penglei-it/category/934299.html

摘要

GitHub 是一个开源项目的托管网站,相信很多人都听过。在上面有很多高质量的项目代码,我们也可以把自己的项目代码托管到GitHub,与朋友们共享交流。GitHub Pages 是Github为大家提供的一项服务,不仅能为托管的项目建立主页,还可以为我们建立个人博客。下面我就介绍个人博客是如何建立的。
在使用GitHub Pages建立个人博客前,我们象征性地了解一下GitHub Pages建立的页面有哪些优点:

  • 极简的配置,轻量级系统,无需数据库
  • 使用标记语言,如Markdown
  • 使用GitHub托管服务,免费300MB空间
  • 可以绑定自己的域名
  • 新版的GitHub Pages还支持CDN服务,提升访问速度

总体来说,GitHub Pages搭建的博客使用起来是非常方便的。配置好了之后,只需要使用例如Markdown编写自己的博文,扔到指定的文件夹里即可发布了。完全不需要管理网站相关的事务,例如数据库、安全性等问题。  
       开始正题,下面的操作步骤参考自Github Pages的主页,再结合我的实际操作介绍各个步骤,并说一下可能遇到的问题和解决办法。
       首先说明下面是以Window 10环境为例的。另外我采用的是Git Bash终端来操作,这在任何环境下都是一样的。


准备工作

在开始一切之前,你必须已经:

  1. 有一个github账号,没有的话去注册一个;
  2. 安装了node.js(国内下载比较慢 需要的可以从百度云下载、npm,并了解相关基础知识;
  3. 安装了git for windows(或者其它git客户端)

本文所使用的环境:

Windows10
[node.js@6.2.0](http://pan.baidu.com/s/1kU4FPzD)
hexo@3.2.2

安装node.js

下载node.js 安装文件,点击安装,不用你做任何操作,直接下一步即可安装完成。

安装hexo

在电脑的任意一个盘(位置自选)建一个文件夹,比如说的我的文件取名为Hexo.打开此文件夹,按住电脑的shift键,右击鼠标,选择在此处打开命令窗口(或者打开电脑的dos窗口,直接切换目录到Hexo文件夹)  
在命令窗口中输入:

 $ npm install -g hexo-cli  //安装hexo

然后输入命令hexo -v输入hexo的版本号即为安装成功。

创建一个新仓库

新建一个名为你的`github用户名.github.io`的仓库,比如说,如果你的github用户名是whitescholars(这个是我的用户名),那么你就新建whitescholars.github.io的仓库(必须是你的用户名,其它名称无效),将来你的网站访问地址就是 https://whitescholars.github.io了,是不是很方便?

由此可见,每一个github账户最多只能创建一个这样可以直接使用域名访问的仓库,所以访问的地址也是唯一的,方便github服务器管理。

设置仓库的参数

相信大多数人都知道,要想使用git命令来和github进行提交部署等操作,需要进行一些配置,大概就是下面一些命令,如不明白请自行搜索.

  1. 安装git for windows
  2. 右键鼠标选择` git Base here`,输入如下命令:  
        git config --global user.email xxx@qq.com
    git config --global user.name xxx
    ssh-keygen -t rsa -C xxx@qq.com(邮箱地址) // 生成ssh

注:email和name分别为注册github时的邮箱和用户名,生成ssh时会提示让你选择存储地址,可直接按enter下一步存储为默认地址。
         找到.ssh文件夹,找到id_rsa.pub文件打开复制SSH

3.登陆github,settings - Deploy keys  - add deploy key(把复制的SSH添加进去即可)

4.测试是否成功

  $ ssh -T git@github.com 

提示:

 Hi whitescholars/whitescholars.github.io! You've successfully authenticated, but GitHub does not provide shell access.

证明校验成功。

初始化Hexo

进入Hexo文件夹,在Dos命令窗输入:

    $ hexo init

这个过程稍微漫长一点,下载的文件如下图所示:

接着输入:

  $ hexo g # 生成
$ hexo s # 启动服务

执行以上命令之后,hexo就会在public文件夹生成相关html文件,这些文件将来都是要提交到github去的:
     

hexo s是开启本地预览服务,打开浏览器访问 http://localhost:4000 即可看到内容:

至此一个简单的博客框架算是搭建完成。系统会默认生成一个Hello    World的文章。

代码上传

如果你一切都配置好了,发布上传很容易,一句hexo d就搞定,当然关键还是你要把所有东西配置好。  
首先,ssh key肯定要配置好。  
     其次,配置主配置文件_config.yml中有关deploy的部分:
 
正确写法:

    # Deployment
## Docs: https://hexo.io/docs/deployment.html
deploy:
type: git
repository: git@github.com:whitescholars/whitescholars.github.io.git
branch: master

repository为对应仓库的地址。注意仓库地址有两种形式。一种是https,一种是SSH。此处应该使用SSH形式的地址。

最后输入如下三条命令:

    $ hexo clean # 清理
$ hexo g # 生成文件
$ hexo d # 部署文件

部署完成后输入自己之前创建的git仓库地址就可以访问了,例如我的仓库名字是whitescholars.github.io则输入https://whitescholars.github.io即可访问。
      至此一个你已完成了真个博客的搭建。当然你可能或觉得自己不喜欢这个主题,没关系,我会在后面的博客中接着告诉大家如何安装和修改主题。

    搭建博客的最终效果如下:http://penglei.top


     常见命令

    hexo new "postName" #新建文章
hexo new page "pageName" #新建页面
hexo generate #生成静态页面至public目录
hexo server #开启预览访问端口(默认端口4000,'ctrl + c'关闭server)
hexo deploy #部署到GitHub
hexo help # 查看帮助
hexo version #查看Hexo的版本

缩写

   hexo n == hexo new
hexo g == hexo generate
hexo s == hexo server
hexo d == hexo deploy

组合命令

    hexo s -g #生成并本地预览
hexo d -g #生成并上传

结语

如果你还需要了解更多技术文章信息,请继续关注白衣秀才的博客
个人网站:http://penglei.top/
Github:https://github.com/whitescholars
微博:http://weibo.com/u/3034107691?refer_flag=1001030102_&is_all=1

【原】Github+Hexo+NextT搭建个人博客的更多相关文章

  1. 【原】Github+Hexo+NextT搭建个人博客【1】

    该系列博客列表请访问:http://www.cnblogs.com/penglei-it/category/934299.html 摘要 GitHub 是一个开源项目的托管网站,相信很多人都听过.在上 ...

  2. github+Hexo快速搭建个人博客

    注意 本文主要针对Windows平台和Hexo 3.x 准备工作 下载Git [下载地址] [Git官网](https://git-scm.com/download/) 下载Node.js [下载地址 ...

  3. Github+Hexo一站式部署个人博客(原创)

    写在前面 注:博主 Chloneda:个人博客 | 博客园 | Github | Gitee | 知乎 本文源链接:https://www.cnblogs.com/chloneda/p/hexo.ht ...

  4. Hexo&Github-Pages搭建个人博客

    some基础知识 hexo hexo是一款基于Node.js的静态博客框架 github-pages说明 github有两种主页,一种是github-page(个人主页),一种是项目主页,本教程针对个 ...

  5. 基于 Hexo 从零开始搭建个人博客(二)

    阅读本篇前,请先配置好相应的环境,请仔细阅读教程 基于 Hexo 从零开始搭建个人博客(一). 原文链接:基于 Hexo 从零开始搭建个人博客(二) 前言 博客搭建过程遇到任何问题,优先在本页面搜索, ...

  6. 基于 Hexo 从零开始搭建个人博客(五)

    阅读本篇前,请先阅读前几篇文章: 基于 Hexo 从零开始搭建个人博客(一) 基于 Hexo 从零开始搭建个人博客(二) 基于 Hexo 从零开始搭建个人博客(三) 基于 Hexo 从零开始搭建个人博 ...

  7. 利用Octopress在github pages上搭建个人博客

    利用Octopress在github pages上搭建个人博客 SEP 29TH, 2013 在GitHub Pages上用Octopress搭建博客,需要安装ruby环境.git环境等.本人在Fed ...

  8. 使用Jekyll + GitHub Pages免费搭建个人博客

    使用Jekyll + GitHub Pages免费搭建个人博客 My Blog:无名の辈 | VectorX (vectorxxxx.github.io) Download Ruby:Download ...

  9. windows下github pages + hexo next 搭建个人博客

    一.github pages 搭建个人博客一般需要购买域名和空间,github pages为我们提供了这两样东西,而且是免费的,相关介绍和使用方法参考这里 github pages. 二.Hexo 一 ...

随机推荐

  1. Git 子模块 - submodule

    有种情况我们经常会遇到:某个工作中的项目需要包含并使用另一个项目. 也许是第三方库,或者你 独立开发的,用于多个父项目的库. 现在问题来了:你想要把它们当做两个独立的项目,同时又想在 一个项目中使用另 ...

  2. Git与Repo入门

    版本控制 版本控制是什么已不用在说了,就是记录我们对文件.目录或工程等的修改历史,方便查看更改历史,备份以便恢复以前的版本,多人协作... 一.原始版本控制 最原始的版本控制是纯手工的版本控制:修改文 ...

  3. 使用JSONObject.fromObject的时候出现“There is a cycle in the hierarchy”异常 的解决办法

    在使用JSONObject.fromObject的时候,出现“There is a cycle in the hierarchy”异常.   意思是出现了死循环,也就是Model之间有循环包含关系: ...

  4. JS里面Data日期格式转换

    var format = function(time, format){     var t = new Date(time);     var tf = function(i){return (i  ...

  5. video.js

    1.github地址 2.常用API: class : video-js: video-js应用视频所需的风格.js功能,比如全屏和字幕. vjs-default-skin: vjs-default- ...

  6. Android混合开发之WebViewJavascriptBridge实现JS与java安全交互

    前言: 为了加快开发效率,目前公司一些功能使用H5开发,这里难免会用到Js与Java函数互相调用的问题,这个Android是提供了原生支持的,不过存在安全隐患,今天我们来学习一种安全方式来满足Js与j ...

  7. 带你实现开发者头条APP(四)---首页优化(加入design包)

    title: 带你实现开发者头条APP(四)---首页优化(加入design包) tags: design,Toolbar,TabLayout,RecyclerView grammar_cjkRuby ...

  8. CRL快速开发框架系列教程六(分布式缓存解决方案)

    本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...

  9. 《你不知道的JavaScript》整理(四)——原型

    一.[[Prototype]] JavaScript中的对象有一个特殊的[[Prototype]]内置属性,其实就是对于其他对象的引用. var myObject = { a: 2 }; myObje ...

  10. 拼图小游戏之计算后样式与CSS动画的冲突

    先说结论: 前几天写了几个非常简单的移动端小游戏,其中一个拼图游戏让我郁闷了一段时间.因为要获取每张图片的位置,用`<style>`标签写的样式,直接获取计算后样式再用来交换位置,结果就悲 ...