记录一下本人第一次搭建git pages的过程。谨以此文记录自己的操作过程。
想要操作高级玩法,一定要仔细阅读官方文档。了解liquid语法,yaml语法,jekyll架构。以及相关的HTML,css,javascript基础。
因为需要使用ruby语言,本人之前从未接触过它,对此有很大的抵触。网上找了很多教程都是基于MAC或者Linux系统的,本人使用win10,很怕弄不会又没有相关资料,于是还特意折腾了虚拟机安装了centos。按照教程一步步来,结果实际情况还是和各种教程的描述不一致。搞得本人头很大。后来耐心的查阅了很多资料,对github pages、jekyll及其相关工具有了更深的认识,于是照猫画虎的搭建成功了。接下来打算慢慢的修改成自己想要的样子。
jekyll 相关链接
搭建一个免费的,无限流量的Blog—-github Pages和Jekyll入门
windows上使用jekyll
windows 使用 ruby、jekyll 搭建 github pages
推荐几个老外写的教程:
http://jekyll-windows.juthilo.com(本人遇坑时参考了这篇)
http://yizeng.me/2013/05/10/install-jekyll-3-on-windows/
安装Ruby
在官网下载 ruby,windows 系统推荐使用 RubyInstaller(with Devkit)。会自动添加路径到 path 变量中。安装结束后会要求安装 MSYS2。
安装完毕可以输入ruby -v验证。
安装RubyGems、Bundler
其实使用RubyInstaller会自动安装了gem。可直接输入gem -v验证。
- 官网下载RubyGems的zip包
- 解压zip文件并在命令行(cmd/git bash均可)cd到该目录
- 输入
ruby setup.rb(管理员权限)
gem命令会把包安装在 类似D:\Ruby[xx]-x64\lib\ruby\gems\[x.x.x]\gems的目录中,安装了jekyll会自动安装很多它的依赖包。都在这个目录里。
使用gem会自动安装帮助文档(ri或rdoc格式),因为我们可以在线查看,不需要下载,因此可以在~\.gemrc文件中添加两行:
# nano ~/.gemrc
install: --no-document
update: --no-document
这样使用gem命令时不安装帮助文档(否则它通常安装在D:\Ruby[xx]-x64\lib\ruby\gems\[x.x.x]\doc目录)。
Gem 命令的其他操作:
# 查看通过gem已安装插件:
gem list
# 查看 RubyGems 配置详情
gem environment
# 查看gem的源:
gem sources list
# 可以添加/删除源:
gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/
# 或者
gem sources --add https://mirrors.tuna.tsinghua.edu.cn/rubygems/ --remove https://rubygems.org/
# 清理旧的包:
gem cleanup
# 基于`Gemfile`指定的依赖包执行命令:
bundle exec <command>
如果你使用 Gemfile 和 Bundler (例如:Rails 项目)
你可以用 Bundler 的 Gem 源代码镜像命令。
bundle config --global mirror.https://rubygems.org https://gems.ruby-china.com
# 或者
bundle config --global mirror.https://rubygems.org https://mirrors.tuna.tsinghua.edu.cn/rubygems/
接下来继续安装Bundler
gem install bundler # 安装bundler
安装完毕可以输入bundle -v验证。
设置指定安装路径:
bundle config --global path 'vendor/bundle'
bundle config path 'vendor/bundle'
现在我们可以根据项目根目录下Gemfile来安装/更新依赖:
bundle install
# 或者
bundle update
用于是通过 bundle 安装的依赖,所以执行命令都要通过bundle exec xxx 来执行。比如:
bundle exec jekyll -v
bundle exec jekyll build --watch
bundle exec jekyll serve
安装Jekyll
执行gem install jekyll即可自动安装 jekyll 的所有依赖包。也许或弹出防火墙提示,允许即可。依赖包数量比较多安装过程会慢,耐心等待安装完毕即可。
安装完毕输入jekyll -v验证。
如果安装jekyll出错
提示执行ridk install,则说明当前安装的是 Ruby 2.4.x。需要在 cmd 运行ridk install安装 MSYS2 toolkit ,执行后输入1即可。如果下载过慢,可手动复制下载链接进行下载安装。
提示make不是内部或外部命令,则说明当前安装的是 Ruby2.0-2.3。需要安装DEVELOPMENT KIT。按照下面方式操作:
从官网下载DEVELOPMENT KIT,它是个自解压文件,运行后推荐解压到C:\RubyDevKit\。然后用 git for windows 的 MingW64 执行
# 切换到 解压文件夹
cd /C/RubyDevKit
# 初始化安装,会自动检查Ruby的安装路径
ruby dk.rb init
不过上一步可能会检查不出来,提示如下:
Initialization complete! Please review and modify the auto-generated
'config.yml' file to ensure it contains the root directories to all
of the installed Rubies you want enhanced by the DevKit.
需要手动修改 config.yml文件,确保config.yml中包含
- C:/Ruby23-x64
安装 DevKit 到 ruby
ruby dk.rb install
不出意外会提示:
[INFO] Updating existing gem override for 'C:/Ruby23-x64'
[INFO] Installing 'C:/Ruby23-x64/lib/ruby/site_ruby/devkit.rb'
然后再尝试安装jekyll
gem install jekyll
笔者使用Ruby2.4,Ruby2.3均运行成功。
Jekyll 操作教程
想要读懂或编辑jekyll模板看这里:https://jekyllrb.com/docs/
jekyll build
# => 当前文件夹中的内容将会生成到 ./_site 文件夹中。
jekyll build --destination <destination>
# => 当前文件夹中的内容将会生成到目标文件夹<destination>中。
jekyll build --source <source> --destination <destination>
# => 指定源文件夹<source>中的内容将会生成到目标文件夹<destination>中。
jekyll build --watch
# => 当前文件夹中的内容将会生成到 ./_site 文件夹中,
# 查看改变,并且自动再生成。
jekyll serve
# => 当前文件夹中的内容将会生成到 ./_site 文件夹中。并搭建web服务。
# 可访问 http://localhost:4000 查看,方便本地调试。
搭建环境问题处理
搭建后执行jekyll命令如果出现报错,多为配置环境的问题。第一种方法通常是根据报错信息安装对应的依赖包即可,如:
gem install tzinfo-data
或者第二种方法,在根目录下的Gemfile文件里输入:
gem 'tzinfo-data'
本人使用gem install xxx会出错,采用的第二种方法。
### .svg 文件转 .png 和 .ico 文件工具
首先需要nodejs环境,官网下载即可。然后需要使用npm下载,npm服务器下载比较慢,可以选择淘宝镜像,具体操作见:https://npmmirror.com/
npm install -g cnpm --registry=https://registry.npmmirror.com
npm install svg2img png-to-ico
npm install svg-to-ico
也可使用 ImageMagick,https://imagemagick.org/script/download.php