Page MenuHomePhabricator

Add a basic Remarkup document rendering engine

Authored by epriestley on Mar 23 2018, 11:04 AM.



Ref T13105. Although Markdown is trickier to deal with, we can handle Remarkup easily.

This may need some support for encoding options.

Test Plan

Viewed .remarkup files, got remarkup document presentation by default. Viewed other text files, got an option to render as remarkup.

Diff Detail

rP Phabricator
Lint Passed
Tests Passed
Build Status
Buildable 19908
Build 26984: Run Core Tests
Build 26983: arc lint + arc unit

Event Timeline

avivey added a subscriber: avivey.


(What's \z in the regexp?)

This revision is now accepted and ready to land.Mar 23 2018, 11:24 AM

\z is a "better" version of $ and should usually be used instead of $:

  • The regular expression /^cat$/ matches the input strings cat and cat\n.
  • The regular expression /^cat\z/ matches only the input string cat.

This usually doesn't matter, but can occasionally be important, as in D8516.

if you were writing a custom DocumentEngine for say .myformat which is perhaps traditionally mapped to the mime type of text/plain, then I'm guessing adding the following, is a good way to get your engine to be picked as the "default" viewer

protected function getContentScore(PhabricatorDocumentRef $ref) {
    $name = $ref->getName();
    if (preg_match('/\\.myformat\z/i', $name)) {
      return 2000;

    return 500;
This revision was automatically updated to reflect the committed changes.