Improved template roundtripping based on WT ranges on DOM nodes.

- Fixed several bugs in the DSR computation.
- Deleted comment tokens from template output.
- Eliminated TSR info from template output.
- Rearranged order of DOM post passes.
- Updated template encapsulation to use DSR values.
- There are still a few missing pieces and scenarios that are
  not handled properly.

Change-Id: I644914902ec1d27418138b107abe765f81178398
This commit is contained in:
Subramanya Sastry 2012-09-17 14:46:44 -05:00
parent 0520effd3d
commit 760d63d033

View file

@ -62,20 +62,24 @@ Cite.prototype.handleRef = function ( tokens ) {
var refId = "#mwt" + this.manager.env.generateUID(),
text = this.manager.env.text,
start = startTsr[0],
end = endTsr ? endTsr[1] : text.length;
var res = [
new TagTk('span', [
span = new TagTk('span', [
new KV('id', linkback),
new KV('class', 'reference'),
new KV('about', refId),
new KV('typeof', 'mw:Object/Ext/Cite')
],
{
]);
if (startTsr) {
var start = startTsr[0],
end = endTsr ? endTsr[1] : text.length;
span.dataAttribs = {
tsr: [start, end],
src: endTsr ? text.substring(start, end) : text.substring(start)
};
}
),
var res = [
span,
new TagTk( 'a', [
new KV('href', '#' + ref.target)
]
@ -112,7 +116,7 @@ Cite.prototype.onReferences = function ( token, manager ) {
var arrow = '↑';
var renderLine = function( ref ) {
var out = [ new TagTk('li', [new KV('id', ref.target)] ) ];
if (ref.linkbacks.length == 1) {
if (ref.linkbacks.length === 1) {
out = out.concat([
new TagTk( 'a', [
new KV('href', '#' + ref.linkbacks[0])
@ -217,6 +221,6 @@ Cite.prototype.getRefGroup = function(group) {
return refGroups[group];
};
if (typeof module == "object") {
if (typeof module === "object") {
module.exports.Cite = Cite;
}