Contributors/2017–18 Annual Plan/Parsing
Program 3, Outcome 1, Objective 6: Support work towards unifying MediaWiki's parser implementations, in liaison with Technology's MediaWiki team [Audience J]
Work buckets
edit- On-going maintenance
- Parser(s) not breaking
- Linter tweaks and new linter categories
- Performance work
- Short-term
- Hope to finish in FY2017–18: Language variants
- Hope to finish in FY2017–18: Image markup fixes in PHP parser
- Includes addressing potential breakages of gadgets
- Hope to finish in FY2017–18: Section wrapping (stalled)
- Hope to finish in FY2017–18: Separation of data-mw (stalled)
- Hope to finish in FY2017–18: Modernise the Cite styling
- Migrate from wikitext into CSS in commons.css on various wikis
- Switch the Cite PHP implementation over to use CSS styling (stalled)
- Hope to finish in FY2017–18: HTML editing of template parameters (stalled on Editing team)
- Medium-term
- Hope to finish in FY2017–18: Replace Tidy with RemexHtml
- Support for section editing of HTML (stalled on Editing team)
- Full parser equivalence
- Post-Save Transforms (
~~~~
, pipe-links, etc.) - https://www.mediawiki.org/wiki/Parsoid/Known_differences_with_PHP_parser_output
- Post-Save Transforms (
- Balanced templates (stalled)
- Improve Parsoid parse performance (required if we want to replace PHP parser with Parsoid) (stalled)
- By July 2018: New / heredoc style syntax for multi-template content blocks (
{{start}} {{row}}…{{row}} {{end}}
style wikitext) - New parser API, replacing hooks (stalled)
- Hope to finish in FY2017–18: Definition of extension interface
- Migration of Wikimedia-cluster extensions
- Deprecate the existing parser hooks and communicate with non-Wikimedia extensions' maintainers
- Long-term (roadmap)
- Move to adopt Parsoid as the primary MediaWiki wikitext parser
- Make MediaWiki friendly to multiple parser implementations (stalled)
- Migrate wikitext semantics towards a DOM-composition based processing model
- Develop and promote specs
- Evaluate feasibility of porting Parsoid to PHP (stalled)