rabbit-shocker/rabbit

Question about images in PDF and a bug

Closed this issue · 2 comments

Hi Kouhei,

Question

I uploaded my pictures on flickr and you can find the markdown files under bitbucket. I normally took the medium size for them.

Creating the presentation in a terminal (I think it opens Rack) with rabbit slides_vim_and_git.md they look awesome and sharp. But creating a PDF out of them with rabbit -t rabbit-theme-nyankosakana -p --type file --slides-per-page 1 -o slides.pdf slides_vim_and_git.md the pictures are looking terrible. Is there a solution hint=

Bug

Render the following line on some slide

- `:Gstatus` ... git status
  - `<C-n>` ... go to the next file
  - `C-p` ... go to the previous file

will give me the following error when I hit the slide:

        [WARNING]
GLib::Error: Unknown tag 'C-n' on line 1 char 88
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/renderer/display/base.rb:62:in `parse_markup'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/renderer/display/base.rb:62:in `make_layout'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/element/text-renderer.rb:188:in `setup_draw_info'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/element/text-renderer.rb:68:in `block in text_compile'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/element/base.rb:277:in `if_dirty'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/element/text-renderer.rb:67:in `text_compile'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/element/text-container-element.rb:53:in `compile'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/element/container-element.rb:123:in `block in compile_elements'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/element/container-element.rb:122:in `each'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/element/container-element.rb:122:in `compile_elements'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/element/container-element.rb:113:in `block in compile'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/element/base.rb:277:in `if_dirty'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/element/container-element.rb:111:in `compile'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/element/container-element.rb:123:in `block in compile_elements'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/element/container-element.rb:122:in `each'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/element/container-element.rb:122:in `compile_elements'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/element/container-element.rb:113:in `block in compile'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/element/base.rb:277:in `if_dirty'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/element/container-element.rb:111:in `compile'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/element/container-element.rb:123:in `block in compile_elements'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/element/container-element.rb:122:in `each'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/element/container-element.rb:122:in `compile_elements'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/element/container-element.rb:113:in `block in compile'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/element/base.rb:277:in `if_dirty'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/element/container-element.rb:111:in `compile'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/element/container-element.rb:123:in `block in compile_elements'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/element/container-element.rb:122:in `each'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/element/container-element.rb:122:in `compile_elements'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/element/container-element.rb:113:in `block in compile'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/element/base.rb:277:in `if_dirty'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/element/container-element.rb:111:in `compile'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/element/container-element.rb:123:in `block in compile_elements'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/element/container-element.rb:122:in `each'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/element/container-element.rb:122:in `compile_elements'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/element/container-element.rb:113:in `block in compile'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/element/base.rb:277:in `if_dirty'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/element/container-element.rb:111:in `compile'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/element/container-element.rb:123:in `block in compile_elements'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/element/container-element.rb:122:in `each'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/element/container-element.rb:122:in `compile_elements'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/element/container-element.rb:113:in `block in compile'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/element/base.rb:277:in `if_dirty'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/element/container-element.rb:111:in `compile'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/element/slide-element.rb:34:in `block in draw'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/renderer/display/drawing-area-base.rb:308:in `call'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/renderer/display/drawing-area-base.rb:308:in `block in draw_slide'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/renderer/kernel.rb:56:in `draw_slide'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/renderer/display/drawing-area-base.rb:307:in `draw_slide'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/element/slide-element.rb:33:in `draw'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/renderer/display/drawing-area-primitive.rb:194:in `compile_slide'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/renderer/display/drawing-area-primitive.rb:156:in `draw_current_slide'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/renderer/display/drawing-area-primitive.rb:148:in `exposed'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/renderer/display/drawing-area-base.rb:298:in `exposed'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/renderer/display/drawing-area-primitive.rb:141:in `block in set_expose_event'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/command/rabbit.rb:873:in `call'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/command/rabbit.rb:873:in `main'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/command/rabbit.rb:873:in `do_display'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/command/rabbit.rb:51:in `run'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/command/rabbit.rb:29:in `run'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/bin/rabbit:22:in `<top (required)>'
/home/wm/.gem/ruby/2.1.4/bin/rabbit:23:in `load'
/home/wm/.gem/ruby/2.1.4/bin/rabbit:23:in `<main>'
[WARNING]
GLib::Error: Unknown tag 'C-n' on line 1 char 88
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/renderer/display/base.rb:62:in `parse_markup'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/renderer/display/base.rb:62:in `make_layout'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/element/text-renderer.rb:188:in `setup_draw_info'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/element/text-renderer.rb:68:in `block in text_compile'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/element/base.rb:277:in `if_dirty'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/element/text-renderer.rb:67:in `text_compile'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/element/text-container-element.rb:53:in `compile'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/element/container-element.rb:123:in `block in compile_elements'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/element/container-element.rb:122:in `each'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/element/container-element.rb:122:in `compile_elements'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/element/container-element.rb:113:in `block in compile'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/element/base.rb:277:in `if_dirty'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/element/container-element.rb:111:in `compile'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/element/container-element.rb:123:in `block in compile_elements'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/element/container-element.rb:122:in `each'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/element/container-element.rb:122:in `compile_elements'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/element/container-element.rb:113:in `block in compile'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/element/base.rb:277:in `if_dirty'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/element/container-element.rb:111:in `compile'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/element/container-element.rb:123:in `block in compile_elements'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/element/container-element.rb:122:in `each'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/element/container-element.rb:122:in `compile_elements'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/element/container-element.rb:113:in `block in compile'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/element/base.rb:277:in `if_dirty'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/element/container-element.rb:111:in `compile'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/element/container-element.rb:123:in `block in compile_elements'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/element/container-element.rb:122:in `each'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/element/container-element.rb:122:in `compile_elements'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/element/container-element.rb:113:in `block in compile'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/element/base.rb:277:in `if_dirty'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/element/container-element.rb:111:in `compile'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/element/container-element.rb:123:in `block in compile_elements'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/element/container-element.rb:122:in `each'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/element/container-element.rb:122:in `compile_elements'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/element/container-element.rb:113:in `block in compile'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/element/base.rb:277:in `if_dirty'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/element/container-element.rb:111:in `compile'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/element/container-element.rb:123:in `block in compile_elements'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/element/container-element.rb:122:in `each'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/element/container-element.rb:122:in `compile_elements'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/element/container-element.rb:113:in `block in compile'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/element/base.rb:277:in `if_dirty'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/element/container-element.rb:111:in `compile'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/element/slide-element.rb:34:in `block in draw'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/renderer/display/drawing-area-base.rb:308:in `call'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/renderer/display/drawing-area-base.rb:308:in `block in draw_slide'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/renderer/kernel.rb:56:in `draw_slide'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/renderer/display/drawing-area-base.rb:307:in `draw_slide'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/element/slide-element.rb:33:in `draw'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/renderer/display/drawing-area-primitive.rb:157:in `draw_current_slide'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/renderer/display/drawing-area-primitive.rb:148:in `exposed'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/renderer/display/drawing-area-base.rb:298:in `exposed'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/renderer/display/drawing-area-primitive.rb:141:in `block in set_expose_event'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/command/rabbit.rb:873:in `call'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/command/rabbit.rb:873:in `main'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/command/rabbit.rb:873:in `do_display'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/command/rabbit.rb:51:in `run'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/lib/rabbit/command/rabbit.rb:29:in `run'
/home/wm/.gem/ruby/2.1.4/gems/rabbit-2.1.3/bin/rabbit:22:in `<top (required)>'
/home/wm/.gem/ruby/2.1.4/bin/rabbit:23:in `load'
/home/wm/.gem/ruby/2.1.4/bin/rabbit:23:in `<main>'

I found out, that the problem is based on the < and > signs.

Acknowledgement

Thanks for this great tool!!!

Bests Matthias

kou commented

But creating a PDF out of them with rabbit -t rabbit-theme-nyankosakana -p --type file --slides-per-page 1 -o slides.pdf slides_vim_and_git.md the pictures are looking terrible. Is there a solution hint=

Use relative_height='100' or relative_width='100' parameter like:

![](https://farm4.staticflickr.com/3945/15426451090_08b9a6f316_z_d.jpg){:relative_height='100'}

Rabbit scales your pictures according output device size automatically.

I found out, that the problem is based on the < and > signs.

I confirmed it. I'll fix it tonight.

Thanks for this great tool!!!

Thanks! :-)

kou commented

I've fixed it at master!
Thanks for your report!