npm package: @salespreso/deck-gulp-tasks
Description: Gulp Task for Salespreso Deck Projects
Author: Will Brennan
Latest version: 3.8.0

# Deck Gulp Tasks

This project allows you to compile your SalesPreso deck projects.

## Installation

    yarn add @salespreso/deck-gulp-tasks

## Usage

In order to run the gulp tasks you should create a `gulpfile.js` file at the root of your project.

You should then import the following:

    var  gulp  =  require("gulp");
    var  deck_gulp  =  require("@salespreso/deck-gulp-tasks");

Deck gulp tasks acts as a constructor for the tasks and allows you to pass in some options.

    deck_gulp(gulp, {
        //options
    });

### Options

| Option                | Usage                                                                                                        | Default                                                                                                |
| --------------------- | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ |
| `src`                 | Used to point to the source of your deck files                                                               | `"src/"`                                                                                               |
| `dist`                | The location you want the compiler to output the files to                                                    | `"dist/"`                                                                                              |
| `impostor`            | Allows for slides to be moved between sections in the application                                            | `false`                                                                                                |
| `excludes`            | Paths which the javascript compiler should ignore                                                            | `["sections/**/*.js"]`                                                                                 |
| `htmlExcludes`        | Paths which the html compiler should ignore                                                                  | `["partials/**/*.*"]`                                                                                  |
| `logInjections`       | Turns on/off logging for gulp-inject                                                                         | `false`                                                                                                |
| `notifications`       | Turns on/off toast notifications in the operating system                                                     | `{`<br>&nbsp;&nbsp;`error: true,`<br>&nbsp;&nbsp;`success: true,`<br>&nbsp;&nbsp;`sounds: true`<br>`}` |
| `sassPaths`           | Allows passing in paths to sass files in node_modules                                                        | `[]`                                                                                                   |
| `nunjucks`            | Allows compilation of `.njk` files into html                                                                 | `false`                                                                                                |
| `nunjucksOptions`     | Passes options through to the nunjucks compiler [options](https://github.com/sindresorhus/gulp-nunjucks#api) | `{}`                                                                                                   |
| `emojis`              | Turn on/off emojis in toast notifications (can cause issues on windows machines)                             | `true`                                                                                                 |
| `autoprefixCss`       | Turns on/off autoprefixing in sass files                                                                     | `false`                                                                                                |
| `autoprefixerOptions` | [See here](https://github.com/postcss/autoprefixer#options)                                                  | `{}`                                                                                                   |

### Injection

You can inject files into html files (Cannot nest injections, currently!).
The current allowed files are `.svg` `.js` and `.html`.

You must use full paths from the root of the project, not relative to the html file.

    <!-- inject:{{path}}.{{html|js|svg}} -->
    <!-- endinject -->

Inside those templates you have access to the name of the slide folder as `{{slide_id}}`. If you use this make sure the id of your slide matches the name of the folder.