* Run cite handler first thing in phase 3 so that ref-content
is pulled out of the main token stream. This effectively
prevents unclosed/unbalanced tags within ref-tags from
affecting the main stream.
* No change in parser tests.
* Fixes rt diffs on the following pages:
1. en:Bandaid surgeries (zero rt diffs)
2. en:Gondi bank (zero rt diffs)
3. en:Ashland, oh (1 syntactic diff)
The reverted commit (78989e8) had fixed rt-diffs in 1. above,
hadn't changed diffs in 2. and introduced regressions in 3.
Change-Id: I6ad498d9d3711b71e7f427eea214acd10da8647b
* Setting tsr to (endTsr || [null, text.length]) was causing
serious duplication of rt-src on the following page:
en:Almirante Latorre-class battleship
This is the case for ref-tokens that come from templates
which have their TSR stripped. So, we shouldn't attempt
to set it to [null, text.length] again.
* No change in parserTests.
* No change in errors for en:L'Opéra national de Paris.
Change-Id: If6a79638c349c9a3fab42094aad51e2e476f9632
Also remove the src, as we re-set it based on DSR anyway.
No change in parserTests, but three less diffs in L'Opéra national de Paris.
Change-Id: Ia6784efe7d76c41f24a183465393bda78641a8eb
This exposed a few bugs (primarily missing var declarations), which are fixed.
It would for example have caught the shallow clone bug we just fixed, and
should catch similar bugs early in the future.
TODO / issues this exposed:
Avoid attempted tsr modification in ext.core.TemplateHandler.js:306:29. This
is fixed for now by cloning the tokens, but should really be avoided by
stripping the tsr before caching the tokens (anything in phase 1 will work for
example).
Change-Id: I6a1a07de7ac333f31da9cf0ae9ed20e5507bacba
* There was a fixme for this in ext.Cite.js which was triggering
an error in the serializer and introducing rt-diffs.
* No change in parser tests.
* Eliminates semantic error in en:Birkenhauer Island and other
pages.
Change-Id: I9fe6ea26fdf1859d751b02a288393af610be5474
Fix for bug 10537: Cite anchors should be numbered starting at 1
On the way a small refactoring (getting rid of redundant variable)
Change-Id: Iee94917f3f860516cc310d1cdb1c4f9065d40984
- 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
* Only one instance of Cite handler is created and it deals with the
final expanded token stream. So, effectively there is no information
about whether we are processing in a top-level or nested template
context. So, we instead use tsr.
Change-Id: I002f421fc78576e869cc8fbcdc386ef0abb09ca9
* Added template-wrapping information in cite-expansion with
Object/Ext/Cite RDFa type.
* Added 'ref' tag to whitelisted tags (temporary workaround to
let <ref name='blah' /> to RT correctly till we handle this
properly).
* Added support for self-closing, but non-void tags.
* Deleted Object/Template/Content type attribute since it was
not used.
* Renamed Object/Template/Attributes to ExpandedAttrs/Template
to distinguish template attribute code paths from content
code paths -- could possibly be renamed to something more
suitable later on.
Results:
- With this experimental support, RT diffs on the en:Barack_Obama
page are vastly reduced.
Change-Id: I018f03df102764d3e39442ae359b751056a38c2f
Apparently the initial space in the class name and the double-escaping
of the JSON were both fixed at some point in the past. I haven't tracked
it down, but the change looks beneficial on the face of it.
Change-Id: Ibb30789093bfec8b4e6399e3a97629c6b876a616
* Moved tokensToString and KVtoHash from parser.environment
to Util -- got rid of excessive warnings from tokensToString.
* Replaced used of Util.lookupKV(blah).v with Util.lookup(blah)
Change-Id: Ic48d5d0c79045b9789dc61a2b14df3fc2acf7aa5
* Nested parser functions are no longer meta-wrapped similar to
nested templates.
* HTML attributes which derive all or part of their key/value
from a template are not template-wrapped, but are marked to
be tracked via different rdfa meta attributes. The actual
tracking and addition of new meta attrs. is yet to be
implemented.
* Parser pipeline construction updated to use an options object
rather than individual option args -- used to support the two
features above.
* With this fix, we can now distinguish between the following
scenarios:
Templates:
- {{echo|[[Foo|bar]]}} -- regular wrapping of the entire link
- [[{{echo|Foo}}|bar]] -- no wrapping, but href marked for tracking
- [[Foo|{{echo|bar}}]] -- link text is wrapped.
Parser functions:
- {{uc:foo}} -- regular wrapping.
- {{uc:{{lc:{{uc:foo}}}}}} -- only the top-level parser function
is wrapped, the nested lc and uc parser functions are not.
Change-Id: I512b8de9838ad42d9255ebcd73074b3898294cd8