从GithubPages+Hexo迁移到Jekyll博客

最近感觉自己的博客不好看(可能是我看到了更好看的博客主题了~),加上一直都感觉用GithubPages访问自己博客很慢,就买了台性价比不错的VPS(P牛推荐的那款),用来搭建博客。主题选用了Jekyll这款,感觉很不错哒

环境:本地Ubuntu18.04,服务器Ubuntu18.04

1.安装Jekyll:https://jekyllrb.com/docs/installation/ubuntu/

开始用命令source ~/.bashrc,但总是出现错误信息和乱码,后来才搞懂自己bash用的是zsh这款,所以要编辑的是~/.zshrc而不是~/.bashrc

2.配置gem源(bundle同样):https://gems.ruby-china.com/

p:

ruby 是一种语言,是某些软件包代码的执行环境。而gem是管理这些基于ruby程序的程序。bundle是管理gem的

3.直接将github上的文件直接clone下来,cd到主题目录执行bundle exec jekyll serve,如果出现错误信息,就根据错误信息进行bundle install、注释gemspec文件

4.hexo与jekyll博客文章格式还是有区别的,

hexo:

title: 2018CTF萌新赛WP
date: 2018-10-13 20:13:34
categories: web

而jekyll文章发表的时间需要命名为文件名,如2018-07-01-welcome.md,那么我以前的文章要一个个改名?不存在的~

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import os
import re

path = '_posts'
new_path = 'new_posts/'

for root, dirs, files in os.walk(path):
for file in files:
file_name = os.path.join(root, file)
with open(file_name, 'r') as f:
content = f.read()
#print(content)
time = re.findall('date: (.*?) ', content, re.S)[0]
with open(new_path+time+'-'+file, 'w') as f:
f.write(content)

5.之后启动服务时还是有各种错误,应该是渲染的问题,比如不能连续出现三个{,然后又各种修改内容~而且不要将博客路径放在含有中文名称的地方

6.在vps上安装nginx,之后只需将本地生成的_site目录移动到vps上,再配置下网站根目录即可,copy命令:

scp -r _site root@xx.xx.xx.xx:/home/

之后每次更新博客,只需在本地更新_site内容,再将_sitecopy到vps上即可~