Command Line Interface¶ ↑
showoff [global options] command [command options] [arguments...]
- 
Use the command
helpto get a summary of commands - 
Use the command
help command_nameto get a help forcommand_name - 
Use
--to stop command line argument processing; useful if your arguments have dashes in them 
Commands¶ ↑
add- 
Add a new slide at the end in a given dir
 create- 
Create new showoff presentation
 skeleton- 
Generate a full presentation based on a
showoff.jsonoutline help- 
Shows list of commands or help for one command
 heroku- 
Setup your presentation to serve on Heroku
 github- 
Setup your presentation to serve on GitHub Pages
 serve- 
Serves the showoff presentation in the current directory (or a given dir)
 static- 
Generate static version of presentation
 validate- 
Validate the consistency of your presentation
 
showoff help [command]¶ ↑
Shows list of commands or help for one command
showoff add [title]¶ ↑
Add a new slide at the end in a given dir
- Aliases
 - 
new 
- 
 
Outputs or creates a new slide. With -d and -n, a new slide is created in the given dir, numbered to appear as the last slide in that dir (use -u to avoid numbering). Without those, outputs the slide markdown to stdout (useful for shelling out from your editor). You may also specify a source file to use for a code slide.
Options are specified after the command.
-d, --dir=dir- 
Slide dir (where to put a new slide file)
 -n, --name=basename- 
Slide name (name of the new slide file)
 -s, --source=path to file- 
Include code from the given file as the slide body
 -t, --style, --type=valid showoff style/type- 
Slide Type/Style ( default:
title) -u, --nonumber- 
Don't number the slide, use the given name verbatim
 
showoff create dir_name¶ ↑
Create new showoff presentation
- Aliases
 - 
init 
- 
 
This command helps start a new Showoff presentation by setting up the proper directory structure for you. It takes the directory name you would like Showoff to create for you.
Options are specified after the command.
-d, --slidedir=arg- 
sample slide directory name ( default:
one). Pass a comma-separated list to create multiple directories. -n, --nosamples- 
Don't create sample slides
 
showoff heroku heroku_name¶ ↑
Setup your presentation to serve on Heroku
Creates the configuration files needed to Herokuize a Showoff presentation and then deploy it for you. This will register the new project on Heroku if needed and create the git remote for you.
Open your new presentation by running heroku open.
Requires the heroku and bundler gems to be
installed properly.
showoff github¶ ↑
Generates a static version of your site and puts it in a gh-pages branch for static serving on GitHub.
Options are specified after the command.
-f, --force- 
force overwrite of existing Gemfile/.gems and config.ru files if they exist
 -g, --dotgems- 
Use older-style .gems file instead of bundler-style Gemfile
 -p, --password=arg- 
add password protection to your heroku site
 
showoff serve¶ ↑
Serves the showoff presentation in the current directory
Options are specified after the command. More arguments
can be seen by running showoff serve --help.
-f, --pres_file=arg- 
Presentation file (default:
showoff.json) -h, --host=arg- 
Host or ip to run on ( default:
localhost) -p, --port=arg- 
Port on which to run ( default:
9090) -u, --url=address- 
Git URL to a repository containing the presentation ( default:
none) 
showoff skeleton¶ ↑
Reads a showoff.json file and generates a skeleton
presentation, with one sample slide file for each entry in the
showoff.json. Clearly this only works when listing all slide
files. If you're only listing sections, then it will only create the
directories for you.
Options are specified after the command.
-f, --file=arg- 
Presentation file (default:
showoff.json) 
showoff static [name]¶ ↑
Generate static version of presentation with an optional supplemental materials type.
showoff validate¶ ↑
This will validate the consistency of a presentation. If a
showoff.json file is present, it will be used to determine the
list of slide files. If not, it will use shell globbing to identify the
list.
Each missing file or section directory is identified, then validation scripts are run against code blocks on each file. By default, validators are known for Perl, Puppet, Python, Ruby, and Shell. See PRESENTATION.rdoc to define custom validators.
Options are specified after the command.
-f, --file=arg- 
Presentation file (default:
showoff.json) 
showoff pdf [name]¶ ↑
Generate PDF version of presentation with an optional output filename. This
requires the pdfkit gem and the wkhtmltopdf
rendering engine installed into your $PATH.
Note: It's sometimes easier to browse to the /print
endpoint and print the page using your browser's native print function
or use showoff static and using another tool to render the
HTML files into a PDF.
Shell Auto Completion¶ ↑
ZSH completion¶ ↑
You can complete commands and options in ZSH, by installing a script:
mkdir -p $HOME/.zsh/Completion cp script/_showoff $HOME/.zsh/Completion echo 'fpath=(~/.zsh/Completion $fpath)' >> $HOME/.zshrc
bash completion¶ ↑
You can complete commands for showoff by putting the following in your
.bashrc (or whatever you use when starting bash):
complete -F get_showoff_commands
function get_showoff_commands()
{
    if [ -z $2 ] ; then
        COMPREPLY=(`showoff help -c`)
    else
        COMPREPLY=(`showoff help -c $2`)
    fi
}
You can also install that as an executable script such as
/etc/bash_completion.d/showoff.