Page MenuHomePhabricator

Add a basic Remarkup document rendering engine
ClosedPublic

Authored by epriestley on Mar 23 2018, 11:04 AM.
Tags
None
Referenced Files
Unknown Object (File)
Sun, Dec 8, 7:31 PM
Unknown Object (File)
Sun, Dec 8, 3:49 PM
Unknown Object (File)
Thu, Dec 5, 6:22 AM
Unknown Object (File)
Fri, Nov 29, 11:34 AM
Unknown Object (File)
Thu, Nov 28, 6:55 PM
Unknown Object (File)
Thu, Nov 28, 6:55 PM
Unknown Object (File)
Thu, Nov 28, 6:42 PM
Unknown Object (File)
Wed, Nov 27, 2:03 PM
Tokens
"Like" token, awarded by mydeveloperday.

Details

Summary

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

Repository
rP Phabricator
Lint
Lint Not Applicable
Unit
Tests Not Applicable

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.