mirror of
https://github.com/Jermolene/TiddlyWiki5
synced 2024-06-24 22:33:16 +00:00
AWS Plugin: More flexible specification of the output type
This commit is contained in:
parent
35a7a66b01
commit
24c325611b
|
@ -43,14 +43,14 @@ Save a raw tiddler to a file in an S3 bucket.
|
||||||
Save raw tiddlers matching a filter to an S3 bucket.
|
Save raw tiddlers matching a filter to an S3 bucket.
|
||||||
|
|
||||||
```
|
```
|
||||||
--aws s3-savetiddlers <filter> <region> <bucket> <filenamefilter> <savetype>
|
--aws s3-savetiddlers <filter> <region> <bucket> <filenamefilter> <savetypefilter>
|
||||||
```
|
```
|
||||||
|
|
||||||
* ''filter'': filter identifying tiddlers to render
|
* ''filter'': filter identifying tiddlers to render
|
||||||
* ''region'': AWS region
|
* ''region'': AWS region
|
||||||
* ''bucket'': name of the bucket to save the files
|
* ''bucket'': name of the bucket to save the files
|
||||||
* ''filenamefilter'': filter for converting tiddler titles to filepaths (eg `[encodeuricomponent[]addprefix[files/]addsuffix[.html]]`)
|
* ''filenamefilter'': filter for converting tiddler titles to filepaths (eg `[encodeuricomponent[]addprefix[files/]addsuffix[.html]]`)
|
||||||
* ''savetype'': optional; the MIME type for the saved file (defaults to ''type'' or "text/html")
|
* ''savetypefilter'': optional; a filter that is passed the title of the tiddler being saved and should yield the MIME type for the saved file (defaults to a filter that yields the value of the ''type'' field)
|
||||||
|
|
||||||
! "s3-rendertiddler" subcommand
|
! "s3-rendertiddler" subcommand
|
||||||
|
|
||||||
|
@ -74,7 +74,7 @@ Save the results of rendering a tiddler to a file in an S3 bucket.
|
||||||
Save the results of rendering tiddlers identified by a filter to files in an S3 bucket.
|
Save the results of rendering tiddlers identified by a filter to files in an S3 bucket.
|
||||||
|
|
||||||
```
|
```
|
||||||
--aws s3-rendertiddlers <filter> <template> <region> <bucket> <filenamefilter> <type> <savetype>
|
--aws s3-rendertiddlers <filter> <template> <region> <bucket> <filenamefilter> <type> <savetypefilter>
|
||||||
```
|
```
|
||||||
|
|
||||||
* ''filter'': filter identifying tiddlers to render
|
* ''filter'': filter identifying tiddlers to render
|
||||||
|
@ -83,4 +83,4 @@ Save the results of rendering tiddlers identified by a filter to files in an S3
|
||||||
* ''bucket'': name of the bucket to save the rendered file
|
* ''bucket'': name of the bucket to save the rendered file
|
||||||
* ''filenamefilter'': filter for converting tiddler titles to filepaths (eg `[encodeuricomponent[]addprefix[files/]addsuffix[.html]]`)
|
* ''filenamefilter'': filter for converting tiddler titles to filepaths (eg `[encodeuricomponent[]addprefix[files/]addsuffix[.html]]`)
|
||||||
* ''type'': optional render type (defaults to "text/html")
|
* ''type'': optional render type (defaults to "text/html")
|
||||||
* ''savetype'': optional; the MIME type for the saved file (defaults to ''type'' or "text/html")
|
* ''savetypefilter'': optional; a filter that is passed the title of the tiddler being rendered and should yield the MIME type for the saved file (defaults to the value of the ''type'' field via `[is[tiddler]get[type]]`)
|
||||||
|
|
|
@ -129,7 +129,7 @@ Command.prototype.subCommands["s3-rendertiddlers"] = function() {
|
||||||
bucket = this.params[4],
|
bucket = this.params[4],
|
||||||
filenameFilter = this.params[5],
|
filenameFilter = this.params[5],
|
||||||
type = this.params[6] || "text/html",
|
type = this.params[6] || "text/html",
|
||||||
saveType = this.params[7] || type,
|
saveTypeFilter = this.params[7] || "[[" + type + "]]",
|
||||||
tiddlers = wiki.filterTiddlers(filter);
|
tiddlers = wiki.filterTiddlers(filter);
|
||||||
// Check parameters
|
// Check parameters
|
||||||
if(!filter || !template || !region || !bucket || !filenameFilter) {
|
if(!filter || !template || !region || !bucket || !filenameFilter) {
|
||||||
|
@ -139,14 +139,13 @@ Command.prototype.subCommands["s3-rendertiddlers"] = function() {
|
||||||
tiddlers,
|
tiddlers,
|
||||||
20,
|
20,
|
||||||
function(title,callback) {
|
function(title,callback) {
|
||||||
var parser = wiki.parseTiddler(template),
|
var parser = wiki.parseTiddler(template || title),
|
||||||
widgetNode = wiki.makeWidget(parser,{variables: {currentTiddler: title}}),
|
widgetNode = wiki.makeWidget(parser,{variables: {currentTiddler: title}}),
|
||||||
container = $tw.fakeDocument.createElement("div");
|
container = $tw.fakeDocument.createElement("div");
|
||||||
widgetNode.render(container,null);
|
widgetNode.render(container,null);
|
||||||
var text = type === "text/html" ? container.innerHTML : container.textContent,
|
var text = type === "text/html" ? container.innerHTML : container.textContent,
|
||||||
filename = wiki.filterTiddlers(filenameFilter,$tw.rootWidget,function(iterator) {
|
filename = wiki.filterTiddlers(filenameFilter,$tw.rootWidget,wiki.makeTiddlerIterator([title]))[0],
|
||||||
iterator(wiki.getTiddler(title),title)
|
saveType = wiki.filterTiddlers(saveTypeFilter,$tw.rootWidget,wiki.makeTiddlerIterator([title]))[0];
|
||||||
})[0];
|
|
||||||
awsUtils.putFile(region,bucket,filename,text,saveType,callback);
|
awsUtils.putFile(region,bucket,filename,text,saveType,callback);
|
||||||
},
|
},
|
||||||
function(err,results) {
|
function(err,results) {
|
||||||
|
@ -201,7 +200,7 @@ Command.prototype.subCommands["s3-savetiddlers"] = function() {
|
||||||
region = this.params[2],
|
region = this.params[2],
|
||||||
bucket = this.params[3],
|
bucket = this.params[3],
|
||||||
filenameFilter = this.params[4],
|
filenameFilter = this.params[4],
|
||||||
saveType = this.params[5],
|
saveTypeFilter = this.params[5] || "[is[tiddler]get[type]]",
|
||||||
tiddlers = wiki.filterTiddlers(filter);
|
tiddlers = wiki.filterTiddlers(filter);
|
||||||
// Check parameters
|
// Check parameters
|
||||||
if(!filter || !region || !bucket || !filenameFilter) {
|
if(!filter || !region || !bucket || !filenameFilter) {
|
||||||
|
@ -214,9 +213,8 @@ Command.prototype.subCommands["s3-savetiddlers"] = function() {
|
||||||
var tiddler = wiki.getTiddler(title),
|
var tiddler = wiki.getTiddler(title),
|
||||||
text = tiddler.fields.text || "",
|
text = tiddler.fields.text || "",
|
||||||
type = tiddler.fields.type || "text/vnd.tiddlywiki",
|
type = tiddler.fields.type || "text/vnd.tiddlywiki",
|
||||||
filename = wiki.filterTiddlers(filenameFilter,$tw.rootWidget,function(iterator) {
|
filename = wiki.filterTiddlers(filenameFilter,$tw.rootWidget,wiki.makeTiddlerIterator([title]))[0],
|
||||||
iterator(wiki.getTiddler(title),title)
|
saveType = wiki.filterTiddlers(saveTypeFilter,$tw.rootWidget,wiki.makeTiddlerIterator([title]))[0];
|
||||||
})[0];
|
|
||||||
awsUtils.putFile(region,bucket,filename,text,saveType || type,callback);
|
awsUtils.putFile(region,bucket,filename,text,saveType || type,callback);
|
||||||
},
|
},
|
||||||
function(err,results) {
|
function(err,results) {
|
||||||
|
|
Loading…
Reference in New Issue
Block a user