zuntan02のはてなブログ

備忘録的なものです

AmazonLinuxに(Ruby2.2.10+)LodgeをインストールしようとしてMissing context keys for Qiita::Markdown::Filters

※Lodgeの最新のソースは
GitHub - lodge/lodge: イントラネット内で誰でも構築できる情報共有サービス
こっちっぽい。全文検索機能が付いているとのこと

qiita.com
こちらを参考に、Ruby 2.1.10(2.2/2.3ではまともに動作しない)にしてAmazonLinux/CentOS6にLodgeをインストールしたのだけど、記事を編集しようとすると以下のようなエラーになった

I, [2016-12-15T21:39:03.638825 #32611]  INFO -- : Completed 500 Internal Server Error in 51ms
F, [2016-12-15T21:39:03.643590 #32611] FATAL -- :
ActionView::Template::Error (Missing context keys for Qiita::Markdown::Filters::ExternalLink: :hostname):
    50:
    51:   <div class="panel-body markdown codehilite">
    52:     <%= markdown_toc(@article.body).html_safe %>
    53:     <%= markdown(@article.body).html_safe %>
    54:   </div>
    55: </div>
    56:
  app/helpers/application_helper.rb:7:in `markdown'
  app/views/articles/show.html.erb:53:in `_app_views_articles_show_html_erb__4348143116428474722_70048233651280'
  config/initializers/quiet_assets.rb:6:in `call_with_quiet_assets'

http://qiita.com/noraworld/items/5984cdad9e7feedab594
によればv0.15.0以降で動作が変わっていてhostnameオプションが増えているのだけど、Lodgeでは設定されていない模様

Qiita::MarkdownはGemfileで指定されているがバージョン指定がない

gem 'qiita-markdown'

バージョンが指定されていない。今はv0.16が入っていた。
qiita-markdownの古いバージョンが必要。

gem 'qiita-markdown', '~> 0.14.0'

としてbundle installすることで解決した。


メモまで。