安装升级ruby
可以使用yum install ruby
或者其他软件管理器直接安装软件版本,但是经常会遇到从系统源上下载的版本过低的情况,这种情况下可以安装ruby的版本管理器rvm
来管理获取ruby的版本。具体步骤如下:
1
|
$ gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
|
curl -sSL https://get.rvm.io | bash -s stable
获取安装脚本并执行安装rvm
source /etc/profile.d/rvm.sh
source配置文件使之生效
rvm requirements
下载rvm依赖
rvm list known
查看rvm库中的ruby版本
rvm install ruby-2.5.1
安装ruby指定版本
rvm use 2.5.1 default
设置ruby默认版本
安装jekyll及其他相关的插件
jekyll作为ruby的一个插件,可以直接使用gem
来进行下载安装,由于某些原因,gem
国内的访问很慢,所以需要修改源来解决
1
2
3
4
|
$ gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/
$ gem sources -l
https://gems.ruby-china.com
# 确保只有 gems.ruby-china.com
|
1
2
3
4
5
6
7
8
9
10
11
|
$ gem install jekyll # 安装jekyll
$ gem install bundler # gem管理器
# 如果使用github上的第三方主题会在_config.yml中定义所需要的插件
$ gem install jekyll-tagging # 标签支持插件
$ gem install jekyll-sitemap # sitemap生成器
$ gem install jekyll-paginate # 分页支持
$ gem install pygments.rb # 代码高亮包
$ gem install kramdown # markdown 语法解析包
$ gem install jekyll-mermaid # 图表流程图等支持
.....
|
查找自己喜欢的主题
可以从jekyllthemes.org/查找自己喜欢的主题或者按照jekyll文档开发自己需要的主题
选择或者开发好主题,安装主题需要的插件后,在主题目录执行jekyll serve
就可以启动本地服务进行调测。
一些常用的jekyll命令:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
$ jekyll build
# => 当前文件夹中的内容将会生成到 ./site 文件夹中。
$ jekyll build --destination <destination>
# => 当前文件夹中的内容将会生成到目标文件夹<destination>中。
$ jekyll build --source <source> --destination <destination>
# => 指定源文件夹<source>中的内容将会生成到目标文件夹<destination>中。
$ jekyll build --watch
# => 当前文件夹中的内容将会生成到 ./site 文件夹中,
# 查看改变,并且自动再生成。
$ jekyll serve
# => 一个开发服务器将会运行在 http://localhost:4000/
$ jekyll serve --detach
# => 功能和`jekyll serve`命令相同,但是会脱离终端在后台运行。
# 如果你想关闭服务器,可以使用`kill -9 1234`命令,"1234" 是进程号(PID)。
# 如果你找不到进程号,那么就用`ps aux | grep jekyll`命令来查看,然后关闭服务器。[更多](http://unixhelp.ed.ac.uk/shell/jobz5.html).
$ jekyll serve --watch
# => 和`jekyll serve`相同,但是会查看变更并且自动再生成。
|
部署jekyll
生成的静态网站
jekyll官方文档中提供了github-pages和自己的服务器部署方式
这里建议使用post-receive钩子的方式进行部署
1
2
3
4
5
|
$ mkdir myrepo.git
$ cd myrepo.git
$ git --bare init
$ cp hooks/post-receive.sample hooks/post-receive
$ mkdir /var/www/myrepo
|
- 添加下面的代码到 hooks/post-receive ,并保证服务器上已安装 Jekyll
1
2
3
4
5
6
7
8
|
GIT_REPO=/myrepo.git
TMP_GIT_CLONE=/tmp/myrepo
PUBLIC_WWW=/var/www/myrepo
git clone $GIT_REPO $TMP_GIT_CLONE
jekyll build -s $TMP_GIT_CLONE -d $PUBLIC_WWW
rm -Rf $TMP_GIT_CLONE
exit
|
1
2
|
$ git remote add deploy deployer@example.com:~/myrepo.git
$ git push deploy master
|