1
0
mirror of https://github.com/Jermolene/TiddlyWiki5 synced 2024-11-27 20:10:03 +00:00

Merge branch 'welford-static_export_macro'

This commit is contained in:
Jermolene 2015-02-20 21:56:18 +00:00
commit a80b20e8df
3 changed files with 11 additions and 3 deletions

View File

@ -35,7 +35,8 @@ Command.prototype.execute = function() {
wiki = this.commander.wiki, wiki = this.commander.wiki,
filter = this.params[0], filter = this.params[0],
template = this.params[1], template = this.params[1],
pathname = path.resolve(this.commander.outputPath,this.params[2]), outputPath = this.commander.outputPath,
pathname = path.resolve(outputPath,this.params[2]),
type = this.params[3] || "text/html", type = this.params[3] || "text/html",
extension = this.params[4] || ".html", extension = this.params[4] || ".html",
deleteDirectory = (this.params[5] || "") != "noclean", deleteDirectory = (this.params[5] || "") != "noclean",
@ -50,7 +51,13 @@ Command.prototype.execute = function() {
var container = $tw.fakeDocument.createElement("div"); var 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;
fs.writeFileSync(path.resolve(pathname,encodeURIComponent(title) + extension),text,"utf8"); var export_path = null;
if($tw.utils.hop($tw.macros,"tv-get-export-path")) {
export_path = path.resolve(outputPath,$tw.macros["tv-get-export-path"].run.apply(self,[title]) + extension);
}
var final_path = export_path || path.resolve(pathname,encodeURIComponent(title) + extension);
$tw.utils.createFileDirectories(final_path);
fs.writeFileSync(final_path,text,"utf8");
}); });
return null; return null;
}; };

View File

@ -52,7 +52,7 @@ ImageWidget.prototype.render = function(parent,nextSibling) {
tiddler = this.wiki.getTiddler(this.imageSource); tiddler = this.wiki.getTiddler(this.imageSource);
if(!tiddler) { if(!tiddler) {
// The source isn't the title of a tiddler, so we'll assume it's a URL // The source isn't the title of a tiddler, so we'll assume it's a URL
src = this.imageSource; src = this.getVariable("tv-get-export-image-link",{params: [{name: "src",value: this.imageSource}],defaultValue: this.imageSource});
} else { } else {
// Check if it is an image tiddler // Check if it is an image tiddler
if(this.wiki.isImageTiddler(this.imageSource)) { if(this.wiki.isImageTiddler(this.imageSource)) {

View File

@ -77,6 +77,7 @@ LinkWidget.prototype.renderLink = function(parent,nextSibling) {
wikiLinkTemplate = wikiLinkTemplateMacro ? wikiLinkTemplateMacro.trim() : "#$uri_encoded$", wikiLinkTemplate = wikiLinkTemplateMacro ? wikiLinkTemplateMacro.trim() : "#$uri_encoded$",
wikiLinkText = wikiLinkTemplate.replace("$uri_encoded$",encodeURIComponent(this.to)); wikiLinkText = wikiLinkTemplate.replace("$uri_encoded$",encodeURIComponent(this.to));
wikiLinkText = wikiLinkText.replace("$uri_doubleencoded$",encodeURIComponent(encodeURIComponent(this.to))); wikiLinkText = wikiLinkText.replace("$uri_doubleencoded$",encodeURIComponent(encodeURIComponent(this.to)));
wikiLinkText = this.getVariable("tv-get-export-link",{params: [{name: "to",value: this.to}],defaultValue: wikiLinkText});
domNode.setAttribute("href",wikiLinkText); domNode.setAttribute("href",wikiLinkText);
// Set the tooltip // Set the tooltip
// HACK: Performance issues with re-parsing the tooltip prevent us defaulting the tooltip to "<$transclude field='tooltip'><$transclude field='title'/></$transclude>" // HACK: Performance issues with re-parsing the tooltip prevent us defaulting the tooltip to "<$transclude field='tooltip'><$transclude field='title'/></$transclude>"