开始

在安装hexo之前,必须确认你已经安装了Node.jsGit,并且注册了一个Github账号。

1.创建Github仓库

1) 仓库名为xxx.github.io

创建一个以"用户名.github.io"命名的仓库,如我的用户名为mroccyen,那我的仓库名为:mroccyen.github.io,仓库默认有master分支,用于托管生成的静态文件,再新建一个develop(名字自定)分支,用于托管后台文件,方便以后换电脑时后台文件不会丢失。

2) 仓库名为其他名称,如myblog

如果是以其他名字命名的,如myblog,则需要建立一个gh-pages分支用于托管生成的静态文件,必须是gh-pages分支。后台文件可以托管在master分支上,也可以放在其他的分支。

2.配置Git

设置Git的用户名和邮件地址(邮箱就是你注册Github时候的邮箱),打开Git Bash,键入:

$ git config --global user.name "username"
$ git config --global user.email "email@example.com"

3.本地Git与Github建立联系

这里介绍SSH的配置,先检查电脑是否已经有SSH

$ ls -al ~/.ssh

如果不存在就没有关系,如果存在的话,直接删除.ssh文件夹里面所有文件。

输入以下指令后,一路回车就好:

$ ssh-keygen -t rsa -C "emailt@example.com"

然后键入以下指令:

$ ssh-agent -s
$ ssh-add ~/.ssh/id_rsa

如果出现这个错误:Could not open a connection to your authentication agent,则先执行如下命令即可:

$ ssh-agent bash

再重新输入指令:

$ ssh-add ~/.ssh/id_rsa

到了这一步,就可以添加SSH key到你的Github账户了。键入以下指令,拷贝Key(先拷贝了,等一下可以直接粘贴):

$ clip < ~/.ssh/id_rsa.pub

在github上点击你的头像-->Your profile-->Edit profile-->SSH and GPG keys-->New SSH key

Title自己随便取,然后这个Key就是刚刚拷贝的,你直接粘贴就好(也可以文本打开id_rsa.pub复制其内容),最后Add SSH key。

最后还是测试一下吧,键入以下命令:

$ ssh -T git@github.com

你可能会看到有警告,没事,输入“yes”就好。

4.初始化hexo文件夹

如果建立的是xxx.github.io仓库,到GitHub的xxx.github.io仓库下,如果建立的是其他名字的仓库,则到其他名字仓库下,我这里是创建myblog,然后点击Clone or download,复制里面的HTTPS地址。

在你本地电脑的文件夹下,右键Git Bash Here: 键入git clone <刚复制的地址>。

$ git clone https://github.com/mroccyen/myblog.git
$ mkdir myblog

Hexo安装配置

1.Hexo初始化

进入myblog文件夹

$ cd myblog

接下来只需要使用 npm 即可完成 Hexo 的安装,如果在当前的文件夹下始终安装失败,到C盘里去安装,会成功。

$ npm install -g hexo-cli

安装 Hexo 完成后,请执行下列命令,Hexo 将会在指定文件夹中新建所需要的文件:

$ hexo init
$ npm install

接下来也可以本地预览博客,执行下列命令,然后到浏览器输入localhost:4000看看。

$ hexo generate
$ hexo server

输入Ctrl+C停止服务。

2.Hexo配置

用编辑器打开 myblog/ 下的配置文件_config.yml找到:

# Deployment
## Docs: https://hexo.io/docs/deployment.html
deploy:
type:
repository:

到GitHub的myblog仓库下,点击Clone or download,复制里面的HTTPS地址到repository:,添加branch: gh-pages

# Deployment
## Docs: https://hexo.io/docs/deployment.html
deploy:
type: git
repository: https://github.com/mroccyen/myblog.git
branch: gh-pages

3.完成部署

最后一步,快要成功了,键入指令:

$ npm install hexo-deployer-git --save
$ hexo generate
$ hexo deploy

输入弹出框的用户名与密码(首次使用git会弹出)。

OK,我们的博客就已经完全搭建起来了,在浏览器输入(当然,是你的Repository名),例如我的:myblog

每次修改本地文件后,需要键入hexo generate才能保存,再键入hexo deploy上传文件。成功之后命令行最后两句大概是这样:

    To https://github.com/mroccyen/myblog.git
7f3b50a..128a10d HEAD -> gh-pages
INFO Deploy done: git

这样生成的静态文件就上传到github的myblog仓库中的gh-pages分支中了。最后再把myblog文件夹中的所有文件上传到github中的myblog仓库中的master分之中。

日常操作

1.写文章

执行new命令,生成指定名称的文章至 myblog\source_posts\文章标题.md 。

$ hexo new [layout] "文章标题" #新建文章

然后用编辑器打开“文章标题.md”按照Markdown语法书写文章。

其中layout是可选参数,默认值为post。到 scaffolds 目录下查看现有的layout。当然你可以添加自己的layout,

同时你也可以编辑现有的layout,比如post的layout默认是 myblog\scaffolds\post.md

title: { { title } }
date: { { date } }
tags:
- tag1
- tag2
---

我想添加categories,以免每次手工输入,只需要修改这个文件添加如下行:

title: { { title } }
date: { { date } }
categories:
- categories1
- categories2
tags:
---

文件标题也是md文件的名字,同时也出现在你文章的URL中,postName如果包含空格,必须用"将其包围。

请注意,大括号与大括号之间我多加了个空格,否则会被转义,不能正常显示;所有文件":"后面都必须有个空格,不然会报错。

2.提交

每次在本地对博客进行修改后,先执行下列命令提交网站相关的文件。

$ git add .
$ git commit -m "你的描述"
$ git push origin master

然后才执行hexo generate发布网站到gh-pages分支上。

$ hexo generate

3.本地仓库丢失

当你想在其他电脑工作,或电脑重装系统后,安装Git与Node.js后,可以使用下列步骤:

1)拷贝仓库
$ git clone https://github.com/mroccyen/myblog.git
2)配置Hexo

在本地新拷贝的myblog文件夹下通过Git bash依次执行下列指令:

$ npm install -g hexo-cli
$ npm install hexo
$ npm install
$ npm install hexo-deployer-git --save
3)小Tips:hexo 命令
hexo new "postName" #新建文章
hexo new page "pageName" #新建页面
hexo generate #生成静态页面至public目录
hexo server #开启预览访问端口(默认端口4000,'ctrl + c'关闭server)
hexo deploy #将.deploy目录部署到GitHub
hexo help # 查看帮助
hexo version #查看Hexo的版本
hexo deploy -g #生成加部署
hexo server -g #生成加预览
#命令的简写
hexo n == hexo new
hexo g == hexo generate
hexo s == hexo server
hexo d == hexo deploy

Github+Hexo搭建静态博客的更多相关文章

  1. 使用github和hexo搭建静态博客

    获得更多资料欢迎进入我的网站或者 csdn或者博客园 终于写这篇文章了,这是我使用github和hexo搭建博客的一些心得,希望能给大家一点帮助.少走点弯路.刚接触github,只是用来存项目的版本, ...

  2. 【一】Ubuntu14.04+Jekyll+Github Pages搭建静态博客

    本系列有五篇:分别是 [一]Ubuntu14.04+Jekyll+Github Pages搭建静态博客:主要是安装方面 [二]jekyll 的使用 :主要是jekyll的配置 [三]Markdown+ ...

  3. Linux下使用 github+hexo 搭建个人博客07-next主题接入搜索和站点管理

    这是搭建个人博客系统系列文章的最后一篇,如果你是从第一篇一路跟下来的,那么恭喜你,即将完成整个博客网站的搭建.OK,话不多说,开始我们的收官之战. 不知你想过没有,如果我们的文章少,一眼看完整个目录, ...

  4. Linux下使用 github+hexo 搭建个人博客05-next主题接入评论系统

    静态站点拥有一定的局限性,因此我们需要借助于第三方服务来扩展我们站点的功能. 而评论系统是最常用于和网站用户交流的,因此本章讲解在 next 主题,如何接入评论系统. 参考网站:Next 使用文档,第 ...

  5. Linux下使用 github+hexo 搭建个人博客04-next主题优化

    上篇我们说了 hexo 的优化,针对的站点的优化. 本篇讲解 next 主题的优化,包括:使用语言.前端页面显示宽度.菜单.侧栏.头像.添加或取消动画效果.打赏功能等等. 让页面排版更符合我们所要的功 ...

  6. Linux下使用 github+hexo 搭建个人博客03-hexo配置优化

    上两张文章,我们说了 hexo 部署.主题的切换.博文的创建.MarkDown 简单使用和 hexo 部署到 GitHub Pages. 也说了我们会使用 next 主题做为我们后期博客的使用和维护. ...

  7. Linux下使用 github+hexo 搭建个人博客02-hexo部署到Github Pages

    之前的这篇文章<Linux下使用 github+hexo 搭建个人博客01-hexo搭建>,相信大家都知道怎么搭建 hexo ,怎么切换主题,并且完成了一篇博文的创建,以及 MarkDow ...

  8. Linux下使用 github+hexo 搭建个人博客01-hexo搭建

    为什么要搭建自己的博客系统? 原因有好几个吧,归类如下:1.自己搭建博客系统很有成就感,可以自己选定页面风格和页面排版: 2.自己搭建博客系统可以根据自己的需要添加各种插件功能,因此整体上比网上的第三 ...

  9. Hexo搭建静态博客踩坑日记(二)

    前言 Hexo搭建静态博客踩坑日记(一), 我们说到利用Hexo快速搭建静态博客. 这节我们就来说一下主题的问题与主题的基本修改操作. 起步 chrome github hexo git node.j ...

随机推荐

  1. DNS架设准备+申请领域查询授权

    1. 架设DNS服务器首先我们得安装一下的软件[root@bogon ~]# rpm -qa | grep ^bindbind-libs-9.8.2-0.37.rc1.el6.i686 <==给 ...

  2. Laravel Eloquent get获取空的数据问题

    在用laravel框架来获取数据,若数据不存在时,以为会返回空,其实不是的,其实是一个 collection 值,会返回如下: object(Illuminate\Database\Eloquent\ ...

  3. AWK第一篇------全面介绍

    AWK-文本流编辑器 目录 [隐藏] 1 命令行语法 2 用shell实现调用awk 3 awk语言概要 3.1 记录和字段 3.2 脚本的格式 3.3 行为终止 3.4 注释 3.5 模式 3.6  ...

  4. JS表单原生验证器

    一.前言 最近在开发一个新项目,需要做登陆等一系列的表单提交页面.在经过“缜密”的讨论后,我们决定 不用外部流行的框架,如bootstrap,由于我负责的模块 仅仅是其中的一部分,因此少数服从多数,无 ...

  5. 信息指纹(Fingerprint)及其应用

    1.应用:      i.网页地址去重           网页地址有100个字符,存储5000亿个网址本身需要50T的容量,而Hash表的存储效率只有50%,所有存储爬虫已经爬过的网址需要100T的 ...

  6. php连接mysql数据库(新浪云SAE)

    新浪云提供了免费的创建服务器端应用的服务.网址为:https://www.sinacloud.com/ 在上面创建好应用,然后在本地使用记事本编写应用的代码如下: <?php echo &quo ...

  7. c#和java中的方法覆盖——virtual、override、new

    多态和覆盖 多态是面向对象编程中最为重要的概念之一,而覆盖又是体现多态最重要的方面.对于像c#和java这样的面向对象编程的语言来说,实现了在编译时只检查接口是否具备,而不需关心最终的实现,即最终的实 ...

  8. 在ubtuntu中使用包管理器 linux-brew

    用惯了mac的程序员回到linux开发平台总觉得有点不适应,这是因为linux的界面没有mac那么精美,而且linux的包管理器没有mac上面的homebrew那么强大.mac程序员遇到库的依赖问题时 ...

  9. JavaScript 扯几句单线程相关

    JavaScript 扯几句单线程相关 众所周知,Javascript是单线程执行的,这也就是说:JavaScript在同一个时间上只能处理一件事.他不像C,Java等这些多 线程的,可以开不同的线程 ...

  10. Mac 安装Rudy环境 pod安装前的准备工作

    之前已经说过怎么使用pod 今天说一下安装pod之前的准备工作 首先呢就是Rudy 环境(前提是你已经安装了Xcode) 在终端输入一下命令 期间可能也许会要你输入密码 curl -L https:/ ...