Octopressへ絵文字の導入でjekyll-emoji と言うプラグインを入れてましたが、フィルターを使った導入はちょっと面倒があるので、 タグを使って書く octopress-gemoji というプラグインを作りました。
フィルター時の問題
1 2 |
|
といった感じでコンテンツにemojify
と言うフィルターをかけて
変換するのですが、このフィルターはcodeblock
等にも有無をいわさず適用されます。
raw
を使ってもそれより先にフィルターが適用されるので駄目です。
従って、codeblock
の中に:a:の様な物があるとの様に
コードの中で変更されてしまいます。
:
を:
で書いたりするとcodeblock
の中だとなんとかなったり
しますが、それでも上手く行かない部分があるのと
1、
コード内だと結構この様な場面があって気づかずに変換されてる事も多いのでやっぱり面倒です。
ということで、タグを使って書くプラグインを作りました。
octopress-gemoji導入
プラグインはGitHubにおいてあります。
のでcloneしたり中身を直接取ってきたりしてください。
$ git clone [email protected]:rcmdnk/octopress-gemoji.git
取ってきたら、まず、plugins/gemoji.rb
をplugins
へ、
また、sass/custom/_gemoji.scss
をsass/custom/
へコピー。
_gemoji.scss
をsass/custom/_styles.scss
で
@import "gemoji";
の様にimport。
さらに、_config.yml
へ
emoji_dir: /images/emoji
とemoji
の画像をインストールするディエレクトリを指定。
最後にGemfileへ
gem 'gemoji'
を加え
$ bundle install
を実行。
_gemoji.scss
の中ではemoji
クラスの指定がありますが、
これはjekyll-emojiでも使ってるもので、そちらを導入時に書いてあればそのまま使えます。
それ以降のemoji_dir
、gemoji
についても同様、
jekyll-emoji
用に入れてあれば再度設定する必要はありません。
使い方
タグを使って
{% gemoji smile %}
こんな感じで書けばと。使える絵文字は EMOJI CHEAT SHEET を参考に。
同じような感じのoctemojiという プラグインもありますが、こちらはemojiの種類が中にある物限定なので、 gemojiを使う octopress-gemoji の方が沢山種類があります。