@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.)
hq.recaptime.dev/wiki/Phorge
phorge
phabricator
1<?php
2
3final class PhabricatorPhrictionApplication extends PhabricatorApplication {
4
5 public function getName() {
6 return pht('Phriction');
7 }
8
9 public function getShortDescription() {
10 return pht('Wiki Documents');
11 }
12
13 public function getBaseURI() {
14 return '/w/';
15 }
16
17 public function getIcon() {
18 return 'fa-book';
19 }
20
21 public function isPinnedByDefault(PhabricatorUser $viewer) {
22 return true;
23 }
24
25 public function getHelpDocumentationArticles(PhabricatorUser $viewer) {
26 return array(
27 array(
28 'name' => pht('Phriction User Guide'),
29 'href' => PhabricatorEnv::getDoclink('Phriction User Guide'),
30 ),
31 );
32 }
33
34 public function getTitleGlyph() {
35 return "\xE2\x9A\xA1";
36 }
37
38 public function getRemarkupRules() {
39 return array(
40 new PhrictionRemarkupRule(),
41 );
42 }
43
44 public function getRoutes() {
45 return array(
46 // Match "/w/" with slug "/".
47 '/w(?P<slug>/)' => 'PhrictionDocumentController',
48 // Match "/w/x/y/z/" with slug "x/y/z/".
49 '/w/(?P<slug>.+/)' => 'PhrictionDocumentController',
50
51 '/phriction/' => array(
52 '(?:query/(?P<queryKey>[^/]+)/)?' => 'PhrictionListController',
53
54 'history(?P<slug>/)' => 'PhrictionHistoryController',
55 'history/(?P<slug>.+/)' => 'PhrictionHistoryController',
56
57 'edit/(?:(?P<id>[1-9]\d*)/)?' => 'PhrictionEditController',
58 'delete/(?P<id>[1-9]\d*)/' => 'PhrictionDeleteController',
59 'publish/(?P<documentID>[1-9]\d*)/(?P<contentID>[1-9]\d*)/'
60 => 'PhrictionPublishController',
61 'new/' => 'PhrictionNewController',
62 'move/(?P<id>[1-9]\d*)/' => 'PhrictionMoveController',
63
64 'preview/' => 'PhrictionMarkupPreviewController',
65 'diff/(?P<id>[1-9]\d*)/' => 'PhrictionDiffController',
66
67 $this->getEditRoutePattern('document/edit/')
68 => 'PhrictionEditEngineController',
69 ),
70 );
71 }
72
73 public function getApplicationOrder() {
74 return 0.140;
75 }
76
77 public function getApplicationSearchDocumentTypes() {
78 return array(
79 PhrictionDocumentPHIDType::TYPECONST,
80 );
81 }
82
83}