From 4ccdaf3fafda2f1d0766ed69c68d030a7db2bbc6 Mon Sep 17 00:00:00 2001 From: Jermolene Date: Thu, 3 Sep 2015 08:53:08 +0100 Subject: [PATCH] Enhance rendertiddler command with template option --- core/language/en-GB/Help/rendertiddler.tid | 4 ++-- core/modules/commands/rendertiddler.js | 10 ++++++++-- 2 files changed, 10 insertions(+), 4 deletions(-) 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;