mirror of
https://github.com/Jermolene/TiddlyWiki5
synced 2025-08-06 22:04:19 +00:00
Extend fields widget to allow stripping of prefixes from tiddler titles
This functionality is a bit specific to the production of TW2, and so might be refactored elsewise in the future.
This commit is contained in:
parent
d3fefa8b16
commit
f37e99d1fb
@ -24,6 +24,7 @@ FieldsWidget.prototype.generate = function() {
|
|||||||
this.tiddlerTitle = this.renderer.getAttribute("tiddler",this.renderer.getContextTiddlerTitle());
|
this.tiddlerTitle = this.renderer.getAttribute("tiddler",this.renderer.getContextTiddlerTitle());
|
||||||
this.template = this.renderer.getAttribute("template");
|
this.template = this.renderer.getAttribute("template");
|
||||||
this.exclude = this.renderer.getAttribute("exclude");
|
this.exclude = this.renderer.getAttribute("exclude");
|
||||||
|
this.stripTitlePrefix = this.renderer.getAttribute("stripTitlePrefix","no") === "yes";
|
||||||
// Get the tiddler we're displaying
|
// Get the tiddler we're displaying
|
||||||
var tiddler = this.renderer.renderTree.wiki.getTiddler(this.tiddlerTitle);
|
var tiddler = this.renderer.renderTree.wiki.getTiddler(this.tiddlerTitle);
|
||||||
// Get the exclusion list
|
// Get the exclusion list
|
||||||
@ -36,12 +37,20 @@ FieldsWidget.prototype.generate = function() {
|
|||||||
// Compose the template
|
// Compose the template
|
||||||
var text = [];
|
var text = [];
|
||||||
if(this.template && tiddler) {
|
if(this.template && tiddler) {
|
||||||
for(var field in tiddler.fields) {
|
for(var fieldName in tiddler.fields) {
|
||||||
if(exclude.indexOf(field) === -1) {
|
if(exclude.indexOf(fieldName) === -1) {
|
||||||
var row = this.template;
|
var row = this.template,
|
||||||
row = row.replace("$name$",field);
|
value = tiddler.getFieldString(fieldName);
|
||||||
row = row.replace("$value$",tiddler.getFieldString(field));
|
if(this.stripTitlePrefix && fieldName === "title") {
|
||||||
row = row.replace("$encoded_value$",$tw.utils.htmlEncode(tiddler.getFieldString(field)));
|
var reStrip = /^\{[^\}]+\}(.+)/mg,
|
||||||
|
reMatch = reStrip.exec(value);
|
||||||
|
if(reMatch) {
|
||||||
|
value = reMatch[1];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
row = row.replace("$name$",fieldName);
|
||||||
|
row = row.replace("$value$",value);
|
||||||
|
row = row.replace("$encoded_value$",$tw.utils.htmlEncode(value));
|
||||||
text.push(row)
|
text.push(row)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user