Command Line Interface

showoff [global options] command [command options] [arguments...]

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.json outline

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.