---
layout: en
title: rabbit-slide command usage
---
== Abstract
((%rabbit-slide%)) is a command that generates a slide template.
Template is helpful for creating a slide even if you create just a
simple slide. You just need a source file for a simple slide. But you
need some files for publishing your slide. ((%rabbit-slide%))
generates all needed files for creating and publishng your slide.
You create your slide after you generate a slide template. The
template includes helper features for creating and publishing your
slide. These helper features are provided as Rake tasks. You can run
an useful task by a command line. Here is a list for useful features:
* Showing your slide.
* Generating a PDF from your slide source.
* Publishing your slide to RubyGems.org as a gem.
* Publishing your slide to SlideShare.
Let's create a good slide, do a good presentation and share your good
slide!
You can view published slide gems at
(()).
== Templates generation
First, you generate templates by ((%rabbit-slide%)) command. You pass
slide information to the command. It is inconvenient because you need
to pass many information in command line. ((%rabbit-slide%)) will
provide GUI to pass slide information.
Here is a command line that generates templates for a teheme benchmark
slide:
% rabbit-slide new \
--id theme-benchmark-en \
--base-name theme-benchmark \
--markup-language rd \
--name "Kouhei Sutou" \
--email kou@cozmixng.org \
--rubygems-user kou \
--tags rabbit
((%--id%)) and ((%--base-name%)) is the required parameters.
((%--id%)) is the slide ID. You need to use only ASCII characters.
((%--base-name%)) is the base name. The base name is a name that is
computed by removing extension from slide source file name. You need
to use oly ASCII characters.
If you publish your slide as a gem on RubyGems.org, you need to
specify user information by ((%--name%)), ((%--email%)),
((%--rubygems-user%)) and so on.
TODO: Describe all parameters.
You can confirm all patermeters by ((%--help%)):
Usage: rabbit-slide COMMAND [OPTIONS]
e.g.: rabbit-slide new \
--id rubykaigi2012 \
--base-name rabbit-introduction \
--markup-language rd \
--name "Kouhei Sutou" \
--email kou@cozmixng.org \
--rubygems-user kou \
--slideshare-user kou \
--speaker-deck-user kou
COMMAND
new: create a new slide
change: change an existing slide
Slide information
--id=ID Slide ID
(e.g.: --id=rubykaigi2012)
(must)
--base-name=NAME Base name for the slide source file and generated PDF file
(e.g.: --base-name=rabbit-introduction)
(must)
--markup-language=LANGUAGE Markup language for the new slide
(e.g.: --markup-language=rd)
(available markup languages: [rd, hiki, markdown])
(default: rd)
(optional)
--title=TITLE Title of the new slide
(e.g.: --title="Rabbit Introduction")
(optional)
--tags=TAG,TAG,... Tags of the new slide
(e.g.: --tags=rabbit,presentation,ruby)
(optional)
--allotted-time=TIME Allotted time in presentaion
(e.g.: --allotted-time=5m)
(optional)
--presentation-date=DATE Presentation date with the new slide
(e.g.: --presentation-date=2012/06/29)
(optional)
Your information
--name=NAME Author name of the new slide
(e.g.: --name="Kouhei Sutou")
(default: Kouhei Sutou)
(optional)
--email=EMAIL Author e-mail of the new slide
(e.g.: --email=kou@cozmixng.org)
(default: kou@clear-code.com)
(optional)
--rubygems-user=USER Account for RubyGems.org
It is used to publish your slide to RubyGems.org
(e.g.: --rubygems-user=kou)
(default: kou)
(optional)
--slideshare-user=USER Account for SlideShare
It is used to publish your slide to SlideShare
(e.g.: --slideshare-user=kou)
(default: kou)
(optional)
--speaker-deck-user=USER Account for Speaker Deck
It is used to publish your slide to Speaker Deck
(e.g.: --speaker-deck-user=kou)
(default: kou)
(optional)
Common options
--options-file=FILE Load options from FILE.
(none)
--locale-dir=DIR Specify locale dir as [DIR].
(auto)
--logger-type=TYPE Specify logger type as [TYPE].
Select from [gui, stderr].
(STDERR)
--log-level=LEVEL Specify log level as [LEVEL].
Select from [debug, info, warning, error, fatal, unknown].
(info)
--help Show this message.
--version Show version.
== Display
You can find the directory that name is same as the slide ID after you
generate slide template. You move to the directory. This documentation
assumes that you specified ((%--id theme-benchmark-en%)):
% cd theme-benchmark-en
You can display your slide by ((%rake%)):
% rake
You edit your source file with checking displayed slide. You edit your
source file, displayed slide is updated automatically.
== PDF generation
Let's publish your slide after you did presentation. You can confirm
your slide as PDF on your computer before you publish your slide. You
can generate PDF for your slide by ((%rake pdf%)):
% rake pdf
It generates ((%pdf/theme-benchmark-en.pdf%)). You open the PDF by
your favorite PDF viewer. You can use ((%rabbit%)) command because
Rabbit is a PDF viewer:
% cd pdf
% rabbit theme-benchmark-en.pdf
== Publication
There are publication features for RubyGems.org and SlideShare. There
is no publication feature for Speaker Deck because Speaker Deck
doesn't provide API to upload a presentation.
You need to specify the following parameters for publication on
generating templates:
* ((%--name%))
* ((%--email%))
* ((%--rubygems-user%)): for publishing to RubyGems.org
* ((%--slideshare-user%)): for publishing to SlideShare
You need to edit the following part in ((%README.rd%)):
= TODO: SLIDE TITLE
TODO: SLIDE DESCRIPTION
For example, here is a theme-benchmark-en case:
= Theme benchmark
It's a slide for checking a Rabbit's theme. It contains many
elements. So it's useful for confirming your theme.
You can publish your slide to both RubyGems.org and SlideShare by
((%rabbit publish%)). The following documentation describes to publish
your slide separately.
=== Publication for RubyGems.org
You can publish your slide to RubyGems.org by ((%rabbit
publish:rubygems%)):
% rake publish:rubygems
You can display a slide published on RubyGems.org by
((%rabbit #{the user name on RubyGems.org}-#{the slide ID}.gem%)).
For theme-benchmark-en case, "the user name on RubyGems.org" is
((%rabbit%)) and "the slide ID" is ((%theme-benchmark-en%)). So you
can display by the following command:
% rabbit rabbit-theme-benchmark-en.gem
You can view a slide published on RubyGems.org on (()). URL is
((%https://slide.rabbit-shocker.org/authors/#{the user name on
RubyGems.org}/#{the slide ID}/%)).
Rabbit Slide Show collects and displays all slides published on
RubyGems.org automatically. So you don't need to publish your slide to
Rabbit Slide Show explicitly. You only need to publish your slide to
RubyGems.org.
=== Publication for SlideShare
You can publish your slide to SlideShare by ((%rabbit publish:slideshare%)).
% rake publish:slideshare
If the task is completed successfully, the slide page on SlideShare is
opened by your favorite browser automatically.