https://github.com/bmatcuk/pug-brunch-static
Compile static pug files with brunch
https://github.com/bmatcuk/pug-brunch-static
Last synced: about 1 month ago
JSON representation
Compile static pug files with brunch
- Host: GitHub
- URL: https://github.com/bmatcuk/pug-brunch-static
- Owner: bmatcuk
- License: mit
- Created: 2016-09-09T23:40:49.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2022-12-10T16:11:54.000Z (over 3 years ago)
- Last Synced: 2025-02-06T08:38:58.813Z (over 1 year ago)
- Language: JavaScript
- Size: 440 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README

# pug-brunch-static
Compile static pug files with brunch.
pug-brunch-static is a processor for [html-brunch-static](https://github.com/bmatcuk/html-brunch-static), a [brunch](http://brunch.io/) plugin designed to handle static html files. pug-brunch-static can convert pug files into static html files with html-brunch-static's support for layouts and partial views.
If you're looking for support for deprecated "jade" files, check out [jade-brunch-static](https://github.com/bmatcuk/jade-brunch-static).
## Installation
pug-brunch-static depends on [html-brunch-static](https://github.com/bmatcuk/html-brunch-static), which also depends on [brunch-static](https://github.com/bmatcuk/brunch-static), so, you will need to install all three. The recommended method is via npm:
```bash
npm install --save-dev brunch-static html-brunch-static pug-brunch-static
```
Or manually:
* Add `"brunch-static": "x.y.z"` to package.json
* Add `"html-brunch-static": "x.y.z"` to package.json
* Add `"pug-brunch-static": "x.y.z"` to package.json
* Run `npm install`
* Alternatively, you may use the latest git version with:
* `"brunch-static": "git+ssh://git@github.com:bmatcuk/brunch-static"`
* `"html-brunch-static": "git+ssh://git@github.com:bmatcuk/html-brunch-static"`
* `"pug-brunch-static": "git+ssh://git@github.com:bmatcuk/pug-brunch-static"`
## Configuration
Add pug-brunch-static to your list of html-brunch-static processors:
```coffee
exports.config =
...
plugins: {
static: {
processors: [
require('html-brunch-static')({
processors: [
require('pug-brunch-static')({
fileMatch: 'source/views/home.pug',
fileTransform: (filename) => filename.replace(/static\.pug$/, '.html')
})
]
})
]
}
}
```
Most options passed to pug-brunch-static are passed, verbatim, to [pug](https://github.com/pugjs/pug), with the exception of:
* **fileMatch** _(default: `/\.static\.pug$/`)_
> _fileMatch_ is an [anymatch](https://github.com/es128/anymatch) that is used to determine which files will be handled by this processor. As an anymatch, it may be a string with globs, a regex, or a function that takes a filename and returns true if it should be handled, or false otherwise. The default will match files that end in `.static.pug`.
* **fileTransform** _(default: `(filename) => filename.replace(/static\.pug$/, '.html')`)_
> _fileTransform_ converts the input filename into an html filename. It takes a filename as input and returns the new filename with the html extension. If you set the _fileMatch_ property above, you'll probably need to set this option as well to ensure that your output files end with the html extension.
## Context and Local Variables
The [html-brunch-static's context](https://github.com/bmatcuk/html-brunch-static#context-layouts-and-partials) will be exposed in your pug files as local variables allowing you to use them in your template.