An open API service indexing awesome lists of open source software.

https://github.com/docpad/docpad-plugin-pug

Adds support for the Pug templating engine to DocPad.
https://github.com/docpad/docpad-plugin-pug

docpad-plugin jade pug

Last synced: 2 months ago
JSON representation

Adds support for the Pug templating engine to DocPad.

Awesome Lists containing this project

README

        

# [Pug](http://pugjs.org/) Plugin for [DocPad](http://docpad.org)

Travis CI Build Status
NPM version
NPM downloads
Dependency Status
Dev Dependency Status


GitHub Sponsors donate button
Patreon donate button
Flattr donate button
Liberapay donate button
Buy Me A Coffee donate button
Open Collective donate button
crypto donate button
PayPal donate button
Wishlist browse button

Adds support for the [Pug](http://pugjs.org/) templating engine to [DocPad](https://docpad.org)

Convention: `anything.pug`

## Install

```
docpad install pug
```

## Awareness

Before you get started with Pug, it is important to be aware of one thing. The majority of support questions that come through with DocPad, aren't actually DocPad issues, but Pug issues. People confusing the syntax, Pug doing it's own templating magic, things like that.

The DocPad team recommends you try one of the many other [amazing templating engines](http://docpad.org/docs/plugins#renderers) that are available, over trying to use Pug.

If you still insist on using Pug, please be aware, Pug will be a slippery slope, but luckily there are determined Pug users here to help :)

## Usage

``` pug
---
title: "Pug Example"
---

h1= document.title

ul
each page in getCollection("html").findAll({isPage:true}).toJSON()
li(class!=page.id === document.id ? 'active' : 'inactive')
a(href=page.url)
= page.title
```

### Template Helpers as Filters

Use just like any pug template. However, we do add any docpad template helpers you may have as pug filters. There are two ways you can use these filters:

``` pug
-# first way, calls the template helper like: myTemplateHelper("content", {opt1="blah",opt2="blah",opt3=true})
:myTemplateHelper(opt1=blah,opt2=blah,opt3)
content

-# second way, calls the template helper like: myTemplateHelper(arg1, arg2)
:myTemplateHelper(args)
arg1
arg2
```

NOTE: Not all template helpers support being called this way. If it doesn't work, we'd recommend using the text plugin to render eco which includes your template helper call. See following section.

### Pug :filters

All [JSTransformers](https://www.npmjs.com/browse/keyword/jstransformer) can now be used as pug filters.

### Rendering with the Text Plugin
You can use the [text plugin](http://docpad.org/plugin/text) to render different parts of your template with different markups that are support by your docpad setup. Once installed, you can do things like:

``` pug
:t(render="markdown")
here is some *markdown*

:t(render="html.md.eco")
here is some <%-'eco'.toUpperCase()%> to *markdown* to html

:t(render="html.eco")
my url is <%[email protected]%>
```

History

Discover the release history by heading on over to the HISTORY.md file.

Contribute

Discover how you can contribute by heading on over to the CONTRIBUTING.md file.

Backers

Maintainers

These amazing people are maintaining this project:

Sponsors

No sponsors yet! Will you be the first?

GitHub Sponsors donate button
Patreon donate button
Flattr donate button
Liberapay donate button
Buy Me A Coffee donate button
Open Collective donate button
crypto donate button
PayPal donate button
Wishlist browse button

Contributors

These amazing people have contributed code to this project:

Discover how you can contribute by heading on over to the CONTRIBUTING.md file.

License

Unless stated otherwise all works are:

and licensed under: