rabbit 0.6.2 → 0.6.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/NEWS.en +83 -1
 - data/NEWS.ja +80 -1
 - data/README.en +3 -1
 - data/README.ja +3 -1
 - data/Rakefile +2 -0
 - data/TODO +1 -0
 - data/bin/rabbit +8 -0
 - data/data/rabbit/image/rabbit-images/mini-butler-rabbit.png +0 -0
 - data/lib/rabbit/canvas.rb +9 -1
 - data/lib/rabbit/cursor-manager.rb +1 -1
 - data/lib/rabbit/element/tag.rb +10 -0
 - data/lib/rabbit/html/generator.rb +8 -3
 - data/lib/rabbit/parser/rd.rb +2 -0
 - data/lib/rabbit/parser/rd/ext/inline-verbatim.rb +12 -0
 - data/lib/rabbit/parser/wiki/output.rb +2 -2
 - data/lib/rabbit/rabbit.rb +1 -1
 - data/lib/rabbit/renderer/base.rb +2 -0
 - data/lib/rabbit/renderer/display/button-handler.rb +11 -6
 - data/lib/rabbit/renderer/display/clutter-embed.rb +1 -0
 - data/lib/rabbit/renderer/display/drawing-area-primitive.rb +1 -0
 - data/lib/rabbit/renderer/display/drawing-area-view-only.rb +0 -4
 - data/lib/rabbit/renderer/display/drawing-area.rb +0 -4
 - data/lib/rabbit/renderer/engine/cairo.rb +6 -1
 - data/lib/rabbit/renderer/engine/gdk.rb +1 -0
 - data/lib/rabbit/renderer/kernel.rb +0 -1
 - data/lib/rabbit/source/base.rb +4 -2
 - data/lib/rabbit/theme/blue-bar/blue-bar.rb +0 -2
 - data/lib/rabbit/theme/clear-blue/clear-blue.rb +1 -2
 - data/lib/rabbit/theme/default-block-quote/default-block-quote.rb +33 -16
 - data/lib/rabbit/theme/default-item-mark/default-item-mark.rb +13 -1
 - data/lib/rabbit/theme/default-preformatted/default-preformatted.rb +5 -1
 - data/lib/rabbit/theme/default-text/default-text.rb +8 -0
 - data/lib/rabbit/theme/edge-info-toolkit/edge-info-toolkit.rb +2 -2
 - data/lib/rabbit/theme/lightning-monochrome/lightning-monochrome.rb +16 -0
 - data/lib/rabbit/theme/lightning-monochrome/property.rb +3 -0
 - data/lib/rabbit/theme/lightning-talk/lightning-talk.rb +1 -0
 - data/lib/rabbit/theme/newline-in-slides/newline-in-slides.rb +27 -1
 - data/lib/rabbit/theme/slide-footer-info/slide-footer-info.rb +3 -0
 - data/lib/rabbit/utils.rb +12 -6
 - data/misc/update-rd.rb +2 -0
 - metadata +16 -3
 
    
        data/NEWS.en
    CHANGED
    
    | 
         @@ -2,7 +2,89 @@ 
     | 
|
| 
       2 
2 
     | 
    
         | 
| 
       3 
3 
     | 
    
         
             
            = NEWS.en
         
     | 
| 
       4 
4 
     | 
    
         | 
| 
       5 
     | 
    
         
            -
            $Id: NEWS.en  
     | 
| 
      
 5 
     | 
    
         
            +
            $Id: NEWS.en 1331 2009-12-16 13:09:53Z kou $
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
            == Changes 0.6.3 from 0.6.2: 2009-12-16
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
      
 9 
     | 
    
         
            +
            === Improvements
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
              * [#180] Supported inline markup in DL with Wiki format.
         
     | 
| 
      
 12 
     | 
    
         
            +
                [kdmsnr]
         
     | 
| 
      
 13 
     | 
    
         
            +
              * Added butler rabbit to the standard theme.
         
     | 
| 
      
 14 
     | 
    
         
            +
              * Changed to use scaled images by default even when
         
     | 
| 
      
 15 
     | 
    
         
            +
                printing mode.
         
     | 
| 
      
 16 
     | 
    
         
            +
              * Supported pixbuf rendering with alpha channel.
         
     | 
| 
      
 17 
     | 
    
         
            +
                (when cairo is used as rendering engine)
         
     | 
| 
      
 18 
     | 
    
         
            +
             
     | 
| 
      
 19 
     | 
    
         
            +
            ==== Theme
         
     | 
| 
      
 20 
     | 
    
         
            +
             
     | 
| 
      
 21 
     | 
    
         
            +
              * Added:
         
     | 
| 
      
 22 
     | 
    
         
            +
                * lightning-monochrome:
         
     | 
| 
      
 23 
     | 
    
         
            +
                  Takahashi method slide + monochrome normal slide
         
     | 
| 
      
 24 
     | 
    
         
            +
              * Changed:
         
     | 
| 
      
 25 
     | 
    
         
            +
                * default-block-quote: Added
         
     | 
| 
      
 26 
     | 
    
         
            +
                  @block_quote_image_background_alpha parameter that
         
     | 
| 
      
 27 
     | 
    
         
            +
                  specifies alpha channel of background images.
         
     | 
| 
      
 28 
     | 
    
         
            +
                * default-preformatted: Made auto text size adjustment
         
     | 
| 
      
 29 
     | 
    
         
            +
                  optional. It is customized by
         
     | 
| 
      
 30 
     | 
    
         
            +
                  @preformatted_keep_in_size parameter.
         
     | 
| 
      
 31 
     | 
    
         
            +
                * clear-blue: Displayed title in the left bottom by
         
     | 
| 
      
 32 
     | 
    
         
            +
                  default. It can be disabled by the following theme:
         
     | 
| 
      
 33 
     | 
    
         
            +
                    include_theme("clear-blue")
         
     | 
| 
      
 34 
     | 
    
         
            +
                    @slide_footer_info_left_text = ""
         
     | 
| 
      
 35 
     | 
    
         
            +
              * Supported nest of "itemize > enum" and
         
     | 
| 
      
 36 
     | 
    
         
            +
                "itemize > itemize > enum".
         
     | 
| 
      
 37 
     | 
    
         
            +
             
     | 
| 
      
 38 
     | 
    
         
            +
            ==== Experimental
         
     | 
| 
      
 39 
     | 
    
         
            +
             
     | 
| 
      
 40 
     | 
    
         
            +
            ((*This maybe changed in the feature.*))
         
     | 
| 
      
 41 
     | 
    
         
            +
             
     | 
| 
      
 42 
     | 
    
         
            +
              * Supported tag:
         
     | 
| 
      
 43 
     | 
    
         
            +
             
     | 
| 
      
 44 
     | 
    
         
            +
                syntax:
         
     | 
| 
      
 45 
     | 
    
         
            +
                  (('tag:name:content'))
         
     | 
| 
      
 46 
     | 
    
         
            +
                or
         
     | 
| 
      
 47 
     | 
    
         
            +
                  (('tag:name'))content
         
     | 
| 
      
 48 
     | 
    
         
            +
             
     | 
| 
      
 49 
     | 
    
         
            +
                e.g.:
         
     | 
| 
      
 50 
     | 
    
         
            +
                  slide.rab:
         
     | 
| 
      
 51 
     | 
    
         
            +
                    (('tag:center'))Hi, look it!
         
     | 
| 
      
 52 
     | 
    
         
            +
             
     | 
| 
      
 53 
     | 
    
         
            +
                  theme.rb:
         
     | 
| 
      
 54 
     | 
    
         
            +
                    match("**", CustomTag) do |tags|
         
     | 
| 
      
 55 
     | 
    
         
            +
                      tags.each do |tag|
         
     | 
| 
      
 56 
     | 
    
         
            +
                        case tag.name
         
     | 
| 
      
 57 
     | 
    
         
            +
                        when "center"
         
     | 
| 
      
 58 
     | 
    
         
            +
                          tag.parent.horizontal_centering = true
         
     | 
| 
      
 59 
     | 
    
         
            +
                        end
         
     | 
| 
      
 60 
     | 
    
         
            +
                      end
         
     | 
| 
      
 61 
     | 
    
         
            +
                    end
         
     | 
| 
      
 62 
     | 
    
         
            +
             
     | 
| 
      
 63 
     | 
    
         
            +
                  output(before):
         
     | 
| 
      
 64 
     | 
    
         
            +
                    +-------------------+
         
     | 
| 
      
 65 
     | 
    
         
            +
                    | Hi, look it!      |
         
     | 
| 
      
 66 
     | 
    
         
            +
                    +-------------------+
         
     | 
| 
      
 67 
     | 
    
         
            +
             
     | 
| 
      
 68 
     | 
    
         
            +
                  output(after):
         
     | 
| 
      
 69 
     | 
    
         
            +
                    +-------------------+
         
     | 
| 
      
 70 
     | 
    
         
            +
                    |    Hi, look it!   |
         
     | 
| 
      
 71 
     | 
    
         
            +
                    +-------------------+
         
     | 
| 
      
 72 
     | 
    
         
            +
             
     | 
| 
      
 73 
     | 
    
         
            +
            === Fixes
         
     | 
| 
      
 74 
     | 
    
         
            +
             
     | 
| 
      
 75 
     | 
    
         
            +
              * Fixed a problem that fullscreen doesn't work on Ruby 1.9
         
     | 
| 
      
 76 
     | 
    
         
            +
                [Masaki Suketa]
         
     | 
| 
      
 77 
     | 
    
         
            +
              * [#179] Fixed a problem that Rabbit sometimes crashes
         
     | 
| 
      
 78 
     | 
    
         
            +
                with mouse clicks. [kdmsnr]
         
     | 
| 
      
 79 
     | 
    
         
            +
              * newline-in-slides theme: Disabled newline substitution in
         
     | 
| 
      
 80 
     | 
    
         
            +
                preformatted text.
         
     | 
| 
      
 81 
     | 
    
         
            +
              * Fixed a problem that cursor isn't displayed after
         
     | 
| 
      
 82 
     | 
    
         
            +
                unfullscreen.
         
     | 
| 
      
 83 
     | 
    
         
            +
             
     | 
| 
      
 84 
     | 
    
         
            +
            === Thanks
         
     | 
| 
      
 85 
     | 
    
         
            +
             
     | 
| 
      
 86 
     | 
    
         
            +
              * Masaki Suketa
         
     | 
| 
      
 87 
     | 
    
         
            +
              * kdmsnr
         
     | 
| 
       6 
88 
     | 
    
         | 
| 
       7 
89 
     | 
    
         
             
            == Changes 0.6.2 from 0.6.1: 2009-10-03
         
     | 
| 
       8 
90 
     | 
    
         | 
    
        data/NEWS.ja
    CHANGED
    
    | 
         @@ -2,7 +2,86 @@ 
     | 
|
| 
       2 
2 
     | 
    
         | 
| 
       3 
3 
     | 
    
         
             
            = NEWS.ja
         
     | 
| 
       4 
4 
     | 
    
         | 
| 
       5 
     | 
    
         
            -
            $Id: NEWS.ja  
     | 
| 
      
 5 
     | 
    
         
            +
            $Id: NEWS.ja 1330 2009-12-16 13:07:47Z kou $
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
            == 0.6.2から0.6.3の変更点: 2009-12-16
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
      
 9 
     | 
    
         
            +
            === 改良
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
              * [#180] Wikiフォーマットの定義リスト内でインラインマーク
         
     | 
| 
      
 12 
     | 
    
         
            +
                アップが効かない問題を修正。
         
     | 
| 
      
 13 
     | 
    
         
            +
                [kdmsnrさん]
         
     | 
| 
      
 14 
     | 
    
         
            +
              * 執事うさぎを標準テーマに追加。
         
     | 
| 
      
 15 
     | 
    
         
            +
              * 印刷時でもデフォルトでは拡大・縮小後の画像を使用。
         
     | 
| 
      
 16 
     | 
    
         
            +
              * アルファチャンネル付きのpixbufレンダリング対応。
         
     | 
| 
      
 17 
     | 
    
         
            +
                (cairoレンダリングエンジン使用時)
         
     | 
| 
      
 18 
     | 
    
         
            +
             
     | 
| 
      
 19 
     | 
    
         
            +
            ==== テーマ
         
     | 
| 
      
 20 
     | 
    
         
            +
             
     | 
| 
      
 21 
     | 
    
         
            +
              * 追加
         
     | 
| 
      
 22 
     | 
    
         
            +
                * lightning-monochrome:
         
     | 
| 
      
 23 
     | 
    
         
            +
                  高橋メソッドスライド + モノクロな通常スライド
         
     | 
| 
      
 24 
     | 
    
         
            +
              * 変更
         
     | 
| 
      
 25 
     | 
    
         
            +
                * default-block-quote: 背景画像の透明度を指定する
         
     | 
| 
      
 26 
     | 
    
         
            +
                  @block_quote_image_background_alphaパラメーターを追加。
         
     | 
| 
      
 27 
     | 
    
         
            +
                * default-preformatted: テキストの自動サイズ調整をカスタ
         
     | 
| 
      
 28 
     | 
    
         
            +
                  マイズできるようにした。@preformatted_keep_in_sizeパラ
         
     | 
| 
      
 29 
     | 
    
         
            +
                  メータで変更可能。
         
     | 
| 
      
 30 
     | 
    
         
            +
                * clear-blue: デフォルトで左下にタイトルを表示するように
         
     | 
| 
      
 31 
     | 
    
         
            +
                  変更。無効にする場合は以下を追加するとよい。
         
     | 
| 
      
 32 
     | 
    
         
            +
                    include_theme("clear-blue")
         
     | 
| 
      
 33 
     | 
    
         
            +
                    @slide_footer_info_left_text = ""
         
     | 
| 
      
 34 
     | 
    
         
            +
              * 箇条書きと列挙のネスト"itemize > enum"と
         
     | 
| 
      
 35 
     | 
    
         
            +
                "itemize > itemize > enum"に対応
         
     | 
| 
      
 36 
     | 
    
         
            +
             
     | 
| 
      
 37 
     | 
    
         
            +
            ==== 実験的
         
     | 
| 
      
 38 
     | 
    
         
            +
             
     | 
| 
      
 39 
     | 
    
         
            +
            ((*変更される可能性があります。*))
         
     | 
| 
      
 40 
     | 
    
         
            +
             
     | 
| 
      
 41 
     | 
    
         
            +
              * タグのサポート
         
     | 
| 
      
 42 
     | 
    
         
            +
             
     | 
| 
      
 43 
     | 
    
         
            +
                構文:
         
     | 
| 
      
 44 
     | 
    
         
            +
                  (('tag:name:内容'))
         
     | 
| 
      
 45 
     | 
    
         
            +
                または
         
     | 
| 
      
 46 
     | 
    
         
            +
                  (('tag:name'))内容
         
     | 
| 
      
 47 
     | 
    
         
            +
             
     | 
| 
      
 48 
     | 
    
         
            +
                例:
         
     | 
| 
      
 49 
     | 
    
         
            +
                  slide.rab:
         
     | 
| 
      
 50 
     | 
    
         
            +
                    (('tag:center'))どうもどうも
         
     | 
| 
      
 51 
     | 
    
         
            +
             
     | 
| 
      
 52 
     | 
    
         
            +
                  theme.rb:
         
     | 
| 
      
 53 
     | 
    
         
            +
                    match("**", CustomTag) do |tags|
         
     | 
| 
      
 54 
     | 
    
         
            +
                      tags.each do |tag|
         
     | 
| 
      
 55 
     | 
    
         
            +
                        case tag.name
         
     | 
| 
      
 56 
     | 
    
         
            +
                        when "center"
         
     | 
| 
      
 57 
     | 
    
         
            +
                          tag.parent.horizontal_centering = true
         
     | 
| 
      
 58 
     | 
    
         
            +
                        end
         
     | 
| 
      
 59 
     | 
    
         
            +
                      end
         
     | 
| 
      
 60 
     | 
    
         
            +
                    end
         
     | 
| 
      
 61 
     | 
    
         
            +
             
     | 
| 
      
 62 
     | 
    
         
            +
                出力(テーマ適用前):
         
     | 
| 
      
 63 
     | 
    
         
            +
                  +-------------------+
         
     | 
| 
      
 64 
     | 
    
         
            +
                  | どうもどうも      |
         
     | 
| 
      
 65 
     | 
    
         
            +
                  +-------------------+
         
     | 
| 
      
 66 
     | 
    
         
            +
             
     | 
| 
      
 67 
     | 
    
         
            +
                出力(テーマ適用後):
         
     | 
| 
      
 68 
     | 
    
         
            +
                  +-------------------+
         
     | 
| 
      
 69 
     | 
    
         
            +
                  |   どうもどうも    |
         
     | 
| 
      
 70 
     | 
    
         
            +
                  +-------------------+
         
     | 
| 
      
 71 
     | 
    
         
            +
             
     | 
| 
      
 72 
     | 
    
         
            +
            === 修正
         
     | 
| 
      
 73 
     | 
    
         
            +
             
     | 
| 
      
 74 
     | 
    
         
            +
              * Ruby 1.9でフルスクリーンが動かない問題を修正 [助田さん]
         
     | 
| 
      
 75 
     | 
    
         
            +
              * [#179] マウス使用時にクラッシュすることがある問題を修正
         
     | 
| 
      
 76 
     | 
    
         
            +
                [kdmsnrさん]
         
     | 
| 
      
 77 
     | 
    
         
            +
              * newline-in-slidesテーマ: 整形済みテキストでは改行を置換
         
     | 
| 
      
 78 
     | 
    
         
            +
                しないようにした。
         
     | 
| 
      
 79 
     | 
    
         
            +
              * フルスクリーン解除時にカーソルが表示されない問題を修正
         
     | 
| 
      
 80 
     | 
    
         
            +
             
     | 
| 
      
 81 
     | 
    
         
            +
            === 感謝
         
     | 
| 
      
 82 
     | 
    
         
            +
             
     | 
| 
      
 83 
     | 
    
         
            +
              * 助田さん
         
     | 
| 
      
 84 
     | 
    
         
            +
              * kdmsnrさん
         
     | 
| 
       6 
85 
     | 
    
         | 
| 
       7 
86 
     | 
    
         
             
            == 0.6.1から0.6.2の変更点: 2009-10-03
         
     | 
| 
       8 
87 
     | 
    
         | 
    
        data/README.en
    CHANGED
    
    | 
         @@ -2,7 +2,7 @@ 
     | 
|
| 
       2 
2 
     | 
    
         | 
| 
       3 
3 
     | 
    
         
             
            = README.en
         
     | 
| 
       4 
4 
     | 
    
         | 
| 
       5 
     | 
    
         
            -
            $Id: README.en  
     | 
| 
      
 5 
     | 
    
         
            +
            $Id: README.en 1309 2009-10-17 09:18:27Z kou $
         
     | 
| 
       6 
6 
     | 
    
         | 
| 
       7 
7 
     | 
    
         
             
            == Name
         
     | 
| 
       8 
8 
     | 
    
         | 
| 
         @@ -834,3 +834,5 @@ page from XXX.rd. 
     | 
|
| 
       834 
834 
     | 
    
         
             
              * JunichiNakai: Reports bugs.
         
     | 
| 
       835 
835 
     | 
    
         
             
              * Eduardo Gonzalez: Improves documents in English.
         
     | 
| 
       836 
836 
     | 
    
         
             
              * Kazuhiro NISHIYAMA: Reported a bug.
         
     | 
| 
      
 837 
     | 
    
         
            +
              * Masaki Suketa: Reported bugs related Ruby 1.9.
         
     | 
| 
      
 838 
     | 
    
         
            +
              * kdmsnr: Reported a bug.
         
     | 
    
        data/README.ja
    CHANGED
    
    | 
         @@ -2,7 +2,7 @@ 
     | 
|
| 
       2 
2 
     | 
    
         | 
| 
       3 
3 
     | 
    
         
             
            = README.ja
         
     | 
| 
       4 
4 
     | 
    
         | 
| 
       5 
     | 
    
         
            -
            $Id: README.ja  
     | 
| 
      
 5 
     | 
    
         
            +
            $Id: README.ja 1309 2009-10-17 09:18:27Z kou $
         
     | 
| 
       6 
6 
     | 
    
         | 
| 
       7 
7 
     | 
    
         
             
            == 名前
         
     | 
| 
       8 
8 
     | 
    
         | 
| 
         @@ -869,3 +869,5 @@ XXX.rdから1ページに8枚のスライドが入ったPDF(XXX_multi.pdf) 
     | 
|
| 
       869 
869 
     | 
    
         
             
              * Eduardo Gonzalezさん: 英語のドキュメントをよくしてくれま
         
     | 
| 
       870 
870 
     | 
    
         
             
                した。
         
     | 
| 
       871 
871 
     | 
    
         
             
              * 西山さん: バグレポートしてくれました。
         
     | 
| 
      
 872 
     | 
    
         
            +
              * 助田さん: Ruby 1.9関連のバグを報告してくれました。
         
     | 
| 
      
 873 
     | 
    
         
            +
              * kdmsnrさん: バグレポートしてくれました。
         
     | 
    
        data/Rakefile
    CHANGED
    
    | 
         @@ -61,10 +61,12 @@ project = Hoe.spec('rabbit') do 
     | 
|
| 
       61 
61 
     | 
    
         
             
              self.test_globs = ['test/test_*.rb']
         
     | 
| 
       62 
62 
     | 
    
         
             
              self.changes = File.read('NEWS.en').split(/^== /)[1].gsub(/^==/, '').strip
         
     | 
| 
       63 
63 
     | 
    
         
             
              self.extra_deps = [
         
     | 
| 
      
 64 
     | 
    
         
            +
                                 ['cairo'],
         
     | 
| 
       64 
65 
     | 
    
         
             
                                 ['hikidoc'],
         
     | 
| 
       65 
66 
     | 
    
         
             
                                 # ['gettext'],
         
     | 
| 
       66 
67 
     | 
    
         
             
                                ]
         
     | 
| 
       67 
68 
     | 
    
         
             
              self.description = self.summary # FIXME
         
     | 
| 
      
 69 
     | 
    
         
            +
              self.need_tar = false
         
     | 
| 
       68 
70 
     | 
    
         
             
            end
         
     | 
| 
       69 
71 
     | 
    
         | 
| 
       70 
72 
     | 
    
         
             
            rule '.png' => ['.svg'] do |t|
         
     | 
    
        data/TODO
    CHANGED
    
    
    
        data/bin/rabbit
    CHANGED
    
    | 
         @@ -32,6 +32,7 @@ def parse_args(args=ARGV, logger=nil) 
     | 
|
| 
       32 
32 
     | 
    
         
             
                options.print = false
         
     | 
| 
       33 
33 
     | 
    
         
             
                options.print_out_filename = nil
         
     | 
| 
       34 
34 
     | 
    
         
             
                options.slides_per_page = 1
         
     | 
| 
      
 35 
     | 
    
         
            +
                options.draw_scaled_image = true
         
     | 
| 
       35 
36 
     | 
    
         
             
                options.margin_left = nil
         
     | 
| 
       36 
37 
     | 
    
         
             
                options.margin_right = nil
         
     | 
| 
       37 
38 
     | 
    
         
             
                options.margin_top = nil
         
     | 
| 
         @@ -228,6 +229,12 @@ def parse_args(args=ARGV, logger=nil) 
     | 
|
| 
       228 
229 
     | 
    
         
             
                  options.slides_per_page = slides
         
     | 
| 
       229 
230 
     | 
    
         
             
                end
         
     | 
| 
       230 
231 
     | 
    
         | 
| 
      
 232 
     | 
    
         
            +
                opts.on("--[no-]draw-scaled-image",
         
     | 
| 
      
 233 
     | 
    
         
            +
                        _("Draw scaled image."),
         
     | 
| 
      
 234 
     | 
    
         
            +
                        _("Better look for displaying but lesser look for printing."),
         
     | 
| 
      
 235 
     | 
    
         
            +
                        "(#{options.draw_scaled_image})") do |boolean|
         
     | 
| 
      
 236 
     | 
    
         
            +
                  options.draw_scaled_image = boolean
         
     | 
| 
      
 237 
     | 
    
         
            +
                end
         
     | 
| 
       231 
238 
     | 
    
         | 
| 
       232 
239 
     | 
    
         
             
                opts.category _("Paper")
         
     | 
| 
       233 
240 
     | 
    
         | 
| 
         @@ -555,6 +562,7 @@ end 
     | 
|
| 
       555 
562 
     | 
    
         
             
            def setup_print_info(target, options)
         
     | 
| 
       556 
563 
     | 
    
         
             
              target.filename = options.print_out_filename
         
     | 
| 
       557 
564 
     | 
    
         
             
              target.slides_per_page = options.slides_per_page
         
     | 
| 
      
 565 
     | 
    
         
            +
              target.draw_scaled_image = options.draw_scaled_image
         
     | 
| 
       558 
566 
     | 
    
         
             
            end
         
     | 
| 
       559 
567 
     | 
    
         | 
| 
       560 
568 
     | 
    
         
             
            def setup_size(target, options)
         
     | 
| 
         Binary file 
     | 
    
        data/lib/rabbit/canvas.rb
    CHANGED
    
    | 
         @@ -1,6 +1,5 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            require "forwardable"
         
     | 
| 
       2 
2 
     | 
    
         
             
            require "gtk2"
         
     | 
| 
       3 
     | 
    
         
            -
            require "rd/rdfmt"
         
     | 
| 
       4 
3 
     | 
    
         | 
| 
       5 
4 
     | 
    
         
             
            require "rabbit/rabbit"
         
     | 
| 
       6 
5 
     | 
    
         
             
            require 'rabbit/frame'
         
     | 
| 
         @@ -119,6 +118,8 @@ module Rabbit 
     | 
|
| 
       119 
118 
     | 
    
         | 
| 
       120 
119 
     | 
    
         
             
                def_delegators(:@renderer, :search_slide, :stop_slide_search, :searching?)
         
     | 
| 
       121 
120 
     | 
    
         | 
| 
      
 121 
     | 
    
         
            +
                def_delegators(:@renderer, :draw_scaled_image, :draw_scaled_image=)
         
     | 
| 
      
 122 
     | 
    
         
            +
             
     | 
| 
       122 
123 
     | 
    
         
             
                def_delegators(:@source, :source=, :reset, :base)
         
     | 
| 
       123 
124 
     | 
    
         | 
| 
       124 
125 
     | 
    
         
             
                attr_reader :logger, :renderer, :last_modified
         
     | 
| 
         @@ -211,6 +212,13 @@ module Rabbit 
     | 
|
| 
       211 
212 
     | 
    
         
             
                  end
         
     | 
| 
       212 
213 
     | 
    
         
             
                end
         
     | 
| 
       213 
214 
     | 
    
         | 
| 
      
 215 
     | 
    
         
            +
                def slide_text(index=current_index)
         
     | 
| 
      
 216 
     | 
    
         
            +
                  return "" if slides.empty?
         
     | 
| 
      
 217 
     | 
    
         
            +
                  slide = slides[index]
         
     | 
| 
      
 218 
     | 
    
         
            +
                  return "" if slide.nil?
         
     | 
| 
      
 219 
     | 
    
         
            +
                  slide.text.strip
         
     | 
| 
      
 220 
     | 
    
         
            +
                end
         
     | 
| 
      
 221 
     | 
    
         
            +
             
     | 
| 
       214 
222 
     | 
    
         
             
                def slides
         
     | 
| 
       215 
223 
     | 
    
         
             
                  if @index_mode
         
     | 
| 
       216 
224 
     | 
    
         
             
                    @index_slides
         
     | 
    
        data/lib/rabbit/element/tag.rb
    CHANGED
    
    
| 
         @@ -165,7 +165,7 @@ module Rabbit 
     | 
|
| 
       165 
165 
     | 
    
         
             
                        output_html(filename) if output_html?
         
     | 
| 
       166 
166 
     | 
    
         
             
                        if rss_available?
         
     | 
| 
       167 
167 
     | 
    
         
             
                          @rss_info << [filename, slide_title(slide_number),
         
     | 
| 
       168 
     | 
    
         
            -
                                        @slide. 
     | 
| 
      
 168 
     | 
    
         
            +
                                        @slide.text, @slide.to_html(self)]
         
     | 
| 
       169 
169 
     | 
    
         
             
                        end
         
     | 
| 
       170 
170 
     | 
    
         
             
                      end
         
     | 
| 
       171 
171 
     | 
    
         
             
                    end
         
     | 
| 
         @@ -179,7 +179,7 @@ module Rabbit 
     | 
|
| 
       179 
179 
     | 
    
         
             
                        output_html(filename) if output_index_html?
         
     | 
| 
       180 
180 
     | 
    
         
             
                        if rss_available?
         
     | 
| 
       181 
181 
     | 
    
         
             
                          @rss_info << [filename, slide_title(slide_number),
         
     | 
| 
       182 
     | 
    
         
            -
                                        @slide. 
     | 
| 
      
 182 
     | 
    
         
            +
                                        @slide.text, @slide_index_html]
         
     | 
| 
       183 
183 
     | 
    
         
             
                        end
         
     | 
| 
       184 
184 
     | 
    
         
             
                        @slide_index_html = nil
         
     | 
| 
       185 
185 
     | 
    
         
             
                      end
         
     | 
| 
         @@ -286,7 +286,8 @@ module Rabbit 
     | 
|
| 
       286 
286 
     | 
    
         | 
| 
       287 
287 
     | 
    
         
             
                  def slide_image(slide_number=@slide_number)
         
     | 
| 
       288 
288 
     | 
    
         
             
                    src = image_src(slide_number)
         
     | 
| 
       289 
     | 
    
         
            -
                    img = "<img title=\"#{image_title(slide_number)}\"  
     | 
| 
      
 289 
     | 
    
         
            +
                    img = "<img title=\"#{image_title(slide_number)}\" " +
         
     | 
| 
      
 290 
     | 
    
         
            +
                      "src=\"#{src}\" alt=\"#{h(slide_text(slide_number))}\" />"
         
     | 
| 
       290 
291 
     | 
    
         
             
                    if last_slide?(slide_number)
         
     | 
| 
       291 
292 
     | 
    
         
             
                      img
         
     | 
| 
       292 
293 
     | 
    
         
             
                    else
         
     | 
| 
         @@ -295,6 +296,10 @@ module Rabbit 
     | 
|
| 
       295 
296 
     | 
    
         
             
                    end
         
     | 
| 
       296 
297 
     | 
    
         
             
                  end
         
     | 
| 
       297 
298 
     | 
    
         | 
| 
      
 299 
     | 
    
         
            +
                  def slide_text(slide_number=@slide_number)
         
     | 
| 
      
 300 
     | 
    
         
            +
                    @canvas.slide_text(slide_number)
         
     | 
| 
      
 301 
     | 
    
         
            +
                  end
         
     | 
| 
      
 302 
     | 
    
         
            +
             
     | 
| 
       298 
303 
     | 
    
         
             
                  def first_slide?(slide_number=@slide_number)
         
     | 
| 
       299 
304 
     | 
    
         
             
                    slide_number.zero?
         
     | 
| 
       300 
305 
     | 
    
         
             
                  end
         
     | 
    
        data/lib/rabbit/parser/rd.rb
    CHANGED
    
    
| 
         @@ -82,6 +82,18 @@ module Rabbit 
     | 
|
| 
       82 
82 
     | 
    
         
             
                        return nil unless /^wait$/ =~ label
         
     | 
| 
       83 
83 
     | 
    
         
             
                        WaitTag.new
         
     | 
| 
       84 
84 
     | 
    
         
             
                      end
         
     | 
| 
      
 85 
     | 
    
         
            +
             
     | 
| 
      
 86 
     | 
    
         
            +
                      def ext_inline_verb_tag(label, source, content, visitor)
         
     | 
| 
      
 87 
     | 
    
         
            +
                        label = label.to_s
         
     | 
| 
      
 88 
     | 
    
         
            +
                        return nil unless /^tag:(.+?)(?::(.+))?$/ =~ label
         
     | 
| 
      
 89 
     | 
    
         
            +
                        name = $1
         
     | 
| 
      
 90 
     | 
    
         
            +
                        content = $2
         
     | 
| 
      
 91 
     | 
    
         
            +
                        if content
         
     | 
| 
      
 92 
     | 
    
         
            +
                          CustomTag.new(name, Text.new(visitor.apply_to_String(content)))
         
     | 
| 
      
 93 
     | 
    
         
            +
                        else
         
     | 
| 
      
 94 
     | 
    
         
            +
                          CustomTag.new(name)
         
     | 
| 
      
 95 
     | 
    
         
            +
                        end
         
     | 
| 
      
 96 
     | 
    
         
            +
                      end
         
     | 
| 
       85 
97 
     | 
    
         
             
                    end
         
     | 
| 
       86 
98 
     | 
    
         
             
                  end
         
     | 
| 
       87 
99 
     | 
    
         
             
                end
         
     | 
| 
         @@ -176,8 +176,8 @@ module Rabbit 
     | 
|
| 
       176 
176 
     | 
    
         
             
                      else
         
     | 
| 
       177 
177 
     | 
    
         
             
                        return unless @parent
         
     | 
| 
       178 
178 
     | 
    
         | 
| 
       179 
     | 
    
         
            -
                        desc_term = DescriptionTerm.new(Paragraph.new(dt))
         
     | 
| 
       180 
     | 
    
         
            -
                        desc_content = DescriptionContent.new(Paragraph.new(dd))
         
     | 
| 
      
 179 
     | 
    
         
            +
                        desc_term = DescriptionTerm.new(Paragraph.new(dt.flatten))
         
     | 
| 
      
 180 
     | 
    
         
            +
                        desc_content = DescriptionContent.new(Paragraph.new(dd.flatten))
         
     | 
| 
       181 
181 
     | 
    
         
             
                        @parent << DescriptionListItem.new(desc_term, desc_content)
         
     | 
| 
       182 
182 
     | 
    
         
             
                      end
         
     | 
| 
       183 
183 
     | 
    
         
             
                    end
         
     | 
    
        data/lib/rabbit/rabbit.rb
    CHANGED
    
    
    
        data/lib/rabbit/renderer/base.rb
    CHANGED
    
    | 
         @@ -35,6 +35,7 @@ module Rabbit 
     | 
|
| 
       35 
35 
     | 
    
         
             
                  attr_accessor :adjustment_x, :adjustment_y
         
     | 
| 
       36 
36 
     | 
    
         
             
                  attr_accessor :graffiti_color, :graffiti_line_width
         
     | 
| 
       37 
37 
     | 
    
         
             
                  attr_accessor :gl_scale, :gl_quaternion
         
     | 
| 
      
 38 
     | 
    
         
            +
                  attr_accessor :draw_scaled_image
         
     | 
| 
       38 
39 
     | 
    
         
             
                  attr_writer :page_margin_left, :page_margin_right
         
     | 
| 
       39 
40 
     | 
    
         
             
                  attr_writer :page_margin_top, :page_margin_bottom
         
     | 
| 
       40 
41 
     | 
    
         | 
| 
         @@ -62,6 +63,7 @@ module Rabbit 
     | 
|
| 
       62 
63 
     | 
    
         
             
                    @progress_background = nil
         
     | 
| 
       63 
64 
     | 
    
         
             
                    @graffiti_color = nil
         
     | 
| 
       64 
65 
     | 
    
         
             
                    @graffiti_line_width = nil
         
     | 
| 
      
 66 
     | 
    
         
            +
                    @draw_scaled_image = true
         
     | 
| 
       65 
67 
     | 
    
         
             
                    clean
         
     | 
| 
       66 
68 
     | 
    
         
             
                    init_hook_procs
         
     | 
| 
       67 
69 
     | 
    
         
             
                    init_dpi
         
     | 
| 
         @@ -29,14 +29,19 @@ module Rabbit 
     | 
|
| 
       29 
29 
     | 
    
         
             
                      end
         
     | 
| 
       30 
30 
     | 
    
         | 
| 
       31 
31 
     | 
    
         
             
                      widget.signal_connect("button_release_event") do |_widget, event|
         
     | 
| 
       32 
     | 
    
         
            -
                         
     | 
| 
       33 
     | 
    
         
            -
             
     | 
| 
       34 
     | 
    
         
            -
             
     | 
| 
       35 
     | 
    
         
            -
                           
     | 
| 
      
 32 
     | 
    
         
            +
                        if last_button_press_event
         
     | 
| 
      
 33 
     | 
    
         
            +
                          handled = call_hook_procs(@button_release_hook_procs,
         
     | 
| 
      
 34 
     | 
    
         
            +
                                                    event, last_button_press_event)
         
     | 
| 
      
 35 
     | 
    
         
            +
                          if handled
         
     | 
| 
      
 36 
     | 
    
         
            +
                            clear_button_handler
         
     | 
| 
      
 37 
     | 
    
         
            +
                          else
         
     | 
| 
      
 38 
     | 
    
         
            +
                            handled = handle_button_release(event, last_button_press_event)
         
     | 
| 
      
 39 
     | 
    
         
            +
                          end
         
     | 
| 
      
 40 
     | 
    
         
            +
                          handled
         
     | 
| 
       36 
41 
     | 
    
         
             
                        else
         
     | 
| 
       37 
     | 
    
         
            -
                           
     | 
| 
      
 42 
     | 
    
         
            +
                          clear_button_handler
         
     | 
| 
      
 43 
     | 
    
         
            +
                          false
         
     | 
| 
       38 
44 
     | 
    
         
             
                        end
         
     | 
| 
       39 
     | 
    
         
            -
                        handled
         
     | 
| 
       40 
45 
     | 
    
         
             
                      end
         
     | 
| 
       41 
46 
     | 
    
         
             
                    end
         
     | 
| 
       42 
47 
     | 
    
         | 
| 
         @@ -253,6 +253,7 @@ module Rabbit 
     | 
|
| 
       253 
253 
     | 
    
         
             
                      x, y = from_screen(x, y)
         
     | 
| 
       254 
254 
     | 
    
         | 
| 
       255 
255 
     | 
    
         
             
                      draw_scaled_pixbuf = params[:draw_scaled_pixbuf]
         
     | 
| 
      
 256 
     | 
    
         
            +
                      draw_scaled_pixbuf = @draw_scaled_image if draw_scaled_pixbuf.nil?
         
     | 
| 
       256 
257 
     | 
    
         
             
                      width = (params[:width] || pixbuf.width).to_f
         
     | 
| 
       257 
258 
     | 
    
         
             
                      height = (params[:height] || pixbuf.height).to_f
         
     | 
| 
       258 
259 
     | 
    
         
             
                      if draw_scaled_pixbuf and
         
     | 
| 
         @@ -265,7 +266,7 @@ module Rabbit 
     | 
|
| 
       265 
266 
     | 
    
         
             
                          @context.scale(width / pixbuf.width, height / pixbuf.height)
         
     | 
| 
       266 
267 
     | 
    
         
             
                        end
         
     | 
| 
       267 
268 
     | 
    
         
             
                        @context.set_source_pixbuf(pixbuf, 0, 0)
         
     | 
| 
       268 
     | 
    
         
            -
                        @context.paint
         
     | 
| 
      
 269 
     | 
    
         
            +
                        @context.paint(params[:alpha])
         
     | 
| 
       269 
270 
     | 
    
         
             
                      end
         
     | 
| 
       270 
271 
     | 
    
         | 
| 
       271 
272 
     | 
    
         
             
                      _draw_reflected_pixbuf(pixbuf, x, y, params[:reflect])
         
     | 
| 
         @@ -328,6 +329,10 @@ module Rabbit 
     | 
|
| 
       328 
329 
     | 
    
         
             
                      context
         
     | 
| 
       329 
330 
     | 
    
         
             
                    end
         
     | 
| 
       330 
331 
     | 
    
         | 
| 
      
 332 
     | 
    
         
            +
                    def set_font_resolution(context)
         
     | 
| 
      
 333 
     | 
    
         
            +
                      context.resolution = @canvas.font_resolution
         
     | 
| 
      
 334 
     | 
    
         
            +
                    end
         
     | 
| 
      
 335 
     | 
    
         
            +
             
     | 
| 
       331 
336 
     | 
    
         
             
                    private
         
     | 
| 
       332 
337 
     | 
    
         
             
                    def init_engine_color
         
     | 
| 
       333 
338 
     | 
    
         
             
                      @foreground = make_color("black")
         
     | 
| 
         @@ -156,6 +156,7 @@ module Rabbit 
     | 
|
| 
       156 
156 
     | 
    
         
             
                      return if gc.nil?
         
     | 
| 
       157 
157 
     | 
    
         | 
| 
       158 
158 
     | 
    
         
             
                      draw_scaled_pixbuf = params[:draw_scaled_pixbuf]
         
     | 
| 
      
 159 
     | 
    
         
            +
                      draw_scaled_pixbuf = @draw_scaled_image if draw_scaled_pixbuf.nil?
         
     | 
| 
       159 
160 
     | 
    
         
             
                      width = params[:width] || pixbuf.width
         
     | 
| 
       160 
161 
     | 
    
         
             
                      height = params[:height] || pixbuf.height
         
     | 
| 
       161 
162 
     | 
    
         
             
                      if draw_scaled_pixbuf and
         
     | 
    
        data/lib/rabbit/source/base.rb
    CHANGED
    
    | 
         @@ -39,8 +39,10 @@ module Rabbit 
     | 
|
| 
       39 
39 
     | 
    
         
             
                      else
         
     | 
| 
       40 
40 
     | 
    
         
             
                        enc = @encoding
         
     | 
| 
       41 
41 
     | 
    
         
             
                      end
         
     | 
| 
       42 
     | 
    
         
            -
             
     | 
| 
       43 
     | 
    
         
            -
                       
     | 
| 
      
 42 
     | 
    
         
            +
             
     | 
| 
      
 43 
     | 
    
         
            +
                      if /\Autf-?8\z/i =~ enc
         
     | 
| 
      
 44 
     | 
    
         
            +
                        @source.force_encoding(enc) if @source.respond_to?(:force_encoding)
         
     | 
| 
      
 45 
     | 
    
         
            +
                      else
         
     | 
| 
       44 
46 
     | 
    
         
             
                        require "iconv"
         
     | 
| 
       45 
47 
     | 
    
         
             
                        @source = Iconv.conv("UTF-8", enc, @source)
         
     | 
| 
       46 
48 
     | 
    
         
             
                      end
         
     | 
| 
         @@ -63,8 +63,6 @@ end 
     | 
|
| 
       63 
63 
     | 
    
         
             
            match(TitleSlide, "*") do |elements|
         
     | 
| 
       64 
64 
     | 
    
         
             
              elements.horizontal_centering = false
         
     | 
| 
       65 
65 
     | 
    
         
             
              elements.align = :right
         
     | 
| 
       66 
     | 
    
         
            -
             
     | 
| 
       67 
     | 
    
         
            -
              elements.substitute_newline
         
     | 
| 
       68 
66 
     | 
    
         
             
            end
         
     | 
| 
       69 
67 
     | 
    
         | 
| 
       70 
68 
     | 
    
         
             
            match(TitleSlide, Title) do |titles|
         
     | 
| 
         @@ -96,5 +94,6 @@ include_theme("slide-logo") 
     | 
|
| 
       96 
94 
     | 
    
         
             
            @icon_images = ["clear-blue-icon.png"]
         
     | 
| 
       97 
95 
     | 
    
         
             
            include_theme("icon")
         
     | 
| 
       98 
96 
     | 
    
         | 
| 
      
 97 
     | 
    
         
            +
            @slide_footer_info_left_text ||= canvas.title
         
     | 
| 
       99 
98 
     | 
    
         
             
            @slide_footer_info_right_text ||= "Powered by Rabbit #{Rabbit::VERSION}"
         
     | 
| 
       100 
99 
     | 
    
         
             
            include_theme("slide-footer-info")
         
     | 
| 
         @@ -16,6 +16,7 @@ 
     | 
|
| 
       16 
16 
     | 
    
         
             
            @block_quote_open_quote_image ||= nil
         
     | 
| 
       17 
17 
     | 
    
         
             
            @block_quote_close_quote_image ||= nil
         
     | 
| 
       18 
18 
     | 
    
         
             
            @block_quote_image_max_width ||= canvas.width * 0.1
         
     | 
| 
      
 19 
     | 
    
         
            +
            @block_quote_image_background_alpha ||= nil
         
     | 
| 
       19 
20 
     | 
    
         | 
| 
       20 
21 
     | 
    
         
             
            match("**", BlockQuote) do
         
     | 
| 
       21 
22 
     | 
    
         
             
              name = "block-quote"
         
     | 
| 
         @@ -44,14 +45,18 @@ match("**", BlockQuote) do 
     | 
|
| 
       44 
45 
     | 
    
         
             
                  if open_quote.width > @block_quote_image_max_width
         
     | 
| 
       45 
46 
     | 
    
         
             
                    open_quote.resize(@block_quote_image_max_width, nil)
         
     | 
| 
       46 
47 
     | 
    
         
             
                  end
         
     | 
| 
       47 
     | 
    
         
            -
                   
     | 
| 
      
 48 
     | 
    
         
            +
                  unless @block_quote_image_background_alpha
         
     | 
| 
      
 49 
     | 
    
         
            +
                    padding_left += open_quote.width
         
     | 
| 
      
 50 
     | 
    
         
            +
                  end
         
     | 
| 
       48 
51 
     | 
    
         
             
                end
         
     | 
| 
       49 
52 
     | 
    
         
             
                if @block_quote_close_quote_image
         
     | 
| 
       50 
53 
     | 
    
         
             
                  close_quote = ImageLoader.new(find_file(@block_quote_close_quote_image))
         
     | 
| 
       51 
54 
     | 
    
         
             
                  if close_quote.width > @block_quote_image_max_width
         
     | 
| 
       52 
55 
     | 
    
         
             
                    close_quote.resize(@block_quote_image_max_width, nil)
         
     | 
| 
       53 
56 
     | 
    
         
             
                  end
         
     | 
| 
       54 
     | 
    
         
            -
                   
     | 
| 
      
 57 
     | 
    
         
            +
                  unless @block_quote_image_background_alpha
         
     | 
| 
      
 58 
     | 
    
         
            +
                    padding_right += close_quote.width
         
     | 
| 
      
 59 
     | 
    
         
            +
                  end
         
     | 
| 
       55 
60 
     | 
    
         
             
                end
         
     | 
| 
       56 
61 
     | 
    
         | 
| 
       57 
62 
     | 
    
         
             
                block.padding_with(:left => padding_left,
         
     | 
| 
         @@ -63,22 +68,34 @@ match("**", BlockQuote) do 
     | 
|
| 
       63 
68 
     | 
    
         
             
                                  :bottom => @space)
         
     | 
| 
       64 
69 
     | 
    
         | 
| 
       65 
70 
     | 
    
         
             
                block.delete_pre_draw_proc_by_name(name)
         
     | 
| 
       66 
     | 
    
         
            -
                 
     | 
| 
       67 
     | 
    
         
            -
                if open_quote
         
     | 
| 
       68 
     | 
    
         
            -
                  adjust_open_quote_x = (@block_quote_padding_left / 2) + open_quote.width
         
     | 
| 
      
 71 
     | 
    
         
            +
                if open_quote or close_quote
         
     | 
| 
       69 
72 
     | 
    
         
             
                  block.add_pre_draw_proc(name) do |canvas, x, y, w, h, simulation|
         
     | 
| 
       70 
73 
     | 
    
         
             
                    unless simulation
         
     | 
| 
       71 
     | 
    
         
            -
                      open_quote 
     | 
| 
       72 
     | 
    
         
            -
             
     | 
| 
       73 
     | 
    
         
            -
             
     | 
| 
       74 
     | 
    
         
            -
             
     | 
| 
       75 
     | 
    
         
            -
             
     | 
| 
       76 
     | 
    
         
            -
             
     | 
| 
       77 
     | 
    
         
            -
             
     | 
| 
       78 
     | 
    
         
            -
             
     | 
| 
       79 
     | 
    
         
            -
             
     | 
| 
       80 
     | 
    
         
            -
             
     | 
| 
       81 
     | 
    
         
            -
                       
     | 
| 
      
 74 
     | 
    
         
            +
                      if open_quote
         
     | 
| 
      
 75 
     | 
    
         
            +
                        adjust_open_quote_x = @block_quote_padding_left / 2
         
     | 
| 
      
 76 
     | 
    
         
            +
                        adjust_open_quote_y = @block_quote_padding_top / 2
         
     | 
| 
      
 77 
     | 
    
         
            +
                        unless @block_quote_image_background_alpha
         
     | 
| 
      
 78 
     | 
    
         
            +
                          adjust_open_quote_x += open_quote.width
         
     | 
| 
      
 79 
     | 
    
         
            +
                        end
         
     | 
| 
      
 80 
     | 
    
         
            +
                        open_quote.draw(canvas,
         
     | 
| 
      
 81 
     | 
    
         
            +
                                        x - adjust_open_quote_x,
         
     | 
| 
      
 82 
     | 
    
         
            +
                                        y - adjust_open_quote_y,
         
     | 
| 
      
 83 
     | 
    
         
            +
                                        :alpha => @block_quote_image_background_alpha)
         
     | 
| 
      
 84 
     | 
    
         
            +
                      end
         
     | 
| 
      
 85 
     | 
    
         
            +
                      if close_quote
         
     | 
| 
      
 86 
     | 
    
         
            +
                        adjust_close_quote_x = -@block_quote_padding_right / 2
         
     | 
| 
      
 87 
     | 
    
         
            +
                        if @block_quote_image_background_alpha
         
     | 
| 
      
 88 
     | 
    
         
            +
                          adjust_close_quote_x += close_quote.width
         
     | 
| 
      
 89 
     | 
    
         
            +
                        end
         
     | 
| 
      
 90 
     | 
    
         
            +
                        adjust_close_quote_y = block.height
         
     | 
| 
      
 91 
     | 
    
         
            +
                        adjust_close_quote_y -= close_quote.height
         
     | 
| 
      
 92 
     | 
    
         
            +
                        adjust_close_quote_y -= @block_quote_padding_bottom / 2
         
     | 
| 
      
 93 
     | 
    
         
            +
                        adjust_close_quote_y -= block.padding_bottom
         
     | 
| 
      
 94 
     | 
    
         
            +
                        close_quote.draw(canvas,
         
     | 
| 
      
 95 
     | 
    
         
            +
                                         x + w - adjust_close_quote_x,
         
     | 
| 
      
 96 
     | 
    
         
            +
                                         y + adjust_close_quote_y,
         
     | 
| 
      
 97 
     | 
    
         
            +
                                         :alpha => @block_quote_image_background_alpha)
         
     | 
| 
      
 98 
     | 
    
         
            +
                      end
         
     | 
| 
       82 
99 
     | 
    
         
             
                    end
         
     | 
| 
       83 
100 
     | 
    
         
             
                    [x, y, w, h]
         
     | 
| 
       84 
101 
     | 
    
         
             
                  end
         
     | 
| 
         @@ -54,12 +54,24 @@ match(*(slide_body + (enum_list_item * 2))) do |items| 
     | 
|
| 
       54 
54 
     | 
    
         
             
            end
         
     | 
| 
       55 
55 
     | 
    
         | 
| 
       56 
56 
     | 
    
         
             
            match(*(slide_body + (enum_list_item * 3))) do |items|
         
     | 
| 
       57 
     | 
    
         
            -
              setup_default_enum_item_mark(items,  
     | 
| 
      
 57 
     | 
    
         
            +
              setup_default_enum_item_mark(items, "enum3", 1, (1 / 4.0),
         
     | 
| 
       58 
58 
     | 
    
         
             
                                           {"size" => @x_small_font_size},
         
     | 
| 
       59 
59 
     | 
    
         
             
                                           {"type" => "upper-case"})
         
     | 
| 
       60 
60 
     | 
    
         
             
            end
         
     | 
| 
       61 
61 
     | 
    
         | 
| 
       62 
62 
     | 
    
         | 
| 
      
 63 
     | 
    
         
            +
            match(*(slide_body + item_list_item + enum_list_item)) do |items|
         
     | 
| 
      
 64 
     | 
    
         
            +
              setup_default_enum_item_mark(items, "item1-enum", 1.5, (2 / 4.0),
         
     | 
| 
      
 65 
     | 
    
         
            +
                                           {"size" => @small_font_size},
         
     | 
| 
      
 66 
     | 
    
         
            +
                                           {"type" => "lower-case"})
         
     | 
| 
      
 67 
     | 
    
         
            +
            end
         
     | 
| 
      
 68 
     | 
    
         
            +
             
     | 
| 
      
 69 
     | 
    
         
            +
            match(*(slide_body + (item_list_item * 2) + enum_list_item)) do |items|
         
     | 
| 
      
 70 
     | 
    
         
            +
              setup_default_enum_item_mark(items, "item2-enum", 1, (1 / 4.0),
         
     | 
| 
      
 71 
     | 
    
         
            +
                                           {"size" => @x_small_font_size},
         
     | 
| 
      
 72 
     | 
    
         
            +
                                           {"type" => "upper-case"})
         
     | 
| 
      
 73 
     | 
    
         
            +
            end
         
     | 
| 
      
 74 
     | 
    
         
            +
             
     | 
| 
       63 
75 
     | 
    
         
             
            match(*(slide_body + enum_list_item + item_list_item)) do |items|
         
     | 
| 
       64 
76 
     | 
    
         
             
              setup_default_item_mark(items, "enum-item1", 1.5, 1.5, (2 / 4.0),
         
     | 
| 
       65 
77 
     | 
    
         
             
                                      @default_enum_item1_mark_color,
         
     | 
| 
         @@ -8,6 +8,10 @@ 
     | 
|
| 
       8 
8 
     | 
    
         
             
            @preformatted_padding_top ||= screen_y(2)
         
     | 
| 
       9 
9 
     | 
    
         
             
            @preformatted_padding_bottom ||= screen_y(2)
         
     | 
| 
       10 
10 
     | 
    
         | 
| 
      
 11 
     | 
    
         
            +
            if @preformatted_keep_in_size.nil?
         
     | 
| 
      
 12 
     | 
    
         
            +
              @preformatted_keep_in_size = true
         
     | 
| 
      
 13 
     | 
    
         
            +
            end
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
       11 
15 
     | 
    
         
             
            match("**", PreformattedBlock) do |blocks|
         
     | 
| 
       12 
16 
     | 
    
         
             
              name = "preformatted-block"
         
     | 
| 
       13 
17 
     | 
    
         | 
| 
         @@ -31,7 +35,7 @@ match("**", PreformattedBlock) do |blocks| 
     | 
|
| 
       31 
35 
     | 
    
         
             
              blocks.margin_top = @space
         
     | 
| 
       32 
36 
     | 
    
         
             
              blocks.margin_bottom = @space
         
     | 
| 
       33 
37 
     | 
    
         | 
| 
       34 
     | 
    
         
            -
              blocks.keep_in_size
         
     | 
| 
      
 38 
     | 
    
         
            +
              blocks.keep_in_size if @preformatted_keep_in_size
         
     | 
| 
       35 
39 
     | 
    
         | 
| 
       36 
40 
     | 
    
         
             
              draw_frame(blocks, params)
         
     | 
| 
       37 
41 
     | 
    
         
             
            end
         
     | 
| 
         @@ -140,6 +140,14 @@ match(*(slide_body + (enum_list_item * 3))) do 
     | 
|
| 
       140 
140 
     | 
    
         
             
            end
         
     | 
| 
       141 
141 
     | 
    
         | 
| 
       142 
142 
     | 
    
         | 
| 
      
 143 
     | 
    
         
            +
            match(*(slide_body + item_list_item + enum_list_item)) do
         
     | 
| 
      
 144 
     | 
    
         
            +
              prop_set("size", @small_font_size)
         
     | 
| 
      
 145 
     | 
    
         
            +
            end
         
     | 
| 
      
 146 
     | 
    
         
            +
             
     | 
| 
      
 147 
     | 
    
         
            +
            match(*(slide_body + (item_list_item * 2) + enum_list_item)) do
         
     | 
| 
      
 148 
     | 
    
         
            +
              prop_set("size", @x_small_font_size)
         
     | 
| 
      
 149 
     | 
    
         
            +
            end
         
     | 
| 
      
 150 
     | 
    
         
            +
             
     | 
| 
       143 
151 
     | 
    
         
             
            match(*(slide_body + enum_list_item + item_list_item)) do
         
     | 
| 
       144 
152 
     | 
    
         
             
              prop_set("size", @small_font_size)
         
     | 
| 
       145 
153 
     | 
    
         
             
            end
         
     | 
| 
         @@ -37,10 +37,10 @@ match(SlideElement) do |slides| 
     | 
|
| 
       37 
37 
     | 
    
         
             
                        "color" => text_color,
         
     | 
| 
       38 
38 
     | 
    
         
             
                      }
         
     | 
| 
       39 
39 
     | 
    
         
             
                      left_layout = right_layout = nil
         
     | 
| 
       40 
     | 
    
         
            -
                      if left_text
         
     | 
| 
      
 40 
     | 
    
         
            +
                      if left_text and !left_text.empty?
         
     | 
| 
       41 
41 
     | 
    
         
             
                        left_layout = make_formatted_layout.call(props, left_text)
         
     | 
| 
       42 
42 
     | 
    
         
             
                      end
         
     | 
| 
       43 
     | 
    
         
            -
                      if right_text
         
     | 
| 
      
 43 
     | 
    
         
            +
                      if right_text and !right_text.empty?
         
     | 
| 
       44 
44 
     | 
    
         
             
                        right_layout = make_formatted_layout.call(props, right_text)
         
     | 
| 
       45 
45 
     | 
    
         
             
                      end
         
     | 
| 
       46 
46 
     | 
    
         | 
| 
         @@ -0,0 +1,16 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            @slide_number_uninstall = true
         
     | 
| 
      
 2 
     | 
    
         
            +
            @default_headline_line_color = "black"
         
     | 
| 
      
 3 
     | 
    
         
            +
            @default_item1_mark_type = "check"
         
     | 
| 
      
 4 
     | 
    
         
            +
            @default_item2_mark_type = "circle"
         
     | 
| 
      
 5 
     | 
    
         
            +
            include_theme("default")
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
            @lightning_talk_proc_name = "lightning-default"
         
     | 
| 
      
 8 
     | 
    
         
            +
            include_theme("lightning-talk-toolkit")
         
     | 
| 
      
 9 
     | 
    
         
            +
             
     | 
| 
      
 10 
     | 
    
         
            +
            match(Slide) do |slides|
         
     | 
| 
      
 11 
     | 
    
         
            +
              slides.each do |slide|
         
     | 
| 
      
 12 
     | 
    
         
            +
                if slide.lightning_talk?
         
     | 
| 
      
 13 
     | 
    
         
            +
                  slide.lightning_talk
         
     | 
| 
      
 14 
     | 
    
         
            +
                end
         
     | 
| 
      
 15 
     | 
    
         
            +
              end
         
     | 
| 
      
 16 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -1,3 +1,29 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            match("**") do |elements|
         
     | 
| 
       2 
     | 
    
         
            -
               
     | 
| 
      
 2 
     | 
    
         
            +
              have_preformatted_in_parent = Proc.new do |element|
         
     | 
| 
      
 3 
     | 
    
         
            +
                if element.nil?
         
     | 
| 
      
 4 
     | 
    
         
            +
                  false
         
     | 
| 
      
 5 
     | 
    
         
            +
                elsif element.is_a?(PreformattedBlock)
         
     | 
| 
      
 6 
     | 
    
         
            +
                  true
         
     | 
| 
      
 7 
     | 
    
         
            +
                else
         
     | 
| 
      
 8 
     | 
    
         
            +
                  have_preformatted_in_parent.call(element.parent)
         
     | 
| 
      
 9 
     | 
    
         
            +
                end
         
     | 
| 
      
 10 
     | 
    
         
            +
              end
         
     | 
| 
      
 11 
     | 
    
         
            +
             
     | 
| 
      
 12 
     | 
    
         
            +
              have_preformatted_in_children = Proc.new do |element|
         
     | 
| 
      
 13 
     | 
    
         
            +
                if element.nil?
         
     | 
| 
      
 14 
     | 
    
         
            +
                  false
         
     | 
| 
      
 15 
     | 
    
         
            +
                elsif element.is_a?(PreformattedBlock)
         
     | 
| 
      
 16 
     | 
    
         
            +
                  true
         
     | 
| 
      
 17 
     | 
    
         
            +
                elsif element.respond_to?(:elements)
         
     | 
| 
      
 18 
     | 
    
         
            +
                  element.elements.any? {|child| have_preformatted_in_children.call(child)}
         
     | 
| 
      
 19 
     | 
    
         
            +
                else
         
     | 
| 
      
 20 
     | 
    
         
            +
                  false
         
     | 
| 
      
 21 
     | 
    
         
            +
                end
         
     | 
| 
      
 22 
     | 
    
         
            +
              end
         
     | 
| 
      
 23 
     | 
    
         
            +
             
     | 
| 
      
 24 
     | 
    
         
            +
              elements.each do |element|
         
     | 
| 
      
 25 
     | 
    
         
            +
                next if have_preformatted_in_parent.call(element)
         
     | 
| 
      
 26 
     | 
    
         
            +
                next if have_preformatted_in_children.call(element)
         
     | 
| 
      
 27 
     | 
    
         
            +
                element.substitute_newline
         
     | 
| 
      
 28 
     | 
    
         
            +
              end
         
     | 
| 
       3 
29 
     | 
    
         
             
            end
         
     | 
| 
         @@ -20,6 +20,9 @@ name = "slide-footer-info" 
     | 
|
| 
       20 
20 
     | 
    
         
             
            @slide_footer_info_text_over_line ||= false
         
     | 
| 
       21 
21 
     | 
    
         
             
            @slide_footer_info_base_y ||= canvas.height - @margin_bottom
         
     | 
| 
       22 
22 
     | 
    
         | 
| 
      
 23 
     | 
    
         
            +
            @slide_footer_info_left_text ||= nil
         
     | 
| 
      
 24 
     | 
    
         
            +
            @slide_footer_info_right_text ||= nil
         
     | 
| 
      
 25 
     | 
    
         
            +
             
     | 
| 
       23 
26 
     | 
    
         
             
            include_theme("edge-info-toolkit")
         
     | 
| 
       24 
27 
     | 
    
         | 
| 
       25 
28 
     | 
    
         
             
            match(SlideElement) do
         
     | 
    
        data/lib/rabbit/utils.rb
    CHANGED
    
    | 
         @@ -387,12 +387,18 @@ module Rabbit 
     | 
|
| 
       387 
387 
     | 
    
         | 
| 
       388 
388 
     | 
    
         
             
              module Converter
         
     | 
| 
       389 
389 
     | 
    
         
             
                module_function
         
     | 
| 
       390 
     | 
    
         
            -
                 
     | 
| 
       391 
     | 
    
         
            -
                   
     | 
| 
       392 
     | 
    
         
            -
             
     | 
| 
       393 
     | 
    
         
            -
                   
     | 
| 
       394 
     | 
    
         
            -
                 
     | 
| 
       395 
     | 
    
         
            -
                   
     | 
| 
      
 390 
     | 
    
         
            +
                if "".respond_to?(:encoding)
         
     | 
| 
      
 391 
     | 
    
         
            +
                  def keep_kcode(new_kcode)
         
     | 
| 
      
 392 
     | 
    
         
            +
                    yield
         
     | 
| 
      
 393 
     | 
    
         
            +
                  end
         
     | 
| 
      
 394 
     | 
    
         
            +
                else
         
     | 
| 
      
 395 
     | 
    
         
            +
                  def keep_kcode(new_kcode)
         
     | 
| 
      
 396 
     | 
    
         
            +
                    kcode = $KCODE
         
     | 
| 
      
 397 
     | 
    
         
            +
                    $KCODE = new_kcode
         
     | 
| 
      
 398 
     | 
    
         
            +
                    yield
         
     | 
| 
      
 399 
     | 
    
         
            +
                  ensure
         
     | 
| 
      
 400 
     | 
    
         
            +
                    $KCODE = kcode
         
     | 
| 
      
 401 
     | 
    
         
            +
                  end
         
     | 
| 
       396 
402 
     | 
    
         
             
                end
         
     | 
| 
       397 
403 
     | 
    
         | 
| 
       398 
404 
     | 
    
         
             
                def to_utf8(str)
         
     | 
    
        data/misc/update-rd.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification 
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: rabbit
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version 
         
     | 
| 
       4 
     | 
    
         
            -
              version: 0.6. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.6.3
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors: 
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Kouhei Sutou
         
     | 
| 
         @@ -9,9 +9,19 @@ autorequire: 
     | 
|
| 
       9 
9 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       10 
10 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       11 
11 
     | 
    
         | 
| 
       12 
     | 
    
         
            -
            date: 2009- 
     | 
| 
      
 12 
     | 
    
         
            +
            date: 2009-12-16 00:00:00 +09:00
         
     | 
| 
       13 
13 
     | 
    
         
             
            default_executable: 
         
     | 
| 
       14 
14 
     | 
    
         
             
            dependencies: 
         
     | 
| 
      
 15 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency 
         
     | 
| 
      
 16 
     | 
    
         
            +
              name: cairo
         
     | 
| 
      
 17 
     | 
    
         
            +
              type: :runtime
         
     | 
| 
      
 18 
     | 
    
         
            +
              version_requirement: 
         
     | 
| 
      
 19 
     | 
    
         
            +
              version_requirements: !ruby/object:Gem::Requirement 
         
     | 
| 
      
 20 
     | 
    
         
            +
                requirements: 
         
     | 
| 
      
 21 
     | 
    
         
            +
                - - ">="
         
     | 
| 
      
 22 
     | 
    
         
            +
                  - !ruby/object:Gem::Version 
         
     | 
| 
      
 23 
     | 
    
         
            +
                    version: "0"
         
     | 
| 
      
 24 
     | 
    
         
            +
                version: 
         
     | 
| 
       15 
25 
     | 
    
         
             
            - !ruby/object:Gem::Dependency 
         
     | 
| 
       16 
26 
     | 
    
         
             
              name: hikidoc
         
     | 
| 
       17 
27 
     | 
    
         
             
              type: :runtime
         
     | 
| 
         @@ -30,7 +40,7 @@ dependencies: 
     | 
|
| 
       30 
40 
     | 
    
         
             
                requirements: 
         
     | 
| 
       31 
41 
     | 
    
         
             
                - - ">="
         
     | 
| 
       32 
42 
     | 
    
         
             
                  - !ruby/object:Gem::Version 
         
     | 
| 
       33 
     | 
    
         
            -
                    version: 2. 
     | 
| 
      
 43 
     | 
    
         
            +
                    version: 2.4.0
         
     | 
| 
       34 
44 
     | 
    
         
             
                version: 
         
     | 
| 
       35 
45 
     | 
    
         
             
            description: Rabbit is an RD-document-based presentation application.
         
     | 
| 
       36 
46 
     | 
    
         
             
            email: 
         
     | 
| 
         @@ -88,6 +98,7 @@ files: 
     | 
|
| 
       88 
98 
     | 
    
         
             
            - data/rabbit/image/rabbit-images/lavie-with-logo.png
         
     | 
| 
       89 
99 
     | 
    
         
             
            - data/rabbit/image/rabbit-images/lavie.png
         
     | 
| 
       90 
100 
     | 
    
         
             
            - data/rabbit/image/rabbit-images/mini-alice.png
         
     | 
| 
      
 101 
     | 
    
         
            +
            - data/rabbit/image/rabbit-images/mini-butler-rabbit.png
         
     | 
| 
       91 
102 
     | 
    
         
             
            - data/rabbit/image/rabbit-images/mini-horizontal-bar.png
         
     | 
| 
       92 
103 
     | 
    
         
             
            - data/rabbit/image/rabbit-images/mini-kame-taro.png
         
     | 
| 
       93 
104 
     | 
    
         
             
            - data/rabbit/image/rabbit-images/mini-tanu-kitaro.png
         
     | 
| 
         @@ -418,6 +429,8 @@ files: 
     | 
|
| 
       418 
429 
     | 
    
         
             
            - lib/rabbit/theme/image/property.rb
         
     | 
| 
       419 
430 
     | 
    
         
             
            - lib/rabbit/theme/lightning-clear-blue/lightning-clear-blue.rb
         
     | 
| 
       420 
431 
     | 
    
         
             
            - lib/rabbit/theme/lightning-clear-blue/property.rb
         
     | 
| 
      
 432 
     | 
    
         
            +
            - lib/rabbit/theme/lightning-monochrome/lightning-monochrome.rb
         
     | 
| 
      
 433 
     | 
    
         
            +
            - lib/rabbit/theme/lightning-monochrome/property.rb
         
     | 
| 
       421 
434 
     | 
    
         
             
            - lib/rabbit/theme/lightning-rabbit/lightning-rabbit.rb
         
     | 
| 
       422 
435 
     | 
    
         
             
            - lib/rabbit/theme/lightning-rabbit/property.rb
         
     | 
| 
       423 
436 
     | 
    
         
             
            - lib/rabbit/theme/lightning-simple/lightning-simple.rb
         
     |