前言
使用github pages服务搭建博客的好处有许多:
- 全是静态文件,访问速度快;
- 免费方便,不需要服务器不需要后台;
- 可以随意绑定自己的域名,不仔细看的话根本看不出来你的网站是基于github的;
- 博客内容可以轻松打包、转移、发布到其它平台;
- 等等;
本文是用windows系统
正文
准备工作
- Node.js: 用来创建hexo博客框架的,我的版本为:node-v6.10.2-x64
- Git客户端: 用来提交代码,至于它的命令大家应该都会一点,如果即使不懂Git的命令,跟着本博文走,也完全没问题,我安装的版本是Git-2.12.2-64-bit
安装完后可以打开cmd控制台,输入命令查看版本,这里给出我的例子:
如果显示版本就说明安装成功了。
安装hexo
首先介绍一下hexo的常见命令:
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 #生成并上传利用 npm 命令即可安装。在任意位置点击鼠标右键,选择Git Base 输入安装hexo命令:
npm install -g hexo安装完成后,在你想要把hexo部署到文件夹下(如我的是F:\develop\hexo,这个文件夹自己创,点击鼠标右键,选择Git Bash),执行
hexo init
这个指令Hexo 即会自动在目标文件夹建立网站所需要的所有文件。
安装依赖包:
npm install
让我们看看刚刚下载的hexo文件带来了什么,在F:\develop\hexo内执行以下命令:
hexo g hexo s
然后打开浏览器访问http://localhost:4000
, 此时,你应该看到了一个漂亮的博客了,当然这个博客只是在本地的,别人是看不到的。但是这也足够让我们激动了是不是,接下来就是如何把它部署到github上了。
创建repository
如何你还没有github帐号,那么就先去创建并熟悉一下,这里就不再多说了。
repository相当于一个仓库,用来放置你的代码文件。首先,进入创建的页面,按下图输入:
比如我创建的就是sjw9507.github.io
,这也是我之后能够访问到自己博客的域名。
部署本地文件到github
首先你需要到你安装hexo的文件夹下(比如我安装在F:\develop\hexo)找到_config.yml
这个文件,如果我没记错的话在最下面,修改成如下格式
deploy: type: git #sjw9507改为你的github用户名 repo: git@github.com:sjw9507/sjw9507.github.io.git branch: master
完整文件如下,可以根据自己的喜好修改其他参数
#博客名称 title: 我的博客 #副标题 subtitle: #简介 description: #博客作者 author: #博客语言 language: zh-CN #时区 timezone: #博客地址,与申请的GitHub一致 url: http://elfwalk.github.io root: / #博客链接格式 permalink: :year/:month/:day/:title/ permalink_defaults: source_dir: source public_dir: public tag_dir: tags archive_dir: archives category_dir: categories code_dir: downloads/code i18n_dir: :lang skip_render: 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: true tab_replace: default_category: uncategorized category_map: tag_map: #日期格式 date_format: YYYY-MM-DD time_format: HH:mm:ss #分页,每页文章数量 per_page: 10 pagination_dir: page #博客主题 theme: landscape #发布设置 deploy: type: git #sjw9507改为你的github用户名 repo: git@github.com:sjw9507/sjw9507.github.io.git branch: master
配置好_config.yml并保存后。如果你是第一次使用Github或者是已经使用过,但没有配置过SSH,则可能需要配置一下。
可以输入这个命令查看下有没有配置成功过。
ssh -T git@github.com # 注意邮箱地址不用改
如果没配置过,按照以下步骤:
cd ~/. ssh #检查本机已存在的ssh密钥如果提示:No such file or directory 说明你是第一次使用git。 如果出现bash: cd: too many arguments 说明可能你生产过ssh key,你可以到.ssh文件把他们删除再生成一遍即可。 输入以下指令(邮箱就是你注册Github时候的邮箱)后,回车,出现提示让你输入的时候直接先回车,好像需要3次,如下图所示:
ssh-keygen -t rsa -C "你的邮箱地址"这之后就会生成一些文件,打开用户目录,找到.ssh\id_rsa.pub文件,记事本打开并复制里面的内容,打开你的github主页,进入个人设置 -> SSH and GPG keys -> New SSH key:  将刚复制的内容粘贴到key那里,title随便填,保存。 然后添加密钥到ssh-agent
eval `ssh-agent -s`然后
ssh-add
会出现一个identity added的消息
接着测试是否成功
ssh -T git@github.com # 注意邮箱地址不用改
如果提示Are you sure you want to continue connecting (yes/no)?,输入yes,然后会看到:
Hi xxx! You've successfully authenticated, but GitHub does not provide shell access.
看到这个信息说明SSH已配置成功!
执行以下命令部署到Github上
hexo g hexo d
这里有个地方会出错,如果执行hexo d命令报ERROR Deployer not found:git
就先安装一下hexo-deployer-git这个模块:
npm install hexo-deployer-git --save
安装好了继续执行hexo d
部署命令,输入gitHub的账号密码,就可以打开浏览器访问了。
我的是:sjw9507.github.io
发布一篇文章
在Git Bash执行命令:
hexo new "my new post"在hexo\source_post 会生成一个my-new-post.md的文件,当然你也可以自己手动创建。不过自动生成的比较方便,会帮你生成好以下内容:
title: my new post #可以改成中文的,如“新文章” date: 2016-02-21 16:04:09 #发表日期,一般不改动 categories: blog #文章文类 tags: [文章] #文章标签,多于一项时用这种格式,只有一项时使用tags: blog
使用记事本或者其他文本工具打开文件编辑,它是markdown语法的,所以我建议大家使用专用的编辑器,网上找找有许多推荐好用的,我使用的是markdownpad。至于markdown的语法,网上简单学学也不难。
写完文章后,你可以hexo g
生成静态文件,然后hexo s
在本地预览效果。或者直接hexo d
同步到github。
总结
到这里,就算初步搭好了一个属于自己的独立博客,后续就是本地写文章然后部署最后发布就行。当然这只是最基础的。hexo还有许多好看的主题,我会在下一篇文章中写到。本文算是详细的介绍了搭建过程,按照我这个整理的教程搭建,理论上都能搭建成功。遇到问题大家多多讨论。