该系列博客列表请访问: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】的更多相关文章

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

    摘要 GitHub 是一个开源项目的托管网站,相信很多人都听过.在上面有很多高质量的项目代码,我们也可以把自己的项目代码托管到GitHub,与朋友们共享交流.GitHub Pages 是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. 怎么查看自己电脑的IP地址

    1/2 使用Windows+R键打开“运行”窗口,然后输入CMD进入命令提示窗口 进入命令窗口之后,输入:ipconfig/all 回车即可看到整个电脑的详细的IP配置信息 1/3 使用网络状态查看I ...

  2. OpenGL超级宝典笔记——贝塞尔曲线和曲面(转)

    http://my.oschina.net/sweetdark/blog/183721 参数方程表现形式 在中学的时候,我们都学习过直线的参数方程:y = kx + b;其中k表示斜率,b表示截距(即 ...

  3. 35_张孝祥Java高新技术_为注解增加各种属性

    注解的作用之所以那么强大,就是因为它有属性 注解很像接口,属性很像方法.   什么是注解的属性 一个注解相当于一个胸牌,如果你胸前贴了胸牌,就是传智播客的学生,否则,就不是.如果还想区分出事传智播客 ...

  4. linux命令1—安装optimizer

    ZendChina官方:下面介绍一下关于在linux环境下Zend Optimizer 3.3的安装方法.本篇文章是基于RHEL5架构的linux系统. (1)ZendOptimizer 3.3.3版 ...

  5. unity StrangeIoc

    已经很久没有写博客,主要原因还是自我荒废了太久,在学习上失去了动力.最近来新的公司实习,以前都是做项目的开发,现在被调到框架组,主要从事的是框架维护还有开发.学习了许多新的知识还有优秀的框架,今天就写 ...

  6. 【Android自动化】Subprocess.check_output()简单用法

    # -*- coding:utf-8 -*- import os import sys import subprocess from uiautomator import device as d cm ...

  7. FastDFS_v5.05+nginx+cache集群安装配置手册

    转载请出自出处:http://www.cnblogs.com/hd3013779515/ 1.FastDFS简单介绍 FastDFS是由淘宝的余庆先生所开发,是一个轻量级.高性能的开源分布式文件系统, ...

  8. Kafka学习之路 (一)Kafka的简介

    一.简介 1.1 概述 Kafka是最初由Linkedin公司开发,是一个分布式.分区的.多副本的.多订阅者,基于zookeeper协调的分布式日志系统(也可以当做MQ系统),常见可以用于web/ng ...

  9. 随手练——HDU 1078 FatMouse and Cheese(记忆化搜索)

    http://acm.hdu.edu.cn/showproblem.php?pid=1078 题意: 一张n*n的格子表格,每个格子里有个数,每次能够水平或竖直走k个格子,允许上下左右走,每次走的格子 ...

  10. Failed to load or instantiate TagLibraryValidator class: org.apache.taglibs

    在部署工程时,没有加入javax.servlet-api.jar(3.0.1) 和 standard.jar(1.1.2)两个jar包导致此问题. 另外,如果原来容器中有javax.servlet-a ...