Jekyll のバックアップ(No.1)
- keywords: [Jekyll, Ruby, Cygwin] description: Jekyllのインストール、設定などのメモ author: aterai pubdate: 2014-09-28T01:50:02+09:00
概要
インストール
setup-x86_64.exe
などから、ruby
、rubygems
などをインストール~/.gemrc
を作成--- gem: "--no-ri --no-rdoc --user-install" :benchmark: false :verbose: true :backtrace: true :update_sources: true :bulk_threshold: 1000 :sources: - http://gemcutter.org - http://gems.rubyforge.org/ - http://gems.github.com
gem install jekyll
tr: invalid byte sequence in UTF-8 (ArgumentError)
とエラーになる場合- Cygwin - Ruby-1.9.3p327 - win32/registry - PIBを参考にして、
C:/cygwin64/usr/share/ruby/2.0.0/win32/registry.rb
を修正
- Cygwin - Ruby-1.9.3p327 - win32/registry - PIBを参考にして、
#
# Error
#
class Error < ::StandardError
module Kernel32
extend Fiddle::Importer
dlload "kernel32.dll"
end
# FormatMessageA = Kernel32.extern "int FormatMessageA(int, void *, int, int, void *, int, void *)", :stdcall
# def initialize(code)
# @code = code
# msg = "\0".force_encoding(Encoding::ASCII_8BIT) * 1024
# len = FormatMessageA.call(0x1200, 0, code, 0, msg, 1024, 0)
# msg = msg[0, len].force_encoding(Encoding.find(Encoding.locale_charmap))
# super msg.tr("\r", '').chomp
# end
FormatMessageW = Kernel32.extern "int FormatMessageW(int, void *, int, int, void *, int, void *)", :stdcall
def initialize(code)
@code = code
msg = "\0\0".force_encoding(Encoding::UTF_16LE) * 1024
len = FormatMessageW.call(0x1200, 0, code, 0, msg, msg.size, 0)
msg = msg[0, len].encode(Encoding.find(Encoding.locale_charmap))
super msg.tr("\r".encode(msg.encoding), '').chomp
end
attr_reader :code
end
/usr/lib/gcc/x86_64-pc-cygwin/4.8.3/../../../../x86_64-pc-cygwin/bin/ld: -lcrypt が見つかりません
とエラーになる場合libcrypt-devel
をsetup-x86_64.exe
からインストールしてgem install jekyll
を再実行
Makefile:232: recipe for target 'ffi_c.so' failed
とエラーになる場合- Problems compiling ffi 1.9.0 on cygwin 64bit ・ Issue #284 ・ ffi/ffi (via: make fails on Cygwin64bit ・ Issue #317 ・ ffi/ffi)などを参考に、
cygwin32-libffi
や、pkg-config
をsetup-x86_64.exe
からインストールしてgem install jekyll
を再実行
export PKG_CONFIG_PATH="/lib/pkgconfig" gem install jekyll
Jekyll で google-code-prettify
- 参考: fnordig.de
パーサーをkramdown
にして、行頭タブ(4
スペース)ブロックの直後に{:class="prettyprint"}
、または{:.prettyprint}
を追加
def parse_pre(lines) [%Q|#{lines.map {|line| "\t".concat(line) }.join("\n")}|, %Q|{:class="prettyprint"}|] end
### サンプルコード trayIcon.displayMessage("caption", "text", TrayIcon.MessageType.ERROR); {:class="prettyprint"}
結果
<h3 id="section">サンプルコード</h3>
<pre class="prettyprint"><code>trayIcon.displayMessage("caption", "text", TrayIcon.MessageType.ERROR);
</code></pre>
default.html
にprettify.js
, prettify.css
を追加
<link href="{{ ASSET_PATH }}/css/prettify.css" type="text/css" rel="stylesheet" /> </head> <body onload="prettyPrint()"> ... <script src="{{ ASSET_PATH }}/js/prettify.js"></script> </body>
redcarpet
markdown
のパーサーをredcarpet
に変更
# _config.yml markdown: redcarpet redcarpet: renderer: Redcarpet::Render::XHTML extensions: ["xhtml", "fenced_code_blocks", "strikethrough", "no_intra_emphasis", "lax_spacing"]
no_intra_emphasis
<pre><code>
の中でも、アンダーライン(例:InputMap im = combobox.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT);
)が、<em>...</em>
に変換されるので、no_intra_emphasis
で回避