MobileFrontend recently implemented the support for a CodeMirror supported wikitext editor (https://gerrit.wikimedia.org/r/195995/). This would allow to highlight wikitext syntax in our mobile editor in beta mode.
One of the german Wikipedia's Top 20 wishes is a way to edit wikitext, where syntax is highlighted, see T101246: Highlighted wikisyntax while editing articles [AOI]
Some thoughts from @kaldari:
- The CodeEditor extension uses the ACE engine, but currently doesn't support syntax highlighting for WikiText (as far as I know).
- The developers of the CodeEditor extension are considering switching from ACE to the CodeMirror engine (T50826).
- ACE only supports monospace fonts (https://github.com/ajaxorg/ace/issues/460) which is a blocker for using it for article editing on many projects.
- According to JamesF, deployment of the new WikiText editor will be a very gradual process and will probably not be the default for a while yet.
- According to JamesF, syntax highlighing in the new WikiText editor has been prioritized as a "Nice to have", but won't be in the first deployment.
- Dot's syntax highlighter only supports changing the background color behind code (as it inserts a mirror div underneath the textarea). It doesn't support changing the display of the actual code itself, which is probably more useful.
Requirements:
- Create a tracking bug for the extension's deployment to Wikimedia wikis. This bug should only concern deployment itself, any sub-issues (that block deployment) should be separate bugs that are listed under "Blocked by" for this tracking bug.
- Create Extension: mediawiki.org page for developers and people who will install or configure the extension.
- Create Help:Extension: mediawiki.org page for the end user documentation. Cross-link it with the above.
- Request a project in Phabricator if none exists yet.
- Get the extension code in Gerrit.
- Show community support/desire for the extension to be deployed.
- Request (and respond to) a product review, if applicable
- Request (and respond to) a design review, if applicable.
- Open (and respond to) a Application Security Reviews ticket blocking this.
- Make sure the extension is automatically branched.