Page MenuHomePhabricator

Grunge, or "zoom"
Open, Needs TriagePublic


The problem

Wikitext as currently implemented is well-nigh unspecifiable. It is an untidy mix of organically-grown implementation (without clear divisions between functionality), obscure corner cases and workarounds, and bugs.

"Grunge" (or, Xtensible Wiki Markup, xwm, pronounced "zoom") is an attempt to find a clean specification for wikitext which looks as much as possible like current wikitext. Goals are:

  • A grammar that fits on a single sheet of paper, with
  • No backtracking,
  • Regular syntax for links and templates,
  • A way to represent any conforming HTML document, and
  • Appearance as similar to current wikitext as possible.

The implementation is based on the Parsoid Mediawiki DOM spec and round trips using selser. Existing wikitext can be converted to DOM using Parsoid and then converted from there to "grunge" in order to allow "power user" editing. Eventually the primary representation in the DB could be shifted to grunge.

Expected outcome

Grow mindshare for cleaning up wikitext; cover a variety of corners of the wikitext spec and determine consensus on which changes to wikitext are acceptable to editors.

Current status of the discussion

There are a number of alternative markup proposals, including:

  • subbu's "wikitext 2.0"
  • markdown, restructured text, etc
  • attempting to write a complete spec for wikitext

A prototype implementation of grunge has been developed, which has informed some of the design choices. The prototype can convert the "Barack Obama" article from Parsoid DOM to grunge, validating that the result definitively still "looks like wikitext".


Event Timeline

cscott created this task.Nov 1 2016, 4:36 AM
Restricted Application added a subscriber: Aklapper. · View Herald TranscriptNov 1 2016, 4:36 AM
Qgil added a subscriber: Qgil.

Can you add projects/tags related to the topics discussed, please?

Siznax added a subscriber: Siznax.Nov 15 2016, 6:47 PM
This comment was removed by Siznax.
Seb35 added a subscriber: Seb35.Nov 28 2016, 7:50 AM
Qgil added a comment.Nov 29 2016, 11:07 AM

This proposal seems to have enough interests, but there is no discussion so far. I am moving it to "on track" for now, but all pre-scheduled sessions are supposed to have ongoing discussions.

I'm proposing to include this in a merged session: T151950: Wikitext 2.0 Session at Wikidev'17.

@cscott Hey! As developer summit is less than four weeks from now, we are working on a plan to incorporate the ‘unconference sessions’ that have been proposed so far and would be generated on the spot. Thus, could you confirm if you plan to facilitate this session at the summit? Also, if your answer is 'YES,' I would like to encourage you to update/ arrange the task description fields to appear in the following format:

Session title
Main topic
Type of activity
Description Move ‘The Problem,' ‘Expected Outcome,' ‘Current status of the discussion’ and ‘Links’ to this section
Proposed by Your name linked to your MediaWiki URL, or profile elsewhere on the internet
Preferred group size
Any supplies that you would need to run the session e.g. post-its
Interested attendees (sign up below)

  1. Add your name here

We will be reaching out to the summit participants next week asking them to express their interest in unconference sessions by signing up.

To maintain the consistency, please consider referring to the template of the following task description:

Tgr awarded a token.Dec 23 2016, 1:36 AM
cscott reopened this task as Open.Aug 19 2019, 7:47 AM

Re-opening, to stand for the idea of a cleaner wikitext 2.0 syntax, which keeps coming up from time to time. The desired properties in the task description are still valid.

Magol added a subscriber: Magol.Aug 19 2019, 8:56 AM
Qgil removed a subscriber: Qgil.Wed, Jan 8, 9:42 AM