為了寫一篇新的 blog 開始研究支援 Markdown 格式的方案,最後就選了 GitHub + Jekyll 的方式,順便把過程記錄下來。

名詞

  • Ruby
    Jekyll 是基於 Ruby 語言所撰寫的
  • Gem
    Ruby 的套件管理服務
  • bundle
    Gem 的套件版本管理
  • Liquid
    Jekyll 所使用的模板語言(Template Language)

Step

  1. New Repository
    Repository name: [knight720].github.io

    GitHub Pages

  2. Install Jekyll

    Jekyll on Windows

  • 問題
    ridk install
    ~~~~
      CategoryInfo          : SecurityError: (:) [], PSSecurityException
      FullyQualifiedErrorId : UnauthorizedAccess
    
  • 解法
    Set-ExecutionPolicy RemoteSigned
    

    PowerShell 執行原則

  1. Create a new Jekyll site

    Quickstart

  2. Preview
    bundle exec jekyll serve
    
  • 問題
    jekyll serve
    C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/bundler-2.2.27/lib/bundler/definition.rb:496:in `materialize': Could not find minima-2.5.1, jekyll-feed-0.15.1, tzinfo-1.2.9, tzinfo-data-1.2021.1, wdm-0.1.1, webrick-1.7.0, jekyll-seo-tag-2.7.1, thread_safe-0.3.6, listen-3.5.1, ffi-1.15.3-x64-mingw32 in any of the sources (Bundler::GemNotFound)
          from C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/bundler-2.2.27/lib/bundler/definition.rb:234:in `specs_for'
          from C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/bundler-2.2.27/lib/bundler/runtime.rb:18:in `setup'
          from C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/bundler-2.2.27/lib/bundler.rb:149:in `setup'
          from C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/jekyll-4.2.0/lib/jekyll/plugin_manager.rb:52:in `require_from_bundler'
          from C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/jekyll-4.2.0/exe/jekyll:11:in `<top (required)>'
          from C:/Ruby30-x64/bin/jekyll:23:in `load'
          from C:/Ruby30-x64/bin/jekyll:23:in `<main>'
    
  • 解法
    bundle install
    

Problem

gem install eventmachine --platform ruby
bundle add webrick