«前の日記(2014-01-02) 最新 次の日記(2014-01-11)» 編集

会長@腹部日記


2014-01-10 [長年日記]

_ tDiaryで利用するRubyを2.1.0へ

メモ書き。ただただしさんのやり方メモより。

% gem li --no-versions > /tmp/gemlist
% cd ~/.rbenv
% git pull
% cd plugin/ruby-build
% git pull
% rbenv install 2.1.0
% rbenv global 2.1.0
% gem i `cat /tmp/gemlist`
% ruby -v

この後以下を行って終わり。

  • 1. apacheに参照させている日記ディレクトリのshebang行を編集
diff --git a/update.rb b/update.rb
index b5fafcc..3c71430 100755
--- a/update.rb
+++ b/update.rb
@@ -1,2 +1,2 @@
-#!/home/tamoot/.rbenv/versions/2.0.0-p247/bin/ruby
+#!/home/tamoot/.rbenv/versions/2.1.0/bin/ruby
 require '/home/tamoot/workspace/github/tdiary-core/update'
  • 2. ついでに github最新版ソースを git pull
  • 3. apache再起動
Tags: Ruby tDiary

_ シンタックスハイライトに CodeRayを利用する #tDiary プラグインをコミット

Redmineのパクリです。ふらーっとRedmineのソースを見て、cssに苦戦しながら作成してみました。せっかくなので公開Pygmentsにも依存しないので、Rubyのみという環境に優しいと思いますし、gistに貼るまでもないような場合にでもお使いください。

サンプル

 1require 'cgi'
 2require 'erb'
 3require 'coderay'
 4
 5@coderay_default_css ||= ::CodeRay::Encoders[:html]::CSS.new(:default).stylesheet
 6
 7def coderay(lang, text, options = {})
 8   html = ::CodeRay.scan(text, lang).html(:line_numbers => :inline, :bold_every => false, :line_number_anchors => false)
 9   %Q|<div class="CodeRay"><pre>#{html}</pre></div>|
10end
11
12add_header_proc do
13   coderay_css = ''
14   if @conf['coderay.css.url'] && @conf['coderay.css.url'].size > 0
15      coderay_css = %Q|<link rel="stylesheet" href="#{h @conf['coderay.css.url']}" type="text/css" media="all">|
16   else
17      coderay_css = <<-STYLE
18   <style type="text/css"><!--
19   #{@coderay_default_css}
20   -->
21   </style>
22STYLE
23   end
24
25   coderay_css
26end
27
28add_conf_proc( 'coderay', 'CodeRay' ) do
29   if @mode == 'saveconf' then
30      @conf['coderay.css.url'] = @cgi.params['coderay.css.url'][0]
31
32   end
33
34   coderay_conf = <<-HTML
35   <h3 class="subtitle">custom style</h3>
36
37   <p>The stylesheet path is used instead of CodeRay default. </p>
38   <p>Path: <input name="coderay.css.url" value="#{h @conf['coderay.css.url']}" size="70"></p>
39   <pre>
40   sample:
41   #{CGI::escape_html('<link rel="stylesheet" href="/your/tdiary/path/coderay.css" type="text/css" media="all">')}
42   </pre>
43
44
45   <h4>Print default stylesheet of CodeRay</h4>
46   <p>1. The coderay command installed along with the CodeRay gem can print out a stylesheet for you.</p>
47   <pre>
48   bundle exec coderay stylesheet > /your/tdiary/path/coderay.css
49   </pre>
50   <p>2. Edit your stylesheet and modify permissions.</p>
51
52   HTML
53
54   coderay_conf
55
56end

Tags: tDiary Ruby