Rabbit on Sinatra

479 views

Published on

Sinatraで動いているプレゼン用PDF作成ツールrab2pdfの紹介

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
479
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
1
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Rabbit on Sinatra

  1. 1. Rabbit on Sinatra プレゼン用PDF作成ツールrab2pdf 横山昌史 Rabbitショッカー 勉強会@Sinatra札幌 2013/11/24 Rabbit on Sinatra - プレゼン用PDF作成ツールrab2pdf Powered by Rabbit 2.1.2
  2. 2. 自己紹介 ソフトウェア開発者 Webアプリの主戦場はSinatra Rabbitショッカー 札幌でRabbitを使っている Rabbitコミッター 札幌でRabbitにコミットしている Rabbit on Sinatra - プレゼン用PDF作成ツールrab2pdf Powered by Rabbit 2.1.2
  3. 3. 宣伝 Rabbit on Sinatra - プレゼン用PDF作成ツールrab2pdf Powered by Rabbit 2.1.2
  4. 4. 札幌市中央区Ruby会議01 札幌市中央区Ruby会議01 2014年2月8日(土) 2014年2月8日(土) Rabbit on Sinatra - プレゼン用PDF作成ツールrab2pdf Powered by Rabbit 2.1.2
  5. 5. 話すこと Rabbitを Sinatraで動かした話 Rabbit on Sinatra - プレゼン用PDF作成ツールrab2pdf Powered by Rabbit 2.1.2
  6. 6. 話すこと Rabbitを Sinatraで動かした話 Rabbit on Sinatra - プレゼン用PDF作成ツールrab2pdf Powered by Rabbit 2.1.2
  7. 7. Powered by Rabbit on Sinatra - プレゼン用PDF作成ツールrab2pdf Powered by Rabbit 2.1.2
  8. 8. Rabbitとは Rubyで書かれたプログラマー 向けのプレゼンテーションツール Rabbit on Sinatra - プレゼン用PDF作成ツールrab2pdf Powered by Rabbit 2.1.2
  9. 9. Rabbitの特徴 文章はテキストで記述 RD、Wiki、Markdownなど 装飾(テーマ)はRubyで記述 RubyGemsで簡単に追加 バージョン管理しやすい Rabbit on Sinatra - プレゼン用PDF作成ツールrab2pdf Powered by Rabbit 2.1.2
  10. 10. 昨日機能が豊富 キーバインドの一部 一覧 情報 メニュー i(小文字) I(大文字) 右クリック http://rabbit-shocker.org/ja/sample/rd/rabbit.html Rabbit on Sinatra - プレゼン用PDF作成ツールrab2pdf Powered by Rabbit 2.1.2
  11. 11. インストールも簡単 gem install rabbit Rabbit on Sinatra - プレゼン用PDF作成ツールrab2pdf Powered by Rabbit 2.1.2
  12. 12. だけど、インストールする 前に試してみたいとか Rabbit on Sinatra - プレゼン用PDF作成ツールrab2pdf Powered by Rabbit 2.1.2
  13. 13. 借りたPCで、そもそも Rubyが入ってないとか、 そんなとき Rabbit on Sinatra - プレゼン用PDF作成ツールrab2pdf Powered by Rabbit 2.1.2
  14. 14. 話すこと Rabbitを Sinatraで動かした話 Rabbit on Sinatra - プレゼン用PDF作成ツールrab2pdf Powered by Rabbit 2.1.2
  15. 15. Rabbit + Sinatra = rab2pdf Rabbit + Sinatra = rab2pdf Rabbit on Sinatra - プレゼン用PDF作成ツールrab2pdf Powered by Rabbit 2.1.2
  16. 16. rab2pdfとは Webアプリケーション RabbitのPDF生成機能を活用 テキストからプレゼン用PDFを作成 Rabbit on Sinatra - プレゼン用PDF作成ツールrab2pdf Powered by Rabbit 2.1.2
  17. 17. サーバーの仕事 Rabbitはインストール済み リクエストはSinatraで処理 SinatraからRabbitを実行 PDFを生成 Rabbit on Sinatra - プレゼン用PDF作成ツールrab2pdf Powered by Rabbit 2.1.2
  18. 18. 余談 RabbitはGUIアプリケーションです が、GUI環境がなくても動くように工 夫されています。 なので、Webアプリケーションのバッ クグラウンドとしても使うことができ ます。 Rabbit on Sinatra - プレゼン用PDF作成ツールrab2pdf Powered by Rabbit 2.1.2
  19. 19. 本題 本題 Rabbit on Sinatra - プレゼン用PDF作成ツールrab2pdf Powered by Rabbit 2.1.2
  20. 20. 作り方 1. テキストを書く 2. rab2pdfに送信 3. PDFをダウンロード Rabbit on Sinatra - プレゼン用PDF作成ツールrab2pdf Powered by Rabbit 2.1.2
  21. 21. 1. テキストを書く 現在はRD形式のみ対応 RabbitはWikiやMarkdownに対応 rab2pdfでも対応したい Rabbit on Sinatra - プレゼン用PDF作成ツールrab2pdf Powered by Rabbit 2.1.2
  22. 22. 2. rab2pdfに送信 普通のフォーム 普通のテキストエリア 普通の送信ボタン Rabbit on Sinatra - プレゼン用PDF作成ツールrab2pdf Powered by Rabbit 2.1.2
  23. 23. 3. PDFをダウンロード ダウンロードリンクが表示される PDFはしばらくサーバーに残る Rabbit on Sinatra - プレゼン用PDF作成ツールrab2pdf Powered by Rabbit 2.1.2
  24. 24. 隠し機能 Gitリポジトリ指定機能 ローカルテーマや画像に対応 http://myokoym.net/rab2pdf/git?url=https://github.com/user/repo Rabbit on Sinatra - プレゼン用PDF作成ツールrab2pdf Powered by Rabbit 2.1.2
  25. 25. デモ http://myokoym.net/rab2pdf/ Rabbit on Sinatra - プレゼン用PDF作成ツールrab2pdf Powered by Rabbit 2.1.2
  26. 26. 使えるテーマ Rabbit組み込みのテーマ RubyGems.orgに 公開されているテーマ Rabbit on Sinatra - プレゼン用PDF作成ツールrab2pdf Powered by Rabbit 2.1.2
  27. 27. ソースコード オープンソース(GPLv2+) GitHubで公開 https://github.com/myokoym/rab2pdf Rabbit on Sinatra - プレゼン用PDF作成ツールrab2pdf Powered by Rabbit 2.1.2
  28. 28. トップページ get "/" do @params ||= {} @params[:source] = slide_source haml :index end Rabbit on Sinatra - プレゼン用PDF作成ツールrab2pdf Powered by Rabbit 2.1.2
  29. 29. slide_source = TITLE : author Your Name : date #{Time.now.strftime("%Y/%m/%d")} = FIRST SLIDE * ITEM 1 * ITEM 2 Rabbit on Sinatra - プレゼン用PDF作成ツールrab2pdf Powered by Rabbit 2.1.2
  30. 30. フォーム(Haml) %form{:action => url("/convert", false, true), :method => "post"} %p %textarea{:name => "source", :cols => 50, :rows => 10}= @params[:source] %p %input{:type => "text", :name => "filename", :size => 30, :value => @params[:filename]} %p %input{:type => "submit"} Rabbit on Sinatra - プレゼン用PDF作成ツールrab2pdf Powered by Rabbit 2.1.2
  31. 31. PDF生成 post "/convert" do @download_url = convert(params[:source], params[:filename]) @params = params haml :index end Rabbit on Sinatra - プレゼン用PDF作成ツールrab2pdf Powered by Rabbit 2.1.2
  32. 32. Rabbit.run def convert(source, filename) ... Tempfile.open(["rab2pdf", ".rab"]) do |tempfile| tempfile.puts(source) tempfile.flush Rabbit::Command::Rabbit.run("--print", "--output-filename", pdf_path, tempfile.path) end ... end Rabbit on Sinatra - プレゼン用PDF作成ツールrab2pdf Powered by Rabbit 2.1.2
  33. 33. Thank you rab2pdfはあくまで入門用&緊急用 のツールなので、機能が少ないで す。可能ならRabbitをインストールし て使うことをおすすめします。 :-) http://rabbit-shocker.org/ Rabbit on Sinatra - プレゼン用PDF作成ツールrab2pdf Powered by Rabbit 2.1.2

×