123456789101112131415161718192021222324252627282930313233 |
- var nunjucks = require('nunjucks')
- /**
- * Partial tag for Nunjucks
- *
- * Usage: {% partial fileName="partial.md", arg1="Value", arg2="Value"%}
- */
- var util = require('util');
- function partialTag(locals) {
- this.tags = ['partial']
- this.parse = function(parser, nodes, lexer) {
- var tok = parser.nextToken()
- var args = parser.parseSignature(null, true)
- parser.advanceAfterBlockEnd(tok.value)
- return new nodes.CallExtension(this, 'run', args)
- }
- this.run = function(context, fileName, args) {
- for (var key in args) {
- locals[key] = args[key]
- }
- var output = new nunjucks.runtime.SafeString(locals.partial(fileName))
- return output
- }
- }
- module.exports = partialTag
|