diff --git a/core/language/en-GB/Help/rendertiddler.tid b/core/language/en-GB/Help/rendertiddler.tid index 60b3af0b9..f4508fb5e 100644 --- a/core/language/en-GB/Help/rendertiddler.tid +++ b/core/language/en-GB/Help/rendertiddler.tid @@ -1,12 +1,22 @@ title: $:/language/Help/rendertiddler description: Render an individual tiddler as a specified ContentType -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). +Render an individual tiddler as a specified ContentType, defaulting to `text/html` and save it to the specified filename. + +Optionally the title of a template tiddler 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). + +A name and value for an additional variable may optionally also be specified. ``` ---rendertiddler <filename> [<type>] [<template>] +--rendertiddler <title> <filename> [<type>] [<template>] [<name>] [<value>] ``` 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. Any missing directories in the path to the filename are automatically created. + +For example, the following command saves all tiddlers matching the filter `[tag[done]]` to a JSON file titled `output.json` by employing the core template `$:/core/templates/exporters/JsonFile`. + +``` +--rendertiddler "$:/core/templates/exporters/JsonFile" output.json text/plain "" exportFilter "[tag[done]]" +``` diff --git a/core/modules/commands/rendertiddler.js b/core/modules/commands/rendertiddler.js index 22f6c1ecc..1860beb7e 100755 --- a/core/modules/commands/rendertiddler.js +++ b/core/modules/commands/rendertiddler.js @@ -34,12 +34,17 @@ Command.prototype.execute = function() { filename = path.resolve(this.commander.outputPath,this.params[1]), type = this.params[2] || "text/html", template = this.params[3], + name = this.params[4], + value = this.params[5], variables = {}; $tw.utils.createFileDirectories(filename); if(template) { variables.currentTiddler = title; title = template; } + if(name && value) { + variables[name] = value; + } fs.writeFile(filename,this.commander.wiki.renderTiddler(type,title,{variables: variables}),"utf8",function(err) { self.callback(err); });