更换SSL证书

前期准备

以前使用的是Cloudflare SSL证书,但是这货有个毛病,中国国内无CDN,所有IP都会解析到CF公司的CDN节点,导致访问速度非常慢,XX之后,速度蛮快的。
但是我的博客就是写给中文用户看的,所以找了一下免费的SSL证书,更换为Let’s Encrypt SSL证书了。

  • Let’s Encrypt SSL证书
  • Coding Pages服务(免费哦)

更换原因

  • Coding国内访问速度快
  • 小绿锁hin好看
  • CF的SSL证书生效速度慢
  • 装逼

感想

其实当初想加https的时候,就是为了小绿锁,很好看,而且有逼格,按照网上搜索的guide一步一步来做的,花了很多时间,但是真的感觉很好看啊。。。。
哇咔咔。

没事了就看看《蜗居》

每当我不开心或者不高兴或者颓废的时候,我就会去看看《蜗居》。
一部都快过了7年的电视剧了,现在还是很喜欢,同时代的还有《亮剑》《暗算》《武林外传》等等…..
书读百遍其义自见,我觉得不仅仅是书,Everything is the same。

之前看的时候应该是在大学时代,尚未进入社会,只是凭借着自己的道德标准来判断是非。这次看后,
感觉这部剧非常现实的将人性的弱点毫不掩饰的暴露在阳光下。

早年我和我爸妈说道,以后我靠自己买房子,不靠你们,到真正去买房子的时候,发现自己收入根本赶不上房价上涨的速度,
这和郭海萍,苏淳到处买房子一样,不过现在来看,那时候上海的房价可真是便宜。

其实这就是现实。现实到郭海萍为了买房子可以逼着公公婆婆去拿钱,苏淳借了高利贷,郭海藻为了帮助姐姐去找宋思明。
我觉得苏淳有一句话说的挺现实:

四万是你妈,六万是咱妈,要是没钱,那就是他妈的。

海萍为了家有错误吗,如果真的势力,为钱,不可能嫁给苏淳这样一个人,但是你也可以看到,一个城市是看人的。

这个城市能容忍你享受了这个城市的资源,必定要向你获取一些你没有的属性。

这些属性包括,自然属性和社会属性。

自然属性:长相,身高,身体情况,性能力等等

社会属性:钱,地位,权力等等

自然属性早期就可以看出来(除了胖子),颜值高、身材好的大学生毕业去公司上班了绝大多数还是颜值高、身材好。
相对于自然属性来说,社会属性的人早期较难看出来。学生时代的骄子毕业后也许混得差,学生时代不起眼的人毕业后也许一跃成为全班首富。

如果一个人一辈子都特别看重自然属性而不是社会属性,那么他上中学时就可以找到他要的那一类异性。譬如说中学爱美女、大学爱美女、上班后还是爱美女。

如果一个人看重社会属性,那就麻烦一点,如果不考虑富二代官二代的话,请问你能看出谁在未来能够飞黄腾达?你是看不出来的。

就像相亲的时候说:没感觉就是丑,不合适就是穷一样

人类都有一个特点——在生命很早期被父母保护的时候比较忽视权、钱的重要性,在轮到自己独立的时候才开始体会到权、钱的重点性。

很麻烦的是,人类几千年以来,当女性体会到钱、权重要性的时候,她往往希望她的男友乃至丈夫在这方面不要太差。

对于看这部电视的未婚(甚至未恋)女观众乃至有未成年女儿的男观众而言,这部电视给人的启示是————就是女人要尽早建立牢固的金钱观。爱钱不可耻,爱男人的钱也不可耻,最恐怖的事情就是人生早期很重自然属性但是后来很重视社会属性而且因为这个转变见异思迁(抛弃穷帅哥而另找更有钱的),这样的女人最容易被男人挞伐,前任穷男友可能指责其拜金,后任富男友若知道真相也会很不愉快的。

不靠男人最好。如果要靠,早点想清楚这一点,越早越好。

但是,如果一个特别年轻的女生想清楚了这个道理,除了富二代官二代之外,她根本搞不清楚自己班上哪个男同学未来能发家致富。所以,女生可以适当晚一点谈恋爱。恋爱太早,很容易陷入我说的人生早期很看重男人自然属性,后来很看重男人社会属性的那一套。

还有人说女孩要富养,其实所谓女孩富养的观点太肤浅了。“女孩要富养”的精神内核是要让小孩子(尤其是女生)正确认识“钱”这个玩意的意义,以及如何获取钱(靠自己还是靠男人还是两者皆靠)。如果很爱钱,获得钱的过程中能不能稍微理智、体面一点,把对自己与他人的伤害降到最低。

如果是女生,在她中学阶段,就可以跟她探讨男朋友乃至老公赚钱能力不行怎么办。怎么体面的规避这个问题带给自己或他人的伤害。

人都需要金钱观的教育,小女生尤其需要。

作为男的,我觉得这幅图大赞。

d7c69145e89ec45ded637e9d44ffc3de_b.jpg

Hexo安装RSS订阅功能

一、安装RSS插件

执行以下命令安装 RSS 插件
npm install hexo-generator-feed --save

二、开启网站 RSS 支持

编辑网站根目录下的 _config.yml,添加以下代码开启

1
2
3
4
5
6
7
plugin:
- hexo-generator-feed
# Feed Atom
feed:
type: atom
path: atom.xml
limit: 20

三、主题开启 RSS 支持

主题不同开启方法不同,我的是 NexT 主题,默认就可以;其他主题请参考主题说明。

四、生成 RSS

执行 hexo clean && hexo g重新生成博客文件完成部署即可。

Markdown里表格用法

因为Hexo对于markdown的兼容性不是特别好,有时候你按照markdown语法写完之后,发现居然不好使。。。。
关于表格,找了好多方法,不好使,今天才知道,必须要有空格才可以开始写表格的!!!

Tips:注意下面代码中第二行的冒号的位置

1
2
3
4
5
| 显示1 | 显示2 | 显示3 |
|:-----|:---:|----------:|
|左对齐| **居中** |右对齐|
|左对齐| **居中** |右对齐|
|左对齐| **居中** |右对齐|
显示1 显示2 显示3
左对齐 居中 右对齐
左对齐 居中 右对齐
左对齐 居中 右对齐
显示1 显示2 显示3
左对齐 居中 右对齐
左对齐 居中 右对齐
左对齐 居中 右对齐

多说评论实现和UA样式分享

更新:多说已挂,没有用了。

倒腾了一晚上,各种更改,基本上也是OK了!

JS代码
先本地化embed.js,这个我就不赘述了,然后在embed的头部贴入以下代码
注意以下的

e.user_id == ‘123456’

//*123456改为自己的多说ID

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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
function sskadmin(e) {
var ssk = '';
if(e.user_id == '123456' ){
ssk = ' sskadmin '
}
return ssk;
}

//UA detect start
function ua(e) {
var r = new Array;
var outputer = '';
if (r = e.match(/MSIE\s([^\s|;]+)/gi)) {
outputer = '<span class="ua_ie">Internet Explorer ' + r[0].replace('MSIE', '')
} else if (r = e.match(/Edge\/([^\s]+)/ig)) {
var r1 = r[0].split("/");
outputer = '<span class="ua_ie">Mcirosoft Edge ' + r1[1]
} else if (r = e.match(/FireFox\/([^\s]+)/ig)) {
var r1 = r[0].split("/");
outputer = '<span class="ua_firefox">Mozilla Firefox ' + r1[1]
} else if (r = e.match(/Maxthon([\d]*)\/([^\s]+)/ig)) {
var r1 = r[0].split("/");
outputer = '<span class="ua_maxthon">傲游浏览器 ' + r1[1]
} else if (r = e.match(/UBrowser([\d]*)\/([^\s]+)/ig)) {
var r1 = r[0].split("/");
outputer = '<span class="ua_ucweb">UC浏览器 ' + r1[1]
} else if (r = e.match(/MetaSr/ig)) {
outputer = '<span class="ua_sogou">搜狗高速浏览器'
} else if (r = e.match(/MicroMessenger\/([^\s]+)/ig)) {
var r1 = r[0].split("/");
outputer = '<span class="ua_qq">WeChat ' + r1[1]
} else if (r = e.match(/QQBrowser\/([^\s]+)/ig)) {
var r1 = r[0].split("/");
outputer = '<span class="ua_qq">QQ浏览器 ' + r1[1]
} else if (r = e.match(/QQ\/([^\s]+)/ig)) {
var r1 = r[0].split("/");
outputer = '<span class="ua_qq">手机QQ ' + r1[1]
} else if (r = e.match(/MiuiBrowser\/([^\s]+)/ig)) {
var r1 = r[0].split("/");
outputer = '<span class="ua_mi">MIUI浏览器 ' + r1[1]
} else if (r = e.match(/Chrome([\d]*)\/([^\s]+)/ig)) {
var r1 = r[0].split("/");
outputer = '<span class="ua_chrome">Google Chrome ' + r1[1]
} else if (r = e.match(/safari\/([^\s]+)/ig)) {
var r1 = r[0].split("/");
outputer = '<span class="ua_apple">Apple Safari ' + r1[1]
} else if (r = e.match(/Opera[\s|\/]([^\s]+)/ig)) {
var r1 = r[0].split("/");
outputer = '<span class="ua_opera">Opera Browser ' + r1[1]
} else if (r = e.match(/Trident\/7.0/gi)) {
outputer = '<span class="ua_ie">Internet Explorer 11 '
} else if (r = e.match(/weibo__([^\s]+)/ig)) {
var r1 = r[0].split("__");
outputer = '<span class="ua_qq">新浪微博 ' + r1[1]
} else if (r = e.match(/LBBROWSER/ig)) {
outputer = '<span class="ua_lbbrowser">猎豹安全浏览器'
}else {
outputer = '<span class="ua_other">Unknown Browser'
}
return outputer+"</span> ";
}
function os(e) {
var r = new Array;
var os = '';
if (e.match(/Windows/ig)) {
if (e.match(/NT 5.1/ig)) {
os = '<span class="os_xp">Windows XP'
} else if (e.match(/NT 6.1/ig)) {
os = '<span class="os_7">Windows 7'
} else if (e.match(/NT 6.2/ig)) {
os = '<span class="os_8">Windows 8'
} else if (e.match(/NT 6.3/ig)) {
os = '<span class="os_8_1">Windows 8.1'
} else if (e.match(/NT 10.0/ig)) {
os = '<span class="os_8_1">Windows 10'
} else if (e.match(/NT 6.0/ig)) {
os = '<span class="os_vista">Windows Vista'
} else if (e.match(/NT 5/ig)) {
os = '<span class="os_2000">Windows 2000'
} else if (r = e.match(/Phone OS ([^\s]+)/ig)) {
//WP7-7.5
os = '<span class="os_windows">Windows ' + r[0].split(';')[0]
} else if (r = e.match(/Phone ([^\s]+)/ig)) {
//WP8+
os = '<span class="os_windows">Windows ' + r[0].split(';')[0]
} else {
os = '<span class="os_windows">Windows OS'
}
} else if (r = e.match(/android ([^\s]+)/ig)) {
os = '<span class="os_android">' + r[0].split(';')[0]
} else if (r = e.match(/iPhone OS ([^\s]+)/ig)) {
os = '<span class="os_ios">' + r[0].replace('iPhone OS', 'iOS').replace('_', '.').replace('_', '.') + '<span class="os_ios">for iPhone'
} else if (r = e.match(/CPU OS ([^\s]+)/ig)) {
os = '<span class="os_ios">' + r[0].replace('CPU OS', 'iOS').replace('_', '.').replace('_', '.') + '<span class="os_ios">for iPad'
} else if (e.match(/ubuntu/ig)) {
os = '<span class="os_ubuntu">Ubuntu '
} else if (e.match(/linux/ig)) {
os = '<span class="os_linux">Linux '
} else if (r = e.match(/Mac OS X ([^\s]+)/ig)) {
os = '<span class="os_mac">' + r[0].split(')')[0].replace('_','.').replace('_', '.')
} else if (e.match(/unix/ig)) {
os = '<span class="os_unix">Unix '
} else if (e.match(/symbian/ig)) {
os = '<span class="os_nokia">Symbian'
} else if (e.match(/meego/ig)) {
os = '<span class="os_nokia">MeeGo'
} else {
os = '<span class="os_other">Unknown OS '
}
return os+"</span>" ;
}

以下是CSS样式,也是从别人那里copy过来稍微改了一下,自己反正蛮喜欢的~

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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
/*多说UA开始*/
span.ua{
margin: 0 1px!important;
color:#FFFFFF!important;
/*text-transform: Capitalize!important;
float: right!important;
line-height: 18px!important;*/
}
.ua_ie{
background-color: #428bca!important;
border-color: #357ebd!important;
border-radius: 4px;
padding: 0 5px!important;
}
.ua_firefox{
background-color: #f0ad4e!important;
border-color: #eea236!important;
border-radius: 4px;
padding: 0 5px!important;
}
.ua_maxthon{
background-color: #7373B9!important;
border-color: #7373B9!important;
border-radius: 4px;
padding: 0 5px!important;
}
.ua_ucweb{
background-color: #FF740F!important;
border-color: #d43f3a!important;
border-radius: 4px;
padding: 0 5px!important;
}
.ua_sogou{
background-color: #78ACE9!important;
border-color: #4cae4c!important;
border-radius: 4px;
padding: 0 5px!important;
}
.ua_2345explorer{
background-color: #2478B8!important;
border-color: #4cae4c!important;
border-radius: 4px;
padding: 0 5px!important;
}
.ua_2345chrome{
background-color: #F9D024!important;
border-color: #4cae4c!important;
border-radius: 4px;
padding: 0 5px!important;
}
.ua_mi{
background-color: #FF4A00!important;
border-color: #4cae4c!important;
border-radius: 4px;
padding: 0 5px!important;
}
.ua_lbbrowser{
background-color: #FC9D2E!important;
border-color: #4cae4c!important;
border-radius: 4px;
padding: 0 5px!important;
}
.ua_chrome{
background-color: #EE6252!important;
border-color: #4cae4c!important;
border-radius: 4px;
padding: 0 5px!important;
}
.ua_qq{
background-color: #3D88A8!important;
border-color: #4cae4c!important;
border-radius: 4px;
padding: 0 5px!important;
}
.ua_apple{
background-color: #E95620!important;
border-color: #4cae4c!important;
border-radius: 4px;
padding: 0 5px!important;
}
.ua_opera{
background-color: #d9534f!important;
border-color: #d43f3a!important;
border-radius: 4px;
padding: 0 5px!important;
}
.ua_other{
background-color: #8B8B7A!important;
border-color: #01B171!important;
border-radius: 4px;
padding: 0 5px!important;
}

.os_vista,.os_2000,.os_windows,.os_xp,.os_7,.os_8,.os_8_1 {
background-color: #39b3d7!important;
border-color: #46b8da!important;
border-radius: 4px;
padding: 0 5px!important;
}

.os_android {
background-color: #98C13D!important;
border-color: #01B171!important;
border-radius: 4px;
padding: 0 5px!important;
}
.os_ubuntu{
background-color: #DD4814!important;
border-color: #01B171!important;
border-radius: 4px;
padding: 0 5px!important;
}
.os_linux {
background-color: #3A3A3A!important;
border-color: #1F1F1F!important;
border-radius: 4px;
padding: 0 5px!important;
}
.os_mac{
background-color: #666666!important;
border-color: #1F1F1F!important;
border-radius: 4px;
padding: 0 5px!important;
}
.os_ios{
background-color: #D1D1D1!important;
color:#000000!important;
border-color: #1F1F1F!important;
border-radius: 4px;
padding: 0 5px!important;
}
.os_unix{
background-color: #006600!important;
border-color: #1F1F1F!important;
border-radius: 4px;
padding: 0 5px!important;
}
.os_nokia{
background-color: #014485!important;
border-color: #1F1F1F!important;
border-radius: 4px;
padding: 0 5px!important;
}
.os_other{
background-color: #8B8B7A!important;
border-color: #01B171!important;
border-radius: 4px;
padding: 0 5px!important;
}
.sskadmin{
background-color: #D4D4D4!important;
color:#000000!important;
border-radius: 4px;
padding: 0 5px!important;
}
/*多说UA结束*/

Github Pages+ Hexo 搭建博客


一、 前言

这是一篇使用GitHub Pages和Hexo搭建免费独立博客的总结。

作为一个前端小白,虽说是个码农,但是一开始照着网上的各种教程去搭建的时候,还是云里雾里的。记得几个月前刚接触GitHub(哈哈,对大四来说确实有点晚),对版本控制几乎一点概念都没有,更别说使用GitHub Page能做出一个好看又好用的博客了。所以第一次的尝试失败了。

后来的两三个月里,开始逐渐地把日常的学习都迁移到GitHub上进行,慢慢熟悉了Git的版本控制。

我所总结的是单纯地利用GitHub Pages搭建自己独立博客的过程,并没有额外使用独立域名之类的(谁让我穷 o(^▽^)o )。

如果是小小白,可以先花时间去了解下:

二、 必要配置

2.1 GitHub Pages 仓库

2.1.1 创建对应仓库

在自己的GitHub账号下创建一个新的仓库,命名为username.github.io(username是你的账号名)。

在这里,要知道,GitHub Pages有两种类型:User/Organization Pages 和 Project Pages,而我所使用的是User Pages。

简单来说,User Pages 与 Project Pages的区别是:

  1. User Pages 是用来展示用户的,而 Project Pages 是用来展示项目的。
  2. 用于存放 User Pages 的仓库必须使用username.github.io的命名规则,而 Project Pages 则没有特殊的要求。
  3. User Pages 将使用仓库的 master 分支,而 Project Pages 将使用 gh-pages 分支。
  4. User Pages 通过 http(s)://username.github.io 进行访问,而 Projects Pages通过 http(s)://username.github.io/projectname 进行访问。

2.1.2 相关资料

2.2 Git

2.2.1 安装 Git

在windows下安装git比较常用的有两种方式:

  1. Git 官方版本的安装
  2. GitHub for Windows

2.2.2 配置 Git

当安装完Git应该做的第一件事情就是设置用户名称和邮件地址。这样做很重要,因为每一个Git的提交都会使用这些信息,并且它会写入你的每一次提交中,不可更改:

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

对于user.email,因为在GitHub的commits信息上是可见的,所以如果你不想让人知道你的email,可以Keeping your email address private:

  1. 在GitHub右上方点击你的头像,选择”Settings”;
  2. 在右边的”Personal settings”侧边栏选择”Emails”;
  3. 选择”Keep my email address private”。

这样,你就可以使用如下格式的email进行配置:

1
$ git config --global user.email "username@users.noreply.github.com"

2.2.3 相关资料

2.3 Git 与 GitHub

2.3.1 git与github的区别

这里,我们要区分清楚git与github。

git是一个版本控制的工具,而github有点类似于远程仓库,用于存放用git管理的各种项目。

2.3.2 与github建立联系

为了能够在本地使用git管理github上的项目,需要进行一些配置,这里介绍SSH的方法。

2.3.2.1 检查电脑是否已经有SSH keys。
1
2
$ ls -al ~/.ssh
# Lists the files in your .ssh directory, if they exist

默认情况下,public keys的文件名是以下的格式之一:id_dsa.pub、id_ecdsa.pub、id_ed25519.pub、id_rsa.pub。因此,如果列出的文件有public和private钥匙对(例如id_ras.pub和id_rsa),证明已存在SSH keys。

2.3.2.2 如果没有SSH key,则生成新的SSH key。
1
2
$ ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
# Creates a new ssh key, using the provided email as a label

之后一路回车即可。

2.3.2.3 向ssh-agent添加key。

首先确保ssh-agent可运行:

1
2
# start the ssh-agent in the background
$ ssh-agent -s

然后添加SSH key:

1
$ ssh-add ~/.ssh/id_rsa
2.3.2.4 在GitHub添加SSH key。

首先,拷贝key:

1
2
clip < ~/.ssh/id_rsa.pub
# Copies the contents of the id_rsa.pub file to your cllipboard

然后,在GitHub右上方点击头像,选择”Settings”,在右边的”Personal settings”侧边栏选择”SSH Keys”。接着粘贴key,点击”Add key”按钮。最后,测试链接:

1
2
$ ssh -T git@github.com
# Attempts to ssh to GitHub

如果你看到:

1
2
3
The authenticity of host 'github.com (207.97.227.239)' can't be established.
RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
Are you sure you want to continue connecting (yes/no)?

就键入:yes。之后将会看到如下信息:

1
2
Hi username! You've successfully authenticated, but GitHub does not
provide shell access.

2.3.3 相关资料

2.4 Hexo

2.4.1 安装Hexo

安装Hexo相当简单。在安装之前,必须检查电脑中是否已经安装下列应用程序:

  • Node.js
  • Git
    如果您的电脑中已经安装上述必备程序,那么恭喜您!接下来只需要使用 npm 即可完成 Hexo 的安装。
    1
    $ npm install -g hexo-cli

2.4.2 使用Hexo建站

安装完后,在你喜欢的文件夹内(例如D:\Hexo),点击鼠标右键选择Git bash,输入以下指令:

1
$ hexo init

该命令会在目标文件夹内建立网站所需要的所有文件。接下来是安装依赖包:

1
$ npm install

这样,我们就已经搭建起本地的Hexo博客了。可以先执行以下命令(在对应文件夹下),然后再浏览器输入localhost:4000查看。

1
2
$ hexo generate
$ hexo server

这个博客只是本地的,别人是浏览不了的,之后需要部署到GitHub上。

2.4.3 相关资料

三、一般的搭建方法

在上面,我们已经配置好了所需的所有东西,也成功地搭建了一个本地Hexo博客。现在,需要使用GitHub Pages搭建一个别人能够访问的Hexo博客了。

3.1 使用默认theme

我们继续使用上面的文件夹D:\Hexo(也可以新建一个文件夹重新生成),然后编辑该文件夹下的_config.yml。

默认生成的_config.yml:

1
2
3
4
# Deployment
### Docs: http://hexo.io/docs/deployment.html
deploy:
type:

修改后的_config.yml:

1
2
3
4
deploy:
type: git
repo: 对应仓库的SSH地址(可以在GitHub对应的仓库中复制)
branch: 分支(User Pages为master,Project Pages为gh-pages)

为了能够使Hexo部署到GitHub上,需要安装一个插件:

1
$ npm install hexo-deployer-git --save

然后,执行下列指令即可完成部署:

1
2
$ hexo generate
$ hexo deploy

之后,可以通过在浏览器键入:username.github.io进行浏览,开心吧~

3.2 其他theme

如果想要使用其他主题,可以使用git clone将别人的主题拷贝到D:\Hexo\themes下,然后将_config.yml中的theme: landscape改为对应的主题名字。

详细步骤可以参考网上的指南。

四、 优化部署与管理

4.1 概述

Hexo部署到GitHub上的文件,是.md(你的博文)转化之后的.html(静态网页)。因此,当你重装电脑或者想在不同电脑上修改博客时,就不可能了(除非你自己写html o(^▽^)o )。

其实,Hexo生成的网站文件中有.gitignore文件,因此它的本意也是想我们将Hexo生成的网站文件存放到GitHub上进行管理的(而不是用U盘或者云备份啦(╬▔皿▔)凸)。这样,不仅解决了上述的问题,还可以通过git的版本控制追踪你的博文的修改过程,是极赞的。

但是,如果每一个GitHub Pages都需要创建一个额外的仓库来存放Hexo网站文件,我感觉很麻烦(10个项目需要20个仓库(ˉ▽ˉ;)…)。

所以,我利用了分支!!!

简单地说,每个想建立GitHub Pages的仓库,起码有两个分支,一个用来存放Hexo网站的文件,一个用来发布网站。

下面以我的博客作为例子详细地讲述。

4.2 我的博客搭建流程

  1. 创建仓库,jetyu.github.io;
  2. 创建两个分支:master 与 hexo;
  3. 设置hexo为默认分支(因为我们只需要手动管理这个分支上的Hexo网站文件);
  4. 使用git clone git@github.com:jetyu/jetyu.github.io.git拷贝仓库;
  5. 在本地jetyu.github.io文件夹下通过Git bash依次执行npm install hexo、hexo init、npm install 和 npm install hexo-deployer-git(此时当前分支应显示为hexo);
  6. 修改_config.yml中的deploy参数,分支应为master;
  7. 依次执行git add .、git commit -m “…”、git push origin hexo提交网站相关的文件;
  8. 执行hexo generate -d生成网站并部署到GitHub上。

这样一来,在GitHub上的jetyu.github.io仓库就有两个分支,一个hexo分支用来存放网站的原始文件,一个master分支用来存放生成的静态网页。完美( •̀ ω •́ )y!

4.3 我的博客管理流程

4.3.1 日常修改

在本地对博客进行修改(添加新博文、修改样式等等)后,通过下面的流程进行管理:

  1. 依次执行git add .、git commit -m “…”、git push origin hexo指令将改动推送到GitHub(此时当前分支应为hexo);
  2. 然后才执行hexo generate -d发布网站到master分支上。

虽然两个过程顺序调转一般不会有问题,不过逻辑上这样的顺序是绝对没问题的(例如突然死机要重装了,悲催….的情况,调转顺序就有问题了)。

4.3.2 本地资料丢失

当重装电脑之后,或者想在其他电脑上修改博客,可以使用下列步骤:

  1. 使用git clone git@github.com:jetyu/jetyu.github.io.git拷贝仓库(默认分支为hexo);
  2. 在本地新拷贝的jetyu.github.io文件夹下通过Git bash依次执行下列指令:npm install hexo、npm install、npm install hexo-deployer-git(记得,不需要hexo init这条指令)。

五、结尾

好累 (-.-)=

毕业了

回忆过去的四年。

过些天,答辩完事也就得出来住了,为了提前适应生活,所以事先搬出来了,找房子,买东西,突然才发现,锅碗瓢盆,柴米油盐酱醋茶,这些东西看似很小,其实很啰嗦。做了几天饭,想了很多,那句话说的挺对的,你出了学校,真就再也找不到1200就能住一年的房子了,再也找不到那么便宜又好吃的饭菜了,别说学校饭贵,仔细去别的学校看一看,三期饭真的便宜,尤其炒菜。
用一句话说:毕业这事真的不敢想。
想想当初大一的时候,懵懂啊,无知啊,各种玩,没人管我了,自由了,想着以后自己立足。后来发现,根本不是那么回事,正如张泉灵所说:你选的是你父母喜欢的专业,你选的是容易得学分的课,你又凭什么要求过上自己想要的生活!每个人都想着活着,以前看陈丹青谈中国人的信仰的时候,他说:中国人的信仰就是他妈的活下去,活下去最要紧。其实自己想,不无道理,这是最简单的信仰也是最伟大的信仰。我们吃转基因食品,喝着毒牛奶,用着地沟油,吸着雾霾天,真是同呼吸,共患难,中国人身体内元素周期表里的元素该都有了吧,活下去,真的不容易啊。
大一碰见了很多好老师,陈昊老师,这老师人很nice,我老乡啊。。。哈哈。数学课板书一笔一划写着,很认真,大一快毕业的时候,他说,这是最后一节课了,我也不准备多讲点什么:我就给大家说一下,大学四年过的真的很快,不要想着这才大一,就整天玩儿什么的,多看看书,不一定是专业课的书,游戏少打一点,没多少用,毕竟靠游戏能吃饭的人很少,炮灰很多。花了接近20分钟讲“马太效应”,其实以前听过,但是真的没怎么去深入理解,富人越来越富,穷人越来越穷,这话到底有什么深刻含义,直到他说,不仅适用于经济,更适用于职场等一系列情景,试想:如果同样都是给报社投稿,报社是要作家的稿子呢,还是要你的稿子?一语惊醒梦中人!
再就是大二遇见徐学超老师和郝金彪老师,可以说,影响巨大,先来说说教日语的徐学超老师吧,老师上课很幽默,人很好,绝对严师一枚,对我们很严格,当时我其实不是很喜欢日语,我喜欢学英语,所以准备考试的时候就没怎么关注日语,想着随随便便差不多就可以了吧,后来成绩下来的时候,英语过了,日语没过,这对我打击很大,我知道老师对我抱有很大的期望,让老师失望了,随后还是准备考N2吧,好好复习了一下,最后终于过了,也算没让老师看错我这个人,那天还在B2遇见老师,老师还问我说:还继续学日语吗?我说学啊。老师说那就好,如果说没有老师的当时的鼓励与欣赏,我估计现在连工作都没有,更不要说是去自己选企业了。
再来说说郝金彪老师,这老师一天到晚白大褂一传,搞的我们以为是医学院的。其实老头人很好,敢说真话,实话,这点我觉得对于我们这帮小屁孩来说,绝对受益匪浅,因为这世界上,假的太多了,敢说真话的人太少了。

最后再来说说实习这点事儿吧,好在在IBM遇见了好多人,许宁,小伙伴,人都很好,虽然刚去的时候,让许哥每天说的,你这不对那不对,一天累的跟狗似的,我觉得这才真是帮你的人,许哥,可以说让我学到了很多,受益匪浅,有些东西有些公司的人不一定教你。顺便说一句哈,你在我们第三批入职的里面,大家都一致认为你长的很帅,很有大叔范儿,秋实姐啊杨璐啊很多人背后偷偷叫你:许叔。哈哈。
再就是我的那帮小伙伴和B组的同学们,每天和小伙伴们一块上班下班,吃中午饭,下午饭,一天好的不得了,也没有什么不开心的。记得有一次我犯二了,回去取badge了(怎么2的我就不提了),小伙伴们为了等我,一直没有坐摆渡车,导致后来大家做的班车去的,差点还迟到了,当时特别感动,这件事记忆犹新啊,再就是在QA的时候,有些人说QA屋子那么的冷清,压抑,是啊,一天天神经崩的很紧,能不压抑吗?最逗的是,范志康,这哥们,当时做了一个MINI剃须刀,我到现在想起来都想笑,当然B组的人都很不错,王一涵,高微等一系列我现在想不起来名字的人都帮了我不少忙,虽然不是同一批入职的,但是大家都很好,很和气,simple。
所以当时也就造成了一个现象,我reject率为何那么低的原因(我记得很清楚,只记了三个人)。也不是说我为了还人情,那么做,我不往QA track上面记录,那是因为我觉得大家来都不容易,无论做的有多差或者说是态度有多恶劣的。大家一天累死累活的做那么多,最后改了还让QA给记上去,给谁谁爽啊。所以我能改的就改了,最后call你一下,下次别犯错。听说三星那个项目组,QA丝毫不手软,现在想想是不是我当时多记一点,心里落差就不会这么大了。
再就是小组里面的人,李月,江南,文静,小丽姐,人都很好,其实大家B组里面最应该感谢的就是这些人啊,我当时让他们说有些人就QA别记了,他们帮了我不少忙,当然也帮了你们不少忙。好几次我task没做完,原因在于我就是自己改,我知道大家都忙,李月最后还帮我Q了不少东西,你是个好人呢啊,月姐。
其实,小伙伴们我发现找工作其实并不难,难的是找一份适合自己的,无论现在,是否拿得到offer那么,觉得就像我妈所说的,找工作和爱情是一样的。该来的时候,缘分来了自然会来的。所以有时候看淡一点可能会有更大的惊喜吧!