node package manager


Grunt task that generates Shower presentations from Markdown source.

Grunt task that generates Shower presentations from Markdown source

This plugin requires Grunt 0.4.

Install grunt-shower-markdown:

npm install grunt-shower-markdown --save-dev

Add somewhere in your Gruntfile.js:


Add a section named shower into your Gruntfile.js file. See Parameters section below for details.

Title of presentation (used in <title> tag).

Path of source Markdown file.

Path of result HTML file.

Language of presentation.

Path where theme of presentation is located.

List of CSS files specific to your presentation.

List of JavaScript files specific to your presentation.

Hides progress bar when false.

Any HTML to put before </body>.

module.exports = function(grunt) {
shower: {
index: {
title: 'Test presentation',
src: 'src/',
styles: 'src/styles.css'
scripts: [
watch: {
shower: {
files: 'src/*',
tasks: 'shower'
grunt.registerTask('default', 'shower');
# Presentation Title
[Author]( and any other content to show above slides.

!SLIDE #SlideID class1 class2

## Slide Title


<p class="note">Some HTML</p>

- List item one
-? Two (delayed)
-? Three (delayed)

!SLIDE #Cover shoot

## Hello world!


## Code example

@@concat@@: {
	main: {
		text: @@@'Hello world'@@@

grunt-shower-markdown uses GitHub flavored Markdown with some extenstions.

If you want to delay display of list items, put ? after list marker:

- One
-? Two (delayed)
-? Three (delayed)

You can highlight important parts of presentation using @@text@@ (important) and @@@text@@@ (very important):

@@concat@@: {
main: {
text: @@@'Hello world'@@@
  • Grunt 0.4 support.

The MIT License, see the included file.