该系列博客列表请访问: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. Azure Service Fabric 开发环境搭建

    微服务体系结构是一种将服务器应用程序构建为一组小型服务的方法,每个服务都按自己的进程运行,并通过 HTTP 和 WebSocket 等协议相互通信.每个微服务都在特定的界定上下文(每服务)中实现特定的 ...

  2. 学习ASP.NET Core, 怎能不了解请求处理管道[6]: 管道是如何随着WebHost的开启被构建出来的?

    注册的服务器和中间件共同构成了ASP.NET Core用于处理请求的管道, 这样一个管道是在我们启动作为应用宿主的WebHost时构建出来的.要深刻了解这个管道是如何被构建出来的,我们就必须对WebH ...

  3. Solr高级查询Facet

    一.什么是facet solr种以导航为目的的查询结果成为facet,在用户查询的结果上根据分类增加了count信息,然后用户根据count信息做进一步搜索. facet主要用于导航实现渐进式精确搜索 ...

  4. 浅谈JSP中include指令与include动作标识的区别

    JSP中主要包含三大指令,分别是page,include,taglib.本篇主要提及include指令. include指令使用格式:<%@ include file="文件的绝对路径 ...

  5. 安卓GreenDao框架一些进阶用法整理

    大致分为以下几个方面: 一些查询指令整理 使用SQL语句进行特殊查询 检测表字段是否存在 数据库升级 数据库表字段赋初始值 一.查询指令整理 1.链式执行的指令 return mDaoSession. ...

  6. Disque:Redis之父新开源的分布式内存作业队列

    Disque是Redis之父Salvatore Sanfilippo新开源的一个分布式内存消息代理.它适应于"Redis作为作业队列"的场景,但采用了一种专用.独立.可扩展且具有容 ...

  7. Lesson 15 Good news

    Text The secretary told me that Mr. Harmsworth would see me. I felt very nervous when I went into hi ...

  8. 纯JS打造比QQ空间更强大的图片浏览器-支持拖拽、缩放、过滤、缩略图等

    在线演示地址(打开网页后,点击商家图册): http://www.sport7.cn/cc/jiangnan/football5.html 先看一看效果图: 该图片浏览器实现的功能如下: 1. 鼠标滚 ...

  9. 正确地编写Objective-C中的便捷方法

    在Objective-C中,如果某个类方法的返回类型就是这个类的实例(例如NSString类中的stringWithFormat:),就可以将这种类方法称为便捷方法(Convenience Metho ...

  10. ABP源码分析三十四:ABP.Web.Mvc

    ABP.Web.Mvc模块主要完成两个任务: 第一,通过自定义的AbpController抽象基类封装ABP核心模块中的功能,以便利的方式提供给我们创建controller使用. 第二,一些常见的基础 ...