diff --git a/core/language/en-GB/Help/rendertiddler.tid b/core/language/en-GB/Help/rendertiddler.tid index 70db526f2..60b3af0b9 100644 --- a/core/language/en-GB/Help/rendertiddler.tid +++ b/core/language/en-GB/Help/rendertiddler.tid @@ -1,10 +1,10 @@ title: $:/language/Help/rendertiddler description: Render an individual tiddler as a specified ContentType -Render an individual tiddler as a specified ContentType, defaults to `text/html` and save it to the specified filename: +Render an individual tiddler as a specified ContentType, defaulting to `text/html` and save it to the specified filename. Optionally a template can be specified, in which case the template tiddler is rendered with the "currentTiddler" variable set to the tiddler that is being rendered (the first parameter value). ``` ---rendertiddler <filename> [<type>] +--rendertiddler <title> <filename> [<type>] [<template>] ``` By default, the filename is resolved relative to the `output` subdirectory of the edition directory. The `--output` command can be used to direct output to a different directory. diff --git a/core/modules/commands/rendertiddler.js b/core/modules/commands/rendertiddler.js index 388137efe..22f6c1ecc 100755 --- a/core/modules/commands/rendertiddler.js +++ b/core/modules/commands/rendertiddler.js @@ -32,9 +32,15 @@ Command.prototype.execute = function() { path = require("path"), title = this.params[0], filename = path.resolve(this.commander.outputPath,this.params[1]), - type = this.params[2] || "text/html"; + type = this.params[2] || "text/html", + template = this.params[3], + variables = {}; $tw.utils.createFileDirectories(filename); - fs.writeFile(filename,this.commander.wiki.renderTiddler(type,title),"utf8",function(err) { + if(template) { + variables.currentTiddler = title; + title = template; + } + fs.writeFile(filename,this.commander.wiki.renderTiddler(type,title,{variables: variables}),"utf8",function(err) { self.callback(err); }); return null;