Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Rabbit on Sinatra

550 views

Published on

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

  • Be the first to comment

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

×