Commit graph

11 commits

Author SHA1 Message Date
Arlo Breault 53c9863382 Keep the data-* attributes at the edges of the DOM
* FIXME: stop skipping jsapi tests

 * DU.serializeNode is renamed to DU.toXML, to avoid confusion with
   wikitext serialization (and a name clash when grepping).

 * DU.serializeToXML is renamed to DU.ppToXML, to distinguish it both in
   name and use from DU.toXML.  This is a special xml serializer that's
   meant to be used in Parsoid's DOM post-processing phase.  It's aware
   of a node's .dataobject and automatically transfers that to json
   stringified attributes before serializing a node.

 * DU.ppToDOM is added as helper for loading attributes when parsing
   html, as in DU.parseHTML.  It's the converse to DU.ppToXML

 * Diff markers are no longer stored as json stringified attributes on
   nodes while serializing.  Only when dom dumping, and even then only
   on clones.

 * Once T100856 is fixed, we can look into discarding data-parsoid from
   html that's stored in data-mw (ie. captions, references, etc.)

 * Filed T133334 to note that some of the html we're stuffing in data-mw
   needs further processing, since we're storing ref markers.

Bug: T91700
Change-Id: Ia1a60951e6292b5eb073eedca0b79938094809d2
2016-04-28 18:49:22 -04:00
C. Scott Ananian 8a5316e0c6 Add autoload mechanism for user extension code.
This parallels the autoload mechanism in mediawiki core.  In fact, small
wikis can use the same extensions directory for both core and Parsoid.

We also export a very basic "extension API" for external extensions
and convert our current "native extensions" to use this to show how it
is to be done.

Bug: T133320
Change-Id: I8e05d5bfdff873f28a58dead68aaca0e4823cf32
2016-04-26 22:25:59 -04:00
Arlo Breault 87296241d5 Rename DU.serializeChilden to DU.serializeToXML
* And use it where appropriate.  This has the effect of reducing the
   dom size because of the use of smartQuote (see all the parserTests /
   blacklist changes).

 * The serializeChildren name clashes with the one in the
   serializeState, causing confusion and making grepping harder.

 * Bonus: removed some dsr info in parserTests and fixed a html2wt typo
   that was prevented a test from running.

Change-Id: I287f1efd4afe06b158844e0de9f16494d4a89f93
2016-04-12 14:01:04 -07:00
Arlo Breault 126ed00d40 Suppress errors raised when getting debugging info
* An example of an href from eswiki/Kate_Gosselin?oldid=90347467
   is <a href="#cite_note-13.3F_It_Can't_Be!-3">
   which domino should do a better job validating, instead of throwing
   "Object [object Object] has no method '''".

Change-Id: Ie4bd702d7eee23ad021f2ad31b47cfbada947cd9
2016-04-08 19:36:01 -07:00
Arlo Breault df00a42c5e Fix log type
* Broken in ae45ffe9

Change-Id: Ife2a42e8a805e68fb4bfe83076e39b64be6dbf71
2016-03-30 18:22:07 -07:00
Subramanya Sastry 53117cef54 T113331: Move auto-generated refs flag from data-parsoid to data-mw
VisualEditor requires this info and presumably other clients might
and this is, in reality, semantic information about wikitext.

The html2html failure is because:
* even when the references html has been autogenerated,
  in non-rt-testing html2wt mode, we always generate the
  <references /> tag.
* we moved the flag from data-parsoid to data-mw but ignore changes
  to data-parsoid while comparing test output.
* So, in html -> wt mode, <references /> is always generated
  => data-mw.autoGenerated flag doesn't show up in the wt -> html
     phase of the (html -> wt -> html) test
  => the html2html test fails.

Change-Id: I8e79f2a436a1ca276b9351228a3d8f02d7ebd0c6
2016-03-24 23:17:34 -05:00
Arlo Breault 3b44e7e544 Remove extsrc bloat from references data-mw
* This hasn't been used since 2013! See 46ddbf3f

Change-Id: Iea382829f38788541b3bc4f8595a0d6bf600c167
2016-02-05 18:26:33 -08:00
Arlo Breault ae45ffe95e Move extension content serialization to cite
* See the follow up for why references extsrc is irrelevant.

Change-Id: I1db0f3c3f3e85706125418bb431aa40c17a97407
2016-02-05 18:26:22 -08:00
Arlo Breault 41756cb70b Flatten ext/
Change-Id: I083dc0d7c5ab37c8f0f5c051e82e4705c891812d
2016-01-13 15:34:40 -08:00
Arlo Breault 1c10f71b47 Move processRefs.js to ext/cite/
Change-Id: I10ab294900f090dcdb85b205d9eb0472fd3e9157
2015-10-28 15:31:53 -07:00
Subramanya Sastry 05bf16d3eb T115665: Reorg parsoid repo
* First pass moving around files into different directories.

* Renamed files to remove unnecessary prefixes or align the name
  closer to what the file contains.

* Added temporary soft links to bin/parse.js and bin/roundtrip-test.js
  in the tests/ directory since jenkins jobs seems to have hardcoded
  refs to those paths.

* Deleted:
  - a couple of stale scripts in tests/ that are no longer relevant.
  - a couple of state scripts in api/ that didn't look relevant.
  - swagger spec since it was incomplete, stale, and unmaintained.

Change-Id: I97c30467b190b417eec9e750238704330ae91137
2015-10-27 12:50:47 -05:00