本地写了不少markdown笔记,一直想自己建一个网站。最初的想法是完完全全自己写一个个人网站,全部自定义,不仅可以有技术笔记栏目还可以有其它记录感想,发表观点,发布工具的栏目。然而时间并不总是能自定义,总有些更优先的事项排在前面,加之自己技术水平还没成长到这个程度,于是退而求其次,选择已有框架搭建一个个人博客,先用之,毕竟都要毕业了,连个像样的博客都没有,实在说不过去。我并未放弃建站的想法,说不定以后就有了。
安装博客生成器
由于kali环境齐全,所以直接在kali下安装本地博客
1
2
3
4
5
6
7
8
9
# 安装jekyll
sudo gem install jekyll
# 安装chirpy主题
git clone git@github.com:cotes2020/jekyll-theme-chirpy.git
# 在jekyll-theme-chirpy目录下安装依赖
# 不需要sudo,命令会在需要时自动调用sudo
bundle install
jekyll-theme-chirpy文件夹就是一个博客生成器,接下来生成本地初始博客。
生成初始博客
生成博客
1
2
3
4
5
# 在jekyll-theme-chirpy目录下生成博客,站点取名为lcatmiao.github.io,这里我取的名与后面要创建的
# 远程库的名字一致,其实也可以不一致。
# jekyll serve命令自动生成名为_site的站点。-d指定生成路径,同时可以重命名站点文件夹名字。
sudo jekyll serve -d lcatmiao.github.io
# 然后Ctrl + C关闭服务
可以看到已经生成了初始博客lcatmiao.github.io
1
2
3
4
5
6
7
# 再次执行jekyll serve命令,这次我们看一下初始博客的样子再关闭服务。
# 下面的命令会再一次生成lcatmiao.github.io文件夹,覆盖现有的,反正我们没做什么更改,覆盖
# 就覆盖,无妨。
# 默认情况下,只有本机才能访问jekyll服务,同一局域网下的其它主机访问不了。
# 加上--host 0.0.0.0后同一局域网下的其它主机就可以访问服务了。这里我的kali是虚拟机,
# 与本机之间是NAT模式。执行下面的命令后,可以在本机的浏览器中访问kali的网页。
sudo jekyll serve -d lcatmiao.github.io --host 0.0.0.0
本机浏览器中输入虚拟机IP,端口号4000,可以浏览到初始博客的样子。
关闭服务。
创建远程库
关于github不多赘述。
登录github,创建空仓库,为公开库,名字必须为username.github.io,username为github的用户名。
推送初始博客
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 进入本地lcatmiao.github.io目录
# 初始化本地库
sudo git init
# 添加暂存区
sudo git add .
# 提交本地库
sudo git commit -m "Initialize the blog" .
# 添加远程库
sudo git remote add lcatmiao.github.io 库链接
# 详细查看远程库
sudo git remote -v
# 推送远程库
sudo git push lcatmiao.github.io master
刷新远程库,可以看见初始博客已经被推送上来,访问username.github.io就能访问到自己的初始博客页面。
修改配置
改_config.yml
在jekyll-theme-chirpy目录下修改_config.yml。
该文件中的注释描述很清楚,自己看着改。配合 jekyll serve
命令在本地查看修改后页面的效果。
改favicon
favicon路径:jekyll-theme-chirpy/assets/img/favicons/
准备好图片,然后在https://realfavicongenerator.net/生成,下载后解压,在解压后的文件夹中删除browserconfig.xml和site.webmanifest,然后将剩下的东西复制到jekyll-theme-chirpy/assets/img/favicons/
删除最近更新栏
最近更新栏似乎没有正常工作,查了很多资料也测试了很久,不知道问题出哪了,我决定删除它。
在jekyll-theme-chirpy/_layouts/page.html中
1
2
3
4
5
6
7
8
9
10
11
12
13
<!-- pannel -->
<div id="panel-wrapper" class="col-xl-3 pl-2 text-muted">
<div class="access">
{% include update-list.html %}
{% include trending-tags.html %}
</div>
{% for _include in layout.pannel_includes %}
{% assign _include_path = _include | append: '.html' %}
{% include {{ _include_path }} %}
{% endfor %}
</div>
删除{% include update-list.html %}
推送远程库
1
2
3
4
# 在lcatmiao.github.io目录下
sudo git add .
sudo git commit -m "Personalize some configs" .
sudo git push lcatmiao.github.io master
访问username.github.io查看页面。
放上内容
放入自己的文章
jekyll-theme-chirpy/_posts就是我们放置md文件的位置。
该目录下已有一些文章,这些是博客主题自带的教程,我们不删除,将它们重命名,在每一个文件名前加一个 #
,这样既可以保留这些文件,又可以避免在博客中呈现它们。
下面就可以把我们自己的md文件放进去,md文件可以加上一个 yaml头
,以启用更多功能。关于 yaml头
,直接打开这几个主题自带的md文件看看怎么写就行。
放入自己的md后,按照主题自带md文件的命名格式命名。
1
2
3
# 重新生成博客站点,打开服务
# 在jekyll-theme-chirpy下
sudo jekyll serve -d lcatmiao.github.io --host 0.0.0.0
本地浏览新生成的页面。
推送远程库
1
2
3
# 在lcatmiao.github.io下
sudo git add .
sudo git commit .
1
2
3
4
5
# commit msg
Add git如何合并分支.md
Rename the theme's own md files so that I can keep them and avoid presenting them in
the blog. Besides, add my own md file, git如何合并分支.md.
1
2
# 推送远程库
sudo git push lcatmiao.github.io master
windows备份
因为博客生成器和博客站点都放在虚拟机kali中,而虚拟机经常要回滚,所以我将整个jekyll-theme-chirpy目录在本机windows中备份一份。
附jekyll命令
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 打开服务,只有本机能够访问网站
# 会生成_site目录
# 自动监测变化
jekyll serve
# 指定生成路径和目录名
jekyll serve -d ~/myblog
# 局域网内其它主机可访问网站
jekyll serve --host 0.0.0.0
# 指定端口
jekyll serve --port 4001
# 后台运行
# 不能监测变化
jekyll serve --detach