// To run with it without system install. // % ruby -I./lib bin/rabbit -f sample/rabbit-en.rd ! Rabbit(en) :subtitle:Presentation with Wiki notation :author:Kouhei Sutou :institution:COZMIXNG //:content_source:content source :theme:rabbit ! Rabbit A presentation tool * Impl.: Ruby/GTK+ 2/cairo * Env.: PC-UNIX/Win/Mac * Format:\nRD/Wiki/Markdown/PDF * View: Ruby{{note('(separated with format)')}} ! Features: Display (1) * ''Emphasis''/==Deletion== * Sub{{sub('script')}}/Super{{sup('script')}} * Math characters: {{e('sum')}}{{sub('i=0')}}{{e('sum', sub('i=0'))}} * Syntax highlight ! Features: Display (2) * Tables * Interesting themes * Images ** Many supported formats ** PNG/JPEG/.../PDF/EPS/SVG ! Features: Display (3) * Folding long lines * Syntax highlight * Big text ! Features: UI (1) * Rich key bindings * Context menu * Mouse gestures * Spotlight * Magnifier ! Features: UI (2) * Index page * Graffiti * {{wait}}Pause * {{wait}}I18N * Search ! Features: UI (3) * Whiteout/Blackout * Rabbit hole ** Make a hole in a slide * Visualization of remaining time ** The Tortoise and the Hare ! Features: Input * File * Standard input * HTTP * Hiki * SlideShare ! Features: Format * RD * Wiki (Hiki) * Markdown (kramdown) * PDF ** {{e('RightArrow')}}PDF viewer ! Features: Output * Images * Images + HTML * PS/PDF * PS/PDF for print ** slides/page ! Features: Ext. API * HTTP * dRuby * XML-RPC * SOAP ! Features: Creating * Auto source reload * Theme reload * Change theme ! Features: Tag {{tag('x-large', 'Large Text')}} {{tag('center')}}Centerized Text {{tag('right')}}Right-Justified Text ! ToDo * Inline images * Jump to a link * Sound * Video * 3D ! Image {{image("lavie.png", { :caption => "Lavie", :keep_ratio => true, :width => 100, :height => 100, # :relative_width => 100, # :relative_height => 50, })}} ! Image: Reflect {{image("shocker.jpg", { :relative_height => 80, :reflect_ratio => 0.5, })}} ! Image: Background (1) * Background image * Centering by default !! Properties :background-image:lavie.png :background-image-relative-width:50 //:background-image-align:right :background-image-relative-margin-right:3 ! Image: Background (2) {{image("lavie.png", { :relative_width => 30, :align => "right", # :vertical_align => "top", :relative_margin_right => -5, })}} * Right justified backgorund image * Specify in slide ** :align => "right" ! Image size Relative image sizes {{image("usagi.png", { :caption => "USAGI", :keep_ratio => true, # :relative_width => 100, :relative_height => 80, })}} ! External image Download an image from a URL {{image("https://raw.githubusercontent.com/rabbit-shocker/rabbit/master/data/rabbit/image/cozmixng-images/cozmixchu.png", :caption => "COZMIX Chu")}} // [[COZMIX Chu|https://raw.githubusercontent.com/rabbit-shocker/rabbit/master/data/rabbit/image/cozmixng-images/cozmixchu.png]] // This syntax isn't supported yet. ! Math. expressions * TeX {{note('(like)')}} format * Backends ** LaTeX ** mimeTeX ! LaTeX {{latex(<<-'EOL', :relative_width => 80) $f(x)=\displaystyle\int_{-\infty}^x~e^{-t^2}dt$ \LaTeX EOL }} ! mimeTeX {{mimetex('\Large f(x)=\Bigint_{-\infty}^x~e^{-t^2}dt', :relative_width => 80)}} ! EPS Create EPS ahead of time{{note('(needs gs)')}} {{image('equation.eps', :keep_ratio => true, :relative_width => 80)}} ! SVG {{image("spiral.svg", :keep_ratio => true, :relative_height => 100)}} ! Dia {{image("rabbit.dia", :relative_width => 90)}} ! GIMP {{image("rabbit.xcf", :relative_height => 100)}} ! aafigure {{aafigure(" A B C D E F G H I J K L M AA BB CC DD EE FF GG HH II JJ KK LL MM AA BB CC DD EE FF GG HH II JJ KK LL MM aa bb cc dd ee ff gg hh ii jj kk ll mm aa bb cc dd ee ff gg hh ii jj kk ll mm N O P Q R S T U V W X Y Z NN OO PP QQ RR SS TT UU VV WW XX YY ZZ NN OO PP QQ RR SS TT UU VV WW XX YY ZZ nn oo pp qq rr ss tt uu vv ww xx yy zz nn oo pp qq rr ss tt uu vv ww xx yy zz", { :relative_width => 90, # :foreground => "#ff3333", })}} ! blockdiag {{blockdiag(" { default_fontsize = 25; RD -> Rabbit; Hiki -> Rabbit; PDF -> Rabbit; group { Rabbit -> Display; } }", { :relative_width => 90, # :antialias => true, :fonts => ["/usr/share/fonts/opentype/ipafont/ipag.ttf", "/usr/share/fonts/truetype/vlgothic/VL-Gothic-Regular.ttf"], })}} ! Word Wrapping looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong ! Source The following is source code: <<< # comment def method_name body end >>> End of source code. ! Source: colorized The following is source code: <<< ruby # comment def method_name body end >>> End of source code. ! Quotation ""You take the ''red pill'', you stay in Wonderland and ""I show you how deep the ''rabbit-hole'' goes. ! Enumeration # Level 1-1 ## Level 2-1 ### Level 3-1 ### Level 3-2 ## Level 2-2 # Level 1-2 ! Labeled list :Rabbit:USAGI :Turtle:KAME :USAGI:Rabbit ! Table ||!Heading 1||!Heading 2 ||content 1||content 2 ||very long content 3||veeeery looooooooooooooooooooooong content 4 ! Op.: Move :Next page:Bindings for next page/Left click\nn, f, j, l, Spc, Ret, +, {{e('DownArrow')}}, {{e('RightArrow')}}, ... :Previous page:Bindings for prev. page/Center click\np, b, k, h, BS, Del, -, {{e('UpArrow')}}, {{e('LeftArrow')}}, ... ! Op.: Advanced move :Go to the title page:a, 0, <, Home :Go to page n:1-9. +Ctrl = +10, +Alt = +20 :Go to the last page:e, $, >, End ! Op.: On stage (1) :Toggle full screen:F5, F10, F11, Gesture{{e('DownArrow')}}{{e('UpArrow')}} :Toggle index mode:i :Go to the page:Double click on the desired page ! Op.: On stage (2) :Cache all slides:c :Toggle info window:I ! Op.: On stage (3) :Magnifier:Ctrl + right click\nChange scale by wheel :Spotlight:Double right clicks\nChange radius by wheel ! Op.: On stage (4) :Graffiti:Popup menu (right click) {{e('rightarrow')}}\n"Graffiti mode" :Mouse gesture:Right button drag ! Op.: On stage (5) :Whiteout:W :Blackout:B ! Op.: Save :Screenshot:Save each page as an image\ns :Print:Print each page as PS/PDF\nCtrl+p ! Op.: Display :Redraw:Ctrl+l :Reload theme:t, r :Reset slide adjustment:Alt+a ! Op.: Hole :Expand the hole:E :Narrow the hole:N ! Op.: Search :Search forward:C-s, / :Search backward:C-r, ? :Quit search:C-g ! Op.: Quit :Quit:q, Esc :Iconify:z ! Conclusion * A presentation tool * Multi platform * Feat./UI: High & Unique * Emphasize keybord shortcuts ** UI/text based source