kopia lustrzana https://github.com/miklobit/TiddlyWiki5
Add template syntax for transclusion
rodzic
8ef3e59416
commit
05ccb85759
|
@ -8,6 +8,8 @@ Wiki text rule for block-level transclusion. For example:
|
||||||
```
|
```
|
||||||
{{MyTiddler}}
|
{{MyTiddler}}
|
||||||
{{MyTiddler|tooltip}}
|
{{MyTiddler|tooltip}}
|
||||||
|
{{MyTiddler||TemplateTitle}}
|
||||||
|
{{MyTiddler|tooltip||TemplateTitle}}
|
||||||
{{MyTiddler}width:40;height:50;}.class.class
|
{{MyTiddler}width:40;height:50;}.class.class
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -24,7 +26,7 @@ exports.types = {block: true};
|
||||||
exports.init = function(parser) {
|
exports.init = function(parser) {
|
||||||
this.parser = parser;
|
this.parser = parser;
|
||||||
// Regexp to match
|
// Regexp to match
|
||||||
this.matchRegExp = /\{\{([^\{\}\|]+)(?:\|([^\{\}]+))?\}([^\}]*)\}(?:\.(\S+))?(?:\r?\n|$)/mg;
|
this.matchRegExp = /\{\{([^\{\}\|]+)(?:\|([^\|\{\}]+))?(?:\|\|([^\|\{\}]+))?\}([^\}]*)\}(?:\.(\S+))?(?:\r?\n|$)/mg;
|
||||||
};
|
};
|
||||||
|
|
||||||
exports.parse = function() {
|
exports.parse = function() {
|
||||||
|
@ -33,8 +35,9 @@ exports.parse = function() {
|
||||||
// Get the match details
|
// Get the match details
|
||||||
var targetTitle = this.match[1],
|
var targetTitle = this.match[1],
|
||||||
tooltip = this.match[2],
|
tooltip = this.match[2],
|
||||||
style = this.match[3],
|
template = this.match[3],
|
||||||
classes = this.match[4];
|
style = this.match[4],
|
||||||
|
classes = this.match[5];
|
||||||
// Return the transclude widget
|
// Return the transclude widget
|
||||||
var node = {
|
var node = {
|
||||||
type: "widget",
|
type: "widget",
|
||||||
|
@ -47,6 +50,9 @@ exports.parse = function() {
|
||||||
if(tooltip) {
|
if(tooltip) {
|
||||||
node.attributes.tooltip = {type: "string", value: tooltip};
|
node.attributes.tooltip = {type: "string", value: tooltip};
|
||||||
}
|
}
|
||||||
|
if(template) {
|
||||||
|
node.attributes.template = {type: "string", value: template};
|
||||||
|
}
|
||||||
if(style) {
|
if(style) {
|
||||||
node.attributes.style = {type: "string", value: style};
|
node.attributes.style = {type: "string", value: style};
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,6 +8,8 @@ Wiki text rule for inline-level transclusion. For example:
|
||||||
```
|
```
|
||||||
{{MyTiddler}}
|
{{MyTiddler}}
|
||||||
{{MyTiddler|tooltip}}
|
{{MyTiddler|tooltip}}
|
||||||
|
{{MyTiddler||TemplateTitle}}
|
||||||
|
{{MyTiddler|tooltip||TemplateTitle}}
|
||||||
{{MyTiddler}width:40;height:50;}.class.class
|
{{MyTiddler}width:40;height:50;}.class.class
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -24,7 +26,7 @@ exports.types = {inline: true};
|
||||||
exports.init = function(parser) {
|
exports.init = function(parser) {
|
||||||
this.parser = parser;
|
this.parser = parser;
|
||||||
// Regexp to match
|
// Regexp to match
|
||||||
this.matchRegExp = /\{\{([^\{\}\|]+)(?:\|([^\{\}]+))?\}([^\}]*)\}(?:\.(\S+))?/mg;
|
this.matchRegExp = /\{\{([^\{\}\|]+)(?:\|([^\|\{\}]+))?(?:\|\|([^\|\{\}]+))?\}([^\}]*)\}(?:\.(\S+))?/mg;
|
||||||
};
|
};
|
||||||
|
|
||||||
exports.parse = function() {
|
exports.parse = function() {
|
||||||
|
@ -33,8 +35,9 @@ exports.parse = function() {
|
||||||
// Get the match details
|
// Get the match details
|
||||||
var targetTitle = this.match[1],
|
var targetTitle = this.match[1],
|
||||||
tooltip = this.match[2],
|
tooltip = this.match[2],
|
||||||
style = this.match[3],
|
template = this.match[3],
|
||||||
classes = this.match[4];
|
style = this.match[4],
|
||||||
|
classes = this.match[5];
|
||||||
// Return the transclude widget
|
// Return the transclude widget
|
||||||
var node = {
|
var node = {
|
||||||
type: "widget",
|
type: "widget",
|
||||||
|
@ -46,6 +49,9 @@ exports.parse = function() {
|
||||||
if(tooltip) {
|
if(tooltip) {
|
||||||
node.attributes.tooltip = {type: "string", value: tooltip};
|
node.attributes.tooltip = {type: "string", value: tooltip};
|
||||||
}
|
}
|
||||||
|
if(template) {
|
||||||
|
node.attributes.template = {type: "string", value: template};
|
||||||
|
}
|
||||||
if(style) {
|
if(style) {
|
||||||
node.attributes.style = {type: "string", value: style};
|
node.attributes.style = {type: "string", value: style};
|
||||||
}
|
}
|
||||||
|
|
Ładowanie…
Reference in New Issue