2022-08-06-搭建指南.md

background

之前一直使用vscode+one driver写笔记,就这么用了几年也没有什么问题。但是这两年笔记文章越来越多,文章中的图片也越来越多,再加上vscode被用来进行了一些开发工作,插件拖慢了开发速度但却没能提升markdown的书写体验,因此产生了迁移的想法。

选择github-pages尝试替换本地笔记。

从搭建环境开始。

在windows上安装jeklly

官方似乎并不推荐在windows上使用jeklly,但是由于工作情况,手上的笔记本还是windows10的系统,装上先用着。

待安装清单:

  • Ruby
  • RubyGems
  • Jekyll
  • jekyll-paginate
  • bundle (配置)

安装ruby

ruby官网下载最新的RubyInstaller,当前最新的版本是3.1.2-1(x64)。

下载完成之后点击安装,安装选项里面要把msys2装上,是jekyll和gem的依赖。

安装

下载zip安装包,本地解压。

下面就是全程命令行执行

1
2
3
4
ruby setup.rb
gem install jekyll
gem install jekyll-paginate
jekyll -v

在安装目录就能看到jekyll的version显示

启动jekyll

正常来讲,在项目安装目录下面执行jekyll s就能启动工程,但实际上出现了一个报错。

1
2
3
4
5
6
7
8
9
10
11
12
C:/Ruby31-x64/lib/ruby/site_ruby/3.1.0/bundler/resolver.rb:271:in `block in verify_gemfile_dependencies_are_found!': Could not find gem 'github-pages' in locally installed gems. (Bundler::GemNotFound)
        from C:/Ruby31-x64/lib/ruby/site_ruby/3.1.0/bundler/resolver.rb:254:in `map!'
        from C:/Ruby31-x64/lib/ruby/site_ruby/3.1.0/bundler/resolver.rb:49:in `start'
        from C:/Ruby31-x64/lib/ruby/site_ruby/3.1.0/bundler/resolver.rb:24:in `resolve'
        from C:/Ruby31-x64/lib/ruby/site_ruby/3.1.0/bundler/definition.rb:480:in `reresolve'
        from C:/Ruby31-x64/lib/ruby/site_ruby/3.1.0/bundler/definition.rb:488:in `materialize'
        from C:/Ruby31-x64/lib/ruby/site_ruby/3.1.0/bundler/definition.rb:191:in `specs'
        from C:/Ruby31-x64/lib/ruby/site_ruby/3.1.0/bundler/runtime.rb:18:in `setup'
        from C:/Ruby31-x64/lib/ruby/site_ruby/3.1.0/bundler.rb:163:in `setup'
        from C:/Ruby31-x64/lib/ruby/gems/3.1.0/gems/jekyll-4.2.2/lib/jekyll/plugin_manager.rb:52:in `require_from_bundler'
        from C:/Ruby31-x64/bin/jekyll:32:in `load'
        from C:/Ruby31-x64/bin/jekyll:32:in `<main>'

虽然错误提示没有安装gem,但实际上并不是没有安装gem,而是因为版本没有对应。

理论上执行bundle update就能解决问题,但在国内会有网络的问题导致不能正常安装。需要先切换source。

1
gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/

gemfile中的source也需要修改成:

1
source 'https://gems.ruby-china.com'

然后才能执行update

1
2
bundle update
bundle exec jekyll s

命令执行完成之后默认的端口就能访问本地服务了: http://127.0.0.1:4000。

到这里环境就搭建完成了,github-pages started