- 环境: Mac OS X Yosemite
- 版本: 10.10.5
- 前言: 综合前辈经验,历经磨砺,终于成功部署了属于自己的博客网站,将其整个思路整理出来,希望对有需要的人有所帮助。由于撰写比较仓促,描述得可能不够仔细,有问题欢迎留言交流!
1. 注册Github,创建Repository
打开网址:https://github.com, 注册属于自己的Github账号,拥有账号后再登录账号进入Repositories中创建一个以自己用户名+”.github.io”创建的repository(仓库),如我的用户名为xiaoyaoyou1212,那么创建的仓库名为xiaoyaoyou1212.github.io,这样我们就有了GitHub默认分配给每个用户的二级域名,如我的GitHub二级域名是http://xiaoyaoyou1212.github.io。
有了这个二级域名后,我们就可以利用GitHub的免费站点部署自己的个人网站,本文准备利用Hexo这个静态框架搭建自己的个人博客,如果你已拥有自己的CSDN博客,那么你可以利用GitHub的免费站点作为中转站进行跳转,具体设置如下:
1、在目录下新建文件夹,clone GitHub中的代码到本地,具体命令如下:git clone https://github.com/xiaoyaoyou1212/xiaoyaoyou1212.github.io.git
,这个执行的前提是本地已经安装好git,如果没有安装,可略过先看以下步骤,后面有详细讲解;
2、新建index.html文件,该文件内容如下(为了描述方便,跳转链接是我的CSDN博客,替换为你的CSDN博客地址就行):1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25<!DOCTYPE html>
<html>
<script>
function browserRedirect() {
var sUserAgent = navigator.userAgent.toLowerCase();
var bIsIpad = sUserAgent.match(/ipad/i) == "ipad";
var bIsIphoneOs = sUserAgent.match(/iphone os/i) == "iphone os";
var bIsMidp = sUserAgent.match(/midp/i) == "midp";
var bIsUc7 = sUserAgent.match(/rv:1.2.3.4/i) == "rv:1.2.3.4";
var bIsUc = sUserAgent.match(/ucweb/i) == "ucweb";
var bIsAndroid = sUserAgent.match(/android/i) == "android";
var bIsCE = sUserAgent.match(/windows ce/i) == "windows ce";
var bIsWM = sUserAgent.match(/windows mobile/i) == "windows mobile";
if (!(bIsIpad || bIsIphoneOs || bIsMidp || bIsUc7 || bIsUc || bIsAndroid || bIsCE || bIsWM) ){
window.location.href="http://blog.csdn.net/xiaoyaoyou1212";
} else {
window.location.href="http://m.blog.csdn.net/blog/index?username=xiaoyaoyou1212";
}
}
browserRedirect();
</script>
<body>
</body>
</html>
3、上传本地文件index.html到GitHub,按顺序执行以下命令,命令如下:1
2
3
4git pull //获取GitHub上最新代码,此处因为是第一提交,可以忽略
git add . //添加当前目录下的所有文件到git本地仓库,注意最后的“.”
git commit -m "描述" //提交本地文件到git本地仓库
git push //push本地文件到GitHub仓库
4、访问你的GitHub提供的二级域名地址,是不是已经成功跳转到你的CSDN博客地址了,就是这么简单
2. 注册域名(可选)
打开阿里云服务的万网网址:https://wanwang.aliyun.com,查询自己想注册的域名是否存在,如果该域名还未被注册,那么恭喜你,你可以用这个名字申请一个.com的顶级域名,首次注册第一年的费用是45元,是不是很便宜,哈哈,就是这么便宜,所以现在的域名满天飞咯,找到一个好记又短的域名非常难了,不过只是自己的个人网站域名长点倒也无所谓啦,像我的域名http://www.xiaoyaoyou1212.com就很长而且还有数字,是不是感觉很不规范,主要还是因为这个账号自己很多地方用到了,还是有点感情的啦!好了,说了这么多,下面正式进入利用Hexo打造专属自己的个人网站。
3. 安装brew
brew又叫Homebrew,是Mac OSX上的软件包管理工具,能在Mac中方便的安装软件或者卸载软件,只需要一个命令,非常方便,brew类似ubuntu系统下的apt-get的功能;brew的官方网站:http://brew.sh/在官方网站对brew的用法进行了详细的描述;安装方法:在Mac中打开Termal输入如下命令:ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)"
。
4. 安装Git
由于安装了brew,所以此处很简单啦,只需要执行如下命令就行:brew install git
,安装完后使用命令git --version
进行验证,如果输出了git的版本号则说明git已经安装成功,可以放心使用了!
5. 安装Node
安装node前,需要先安装npm工具,npm是一个node包管理和分发工具,已经成为了非官方的发布node模块(包)的标准,有了npm,可以很快的找到特定服务要使用的包,进行下载、安装以及管理已经安装的包。
安装npm的命令如下:brew install npm
,安装完后可以使用命令npm -v
看是否显示版本号来进行验证。
安装node的命令如下:npm install -g node
,-g表示全局安装,同样安装完后可以使用命令node -v
来进行验证。
6. 安装Hexo
输入命令npm install -g hexo
进行安装,安装完后选择一个目录新建文件夹blog,进入blog目录,执行命令hexo init
,以后blog这个目录就是整个网站的根目录,以后所有的操作都在该目录下进行。
执行命令hexo generate(或hexo g)
生成静态页面,再执行命令hexo server
进行服务启动,在浏览器中输入http://localhost:4000
就可以访问了,不过别急,这个还只是Hexo默认的风格哦,还需要进行一些个性化设置才符合自己的口味嘛!下面就详细讲解怎么通过一些配置打造个性化的网站风格。
7. 配置Hexo
网上提供了很多支持Hexo的主题,可以按照个人喜爱选择一个,我选择的是yilia,为啥选择这个,就是第一眼感觉最满意就选择了,下面我将依据yilia主题进行配置的讲解。首先进入blog目录,执行命令git clone https://github.com/litten/hexo-theme-yilia.git themes/yilia
下载该主题到本地,修改_config.yml中的theme: yilia
.以下是yilia的配置文件,由于注释符“#”在markdown中有其他用途,所以都以“//”进行替换进行展示说明,你可以按照注释修改为自己想展示的效果,如果你选择的是其他主题,那么就按照主题作者提供的配置文件进行相关修改,其实都大同小异。1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50//Header
menu:
主页: /
所有文章: /archives
随笔: /tags/随笔
相册: /picture
//SubNav
subnav:
github: "#"
weibo: "#"
rss: "#"
//zhihu: "#"
//douban: "#"
//mail: "#"
//facebook: "#"
//google: "#"
//twitter: "#"
//linkedin: "#"
rss: /atom.xml
//Content
excerpt_link: more
fancybox: true
mathjax: true
//是否开启动画效果
animate: true
//是否在新窗口打开链接
open_in_new: false
//Miscellaneous
google_analytics: ''
favicon: /favicon.png
//你的头像url
avatar:
//是否开启分享
share_jia: true
share_addthis: false
//是否开启多说评论,填写你在多说申请的项目名称 duoshuo: duoshuo-key
//若使用disqus,请在博客config文件中填写disqus_shortname,并关闭多说评论
duoshuo: true
//是否开启云标签
tagcloud: true
//是否开启友情链接
//不开启——
//friends: false
//开启——
friends: true
//是否开启“关于我”。
//不开启——
//aboutme: false
//开启——
aboutme: 个人介绍
修改完主题后,可以通过执行命令hexo g
进行部署,再通过浏览器输入http://localhost:4000,本地就可以查看该主题的效果了。更多个性化的设置可以参考这篇文章:http://ibruce.info/2013/11/22/hexo-your-blog/?utm_source=tuicool.
8. 部署及发布
前面所讲解的都是依据本地进行访问,如果需要将自己的网站部署到GitHub上,并且能通过自己申请的域名进行访问的话,那么还需要进行一些相关的配置。首先,需要修改_config.yml文件中的deploy属性1
2
3
4deploy:
type: git
repo: https://github.com/xiaoyaoyou1212/xiaoyaoyou1212.github.io.git
branch: master
再执行命令npm install hexo-deployer-git --save
;然后需要配置下SSH,步骤如下:
设置用户名及邮箱
1
2git config --global user.email "xxx.xxx@xxx.com"
git config --global user.name "xxx"生成密钥
1
ssh-keygen -t rsa -C "xxx.xxx@xxx.com"
找到用户目录下.ssh目录下生成的两个文件id_rsa和id_rsa.pub,用文本编辑器打开ssh.pub文件,拷贝其中的内容,将其添加到GitHub Add SSH Key
- 执行命令
ssh -T git@github.com
进行验证 - 执行命令
hexo g
进行部署,再执行命令hexo d
进行发布,发布成功后,在浏览器中输入你Github的二级域名,如:https://xiaoyaoyou1212.github.io就可以看到你发布的网站了,不过如果想通过你申请的一级域名来访问的话还需要在你的blog的source目录下新建CNAME文件,里面输入你的域名地址,再进行部署及发布就行。
附:
每次部署的步骤,可按以下三步来进行:1
2
3hexo clean
hexo generate
hexo deploy
常用命令:1
2
3
4
5
6
7hexo new"postName" #新建文章
hexo new page"pageName" #新建页面
hexo generate #生成静态页面至public目录
hexo server #开启预览访问端口(默认端口4000,'ctrl + c'关闭server)
hexo deploy #将.deploy目录部署到GitHub
hexo help # 查看帮助
hexo version #查看Hexo的版本
常用复合命令:1
2hexo deploy -g
hexo server -g
简写:1
2
3
4hexo n == hexo new
hexo g == hexo generate
hexo s == hexo server
hexo d == hexo deploy
9. 常见问题
- ERROR Deployer not found: git 或者 ERROR Deployer not found: github,执行命令
npm install hexo-deployer-git --save
; - ERROR Process failed: layout/.DS_Store, 那么进入主题里面layout和_partial目录下,执行删除命令
rm -rf .DS_Store
; - ERROR Plugin load failed: hexo-server,执行命令:
sudo npm install hexo-server
; - 执行命令hexo server,提示:Usage: hexo ….,执行命令:
npm install hexo -server --save
,提示:hexo-server@0.1.2 node_modules/hexo-server….,这个时候再执行:hexo server
; - 如果输入
ssh -T git@github.com
出现错误提示:Permission denied (publickey).因为新生成的key不能加入ssh就会导致连接不上github。解决办法如下:先输入ssh-agent
,再输入ssh-add ~/.ssh/id_key
,这样就可以了;如果还是不行的话,输入ssh-add ~/.ssh/id_key
命令后出现报错Could not open a connection to your authentication agent.解决方法是key用Git Gui的ssh工具生成,这样生成的时候key就直接保存在ssh中了,不需要再ssh-add命令加入了,其它的user,token等配置都用命令行来做;最好检查一下在你复制id_rsa.pub文件的内容时有没有产生多余的空格或空行,有些编辑器会帮你添加这些的。