* 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
Spotted by the notice throw by that change when Linker::link() gets a
string for query parameters.
Change-Id: I9100e62ebc49cce3611680bce4e9564b823922a3
The [[MediaWiki:Cite error refs without references]] message does not
correctly display wikilinks. This is because it takes effect during
ParserBeforeTidy, which misses the call to replaceLinkHolders(). And
parsing directly to HTML (with MessageCache::singleton()->parse()) would
lose categories and such added by the error message.
Gerrit change Iaa2755f994edb081eb1d176f632f7add41640dbf adds a
"ParserAfterParse" hook, which can be used to add this message in time
to be correctly handled by replaceLinkHolders().
Change-Id: I093d85d8f8c2ac3238609d145ae5b985602bb3fd
Depends-On: Iaa2755f994edb081eb1d176f632f7add41640dbf
* /js/ for JavaScript / nodjs implementation
* /js/lib for js modules
* /js/tests for js test runners and unit tests
Change-Id: I7da1ea2a62b9312be0f1b492447340427f6a14fb
* Copied over utility methods from mediawiki.parser.environment.js
to ext.Util.js.
* Moved over utility method from mediawiki.parser.defines.js to
ext.Util.js.
* Converted Util to be a singleton object rather than an allocatable
class. There is no reason to allocate a new utility class everywhere
since this utility object has no useful state.
* Fixed up use of utility methods to use Util rather than env.
Change-Id: Ib81f96b894f6528f2ccbe36e1fd4c3d50cd1f6b7
- Added extra debug_name parameter to addTransform which is
used in addTransform to output useful trace info.
Change-Id: I160ba0c45f681149375e32ab19f97baa439b09a8