使用Github空间搭建Hexo博客框架
初始部署
首先,第一步自然是要先安装相关的软件啦!
- Git:https://git-scm.com/
- node.js:http://nodejs.cn/
PS:请务必记得你的下载地址!!!请务必记得你的下载地址!!!请务必记得你的下载地址!!!
Git安装
-
找到你下载的git的".exe"文件,然后进行安装(直接一路next就可以哇),不推荐安装到C盘,可以自行选择安装位置,但是还是要记住你的安装路径!!!
-
安装完成之后,在你的git安装的根目录下找到Git Bash并打开,输入
git --version
-
如果安装成功那么就会出现下图结果:
Node.js安装
-
同样的,找到你下载的文件进行下载,一律下一步就好
-
安装完成之后还是打开你的Git Bash,输入
npm -v
-
如果出现下图结果那么你的安装就成功了
Node.js源的设置
-
首先说一下node.js的源,官方默认的源在国外,所以你懂的,速度也会很慢,而且有可能一抽风你就没法继续下载了,所以提供一种方法,我们可以使用国内淘宝的源
-
在Git Bash中我们执行下面的一句代码(这是一整句,不要分开,直接复制粘贴就好)
alias cnpm="npm --registry=https://registry.npm.taobao.org \ --cache=$HOME/.npm/.cache/cnpm \ --disturl=https://npm.taobao.org/dist \ --userconfig=$HOME/.cnpmrc"
-
现在验证下是否可以使用淘宝的 cnpm 命令:
cnpm info express
- 如果能输出一大堆介绍,则说明成功了,以后每次要使用淘宝的源都需要这样来。现在除了默认的 npm,还多了一个 cnpm 可以使用,我们下面有关安装的讲解内容也都是基于此临时命令。
- 如果输出:bash: cnpm: command not found,则表示没成功,需要你在排查下。
安装Hexo博客框架
-
安装Hexo框架,使用如下代码:
cnpm install -g hexo-cli
- 安装时间不一定
- 安装过程中或者安装完成之后又waining都无所谓,不需要去管它
创建本地的Hexo项目
本地项目的初始化
基础部分都安装完了,现在就需要在本地进行Hexo项目的创建以及初始化调整
- 之前,安装完成git之后,需要你在你的磁盘的某个位置创建一个工作区(即workspace),名为“git_work_space”,然后在工作区中创建“hexo”文件夹
- 打开Git Bash
- 首先进入该目录,使用cd命令切换到你的hexo文件夹所在的目录,这个都会吧2333
- 执行“hexo init”代码,这个时间可能会比较长,同样的是如果出现warning一样不用管他
- 最后执行“cnpm install”,一样不要管warning(如果你在配置过程中关闭过GitBash,那么你想要继续使用cnpm命令的话,需要重新进行之前添加淘宝源的代码)
- 安装完成之后,你可以使用如下代码进行简单的预览“hexo server”(启动hexo本地服务,以后可以通过这个在上传之前进行预览,以防出现什么错误,可以在上传之前加以改正)
- 现在用浏览器访问http://localhost:4000/,这样就能看见你的博客的初始效果了
- 要停止hexo server服务的话,按下ctrl + c就可以了
选用其他的主题
客观的来说,这个默认是主题是真tm的丑,所以就需要大家自己去找一下自己喜欢的主题,下面会对切换主题进行简单的教学
-
首先,提供几个地方供你去选择自己喜欢的主题
- hexo-theme:https://hexo.io/themes/
- hexo-github-theme-list:https://github.com/hexojs/hexo/wiki/Themes
- 有那些好看的hexo主题?:http://www.zhihu.com/question/24422335
-
我这里选择的 yeleehttps://github.com/MOxFIVE/hexo-theme-yelee
- 原因是能最大化衬托出:目录、文章内容、代码块。因为我对这个博客的定位就是用来放技术类内容,所以不会让它太杂或是太花。只是目前这个颜色偏浅,后续还需要调整。
现在假设你跟我要用的模板是一样:
-
还是让 Git Bash 保持在 E:\git_work_space\hexo 目录下,然后输入命令:
git clone https://github.com/MOxFIVE/hexo-theme-yelee.git themes/yelee
-
这样就在 E:\git_work_space\hexo\themes 目录下生成了一个 yelle 文件夹,里面有我们刚刚 clone 下来的主题内容。
-
如果以后你不自己修改这个主题的话,可以考虑经常更新下作者的更新内容:
-
`cd e:/git_work_space/hexo/themes/yelee``
-
``git pull origin master`
-
下载好你所需要的主题之后,需要在hexo根目录下的项目配置文件:_config.yml进行修改,修改内容如下:
-
更改主题之后,需要在GitBash中虚入如下命令;
hexo generate//重新生成静态博客所有内容 hexo server//重启hexo本地服务
-
重新访问http://localhost:4000/,观察效果
创建GithubPages并进行SSH授权
创建Github仓库
-
需要你拥有一个github账户,如果没有那么就先自行去申请一个,然后创建一个特别的仓库、
-
如图:(注意,仓库名必须为“你的用户名.github.io”)
本地生成SSH密钥
-
创建好仓库之后,要本地生成 SSH 秘钥,方便电脑上的 git 软件好提交内容到 Github 上
- 在 Git Bash 中,输入:
ssh-keygen -t rsa -C "你的邮箱地址"
,然后回车,回车,再回车,一共 3 次回车,具体含义自己 Google。
- 在 Git Bash 中,输入:
-
生成密钥之后,在你的C盘的User目录中,你的计算机用户名下的文件夹之中应该会有如下两个文件
- 私钥:id_rsa
- 公钥:id_rsa.pub
- 注:如果生成的不是这两个文件,那么请删掉这两个文件,并重新生成
本地密钥上传至Github
-
用记事本打开你的公钥文件id_rsa.pub,复制文件中的所有内容。
-
访问:https://github.com/settings/ssh,添加新秘钥,如下图
-
Title:自己随便取
-
Key:把刚刚复制的都粘贴进来
-
将本地博客中的内容同步至Github上
本地配置和部署
-
首先要先安装两个跟部署有关的插件
- 在GitBash中输入
cnpm install hexo -server --save
cnpm install hexo-deployer-git --save
-
编辑hexo根目录下的项目配置文件:_config.yml进行修改
-
以下是我自己的配置,仅供参考,请注意中文注释!!!
-
# Hexo Configuration ## Docs: https://hexo.io/docs/configuration.html ## Source: https://github.com/hexojs/hexo/ # Site title: WowGz//网页的标题 subtitle://你的子标题 description: Less interests, more interest!//你的简介 keywords: author: Guo Zhen//作者名 language: zh-Hans//使用的语言,应为“zh-CN”,我这里的设置是对应我自己的主题 email: WowGz7013@gmail.com//你的邮箱 timezone: # URL ## If your site is put in a subdirectory, set url as 'http://yoursite.com/child' and root as '/child/' url: http://wowgz.com.cn //这里设置的是的域名,如果你没有自己申请的域名,请使用你创建的仓库的名称 root: / permalink: :year/:month/:day/:title/ permalink_defaults: # Directory source_dir: source public_dir: public tag_dir: tags archive_dir: archives category_dir: categories code_dir: downloads/code i18n_dir: :lang skip_render: # Writing new_post_name: :title.md # File name of new posts default_layout: post titlecase: false # Transform title into titlecase external_link: true # Open external links in new tab filename_case: 0 render_drafts: false post_asset_folder: false relative_link: false future: true highlight: enable: true line_number: true auto_detect: false tab_replace: # Home page setting # path: Root path for your blogs index page. (default = '') # per_page: Posts displayed per page. (0 = disable pagination) # order_by: Posts order. (Order by date descending by default) index_generator: path: '' per_page: 10 order_by: -date # Category & Tag default_category: uncategorized category_map: tag_map: # Date / Time format ## Hexo uses Moment.js to parse and display date ## You can customize the date format as defined in ## http://momentjs.com/docs/#/displaying/format/ date_format: YYYY-MM-DD time_format: HH:mm:ss # Pagination ## Set per_page to 0 to disable pagination per_page: 10 pagination_dir: page # Extensions ## Plugins: https://hexo.io/plugins/ ## Themes: https://hexo.io/themes/ theme: next # Deployment ##这里是重点,这里是修改发布地址,因为我们前面已经加了 SSH 密钥信息在 Github 设置里面了,所以只要我们电脑里面持有那两个密钥文件就可以无需密码地跟 Github 做同步。 ## 需要注意的是这里的 repo 采用的是 ssh 的地址,而不是 https 的。分支我们默认采用 master 分支,以后你翅膀硬了要换其他也无所谓。 ## Docs: https://hexo.io/docs/deployment.html deploy: type: git repo: git@github.com:wowGZ/wowGZ.github.io.git//仓库的git地址,可以在你的仓库中找到,仔细找一下哇 branch: master
博客同步至Github
-
继续在GitBash中输入
-
hexo clean:清除生成的旧文件
-
hexo generate(hexo g):再一次生成网站的静态文件
-
hexo server(hexo s):启动hexo本地服务,操作同之前讲过的一样
-
hexo deploy(hexo d):提交文件至你在github上创建的仓库之中
-
然后你就可以登录你的博客网站(就是你仓库的名字)进行测试,是否部署成功啦
结束
- 请注意hexo的新的文章的开头需要进行如下定义:
- category表示文章所述分类
- tags表示文章的标签
---
title: 这是文章标题
date: 2016-02-28 17:58:27//可以不写
categories: [Hexo,IntelliJ IDEA]//可以不写
tags: [Hexo,IntelliJ IDEA,Git,Github,Node.js]//可以不写
--
github上创建的仓库之中
6. 然后你就可以登录你的博客网站(就是你仓库的名字)进行测试,是否部署成功啦
## 结束
- 请注意hexo的新的文章的开头需要进行如下定义:
- category表示文章所述分类
- tags表示文章的标签
title: 这是文章标题
date: 2016-02-28 17:58:27//可以不写
categories: [Hexo,IntelliJ IDEA]//可以不写
tags: [Hexo,IntelliJ IDEA,Git,Github,Node.js]//可以不写