tDiary を Rack 環境で動かす時に contrib の JavaScript も自動ロードする
いつも忘れるので自分用にメモ。tDiaryのJavaScriptやCSSがどのようにロードされるかという話。
CGI 環境
JavaScript は js フォルダ、 CSS は theme フォルダから読み込まれる。これは Web サーバのお仕事。
Rack 環境
JavaScriptとCSSは assets フォルダから読み込まれる。これは Rack ミドルウェア (Sprockets) のお仕事。このように、 config.ru で指定している。
map "#{base_dir}/assets" do
environment = Sprockets::Environment.new
%w(js theme).each {|path| environment.append_path path }
# if you need to auto compilation for CoffeeScript
# require 'tdiary/rack/assets/precompile'
# use TDiary::Rack::Assets::Precompile, environment
run environment
end
なので、 tdiary-contrib を使うときには、 config.ru を修正して contrib の JavaScript も自動ロードさせればよい。
@@ -21,7 +21,7 @@ end
map "#{base_dir}/assets" do
environment = Sprockets::Environment.new
- %w(js theme).each {|path| environment.append_path path }
+ %w(js theme ../tdiary-contrib/js).each {|path| environment.append_path path }
# if you need to auto compilation for CoffeeScript
# require 'tdiary/rack/assets/precompile'
※ ../tdiary-contrib/js
はフォルダ構成に合わせて指定すること。
こういう、 Rack 環境で tDiary を動かすときの Tips はどこかで整理したい。