@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
fork

Configure Feed

Select the types of activity you want to include in your feed.

Add instructions about READMEs to new Diffusion basic editor

Summary: Provide contextual, in-app documentation about README files.

Test Plan: {F44181}

Reviewers: chad, btrahan

Reviewed By: btrahan

CC: aran

Differential Revision: https://secure.phabricator.com/D6033

+116 -52
+49 -49
src/__celerity_resource_map__.php
··· 800 800 ), 801 801 'aphront-form-view-css' => 802 802 array( 803 - 'uri' => '/res/901cc9be/rsrc/css/aphront/form-view.css', 803 + 'uri' => '/res/656ca1a3/rsrc/css/aphront/form-view.css', 804 804 'type' => 'css', 805 805 'requires' => 806 806 array( ··· 954 954 ), 955 955 'conpherence-widget-pane-css' => 956 956 array( 957 - 'uri' => '/res/7aaa78c5/rsrc/css/application/conpherence/widget-pane.css', 957 + 'uri' => '/res/999e21da/rsrc/css/application/conpherence/widget-pane.css', 958 958 'type' => 'css', 959 959 'requires' => 960 960 array( ··· 1303 1303 ), 1304 1304 'javelin-behavior-conpherence-menu' => 1305 1305 array( 1306 - 'uri' => '/res/a7f3be10/rsrc/js/application/conpherence/behavior-menu.js', 1306 + 'uri' => '/res/7181099a/rsrc/js/application/conpherence/behavior-menu.js', 1307 1307 'type' => 'js', 1308 1308 'requires' => 1309 1309 array( ··· 1335 1335 ), 1336 1336 'javelin-behavior-conpherence-widget-pane' => 1337 1337 array( 1338 - 'uri' => '/res/bc139f8e/rsrc/js/application/conpherence/behavior-widget-pane.js', 1338 + 'uri' => '/res/3d426c01/rsrc/js/application/conpherence/behavior-widget-pane.js', 1339 1339 'type' => 'js', 1340 1340 'requires' => 1341 1341 array( ··· 3983 3983 ), array( 3984 3984 'packages' => 3985 3985 array( 3986 - '6cb89b00' => 3986 + '7b1cbdd9' => 3987 3987 array( 3988 3988 'name' => 'core.pkg.css', 3989 3989 'symbols' => ··· 4032 4032 41 => 'phabricator-property-list-view-css', 4033 4033 42 => 'phabricator-tag-view-css', 4034 4034 ), 4035 - 'uri' => '/res/pkg/6cb89b00/core.pkg.css', 4035 + 'uri' => '/res/pkg/7b1cbdd9/core.pkg.css', 4036 4036 'type' => 'css', 4037 4037 ), 4038 4038 '77faef00' => ··· 4226 4226 'reverse' => 4227 4227 array( 4228 4228 'aphront-attached-file-view-css' => '6b1fccc6', 4229 - 'aphront-dialog-view-css' => '6cb89b00', 4230 - 'aphront-error-view-css' => '6cb89b00', 4231 - 'aphront-form-view-css' => '6cb89b00', 4232 - 'aphront-list-filter-view-css' => '6cb89b00', 4233 - 'aphront-pager-view-css' => '6cb89b00', 4234 - 'aphront-panel-view-css' => '6cb89b00', 4235 - 'aphront-table-view-css' => '6cb89b00', 4236 - 'aphront-tokenizer-control-css' => '6cb89b00', 4237 - 'aphront-tooltip-css' => '6cb89b00', 4238 - 'aphront-typeahead-control-css' => '6cb89b00', 4229 + 'aphront-dialog-view-css' => '7b1cbdd9', 4230 + 'aphront-error-view-css' => '7b1cbdd9', 4231 + 'aphront-form-view-css' => '7b1cbdd9', 4232 + 'aphront-list-filter-view-css' => '7b1cbdd9', 4233 + 'aphront-pager-view-css' => '7b1cbdd9', 4234 + 'aphront-panel-view-css' => '7b1cbdd9', 4235 + 'aphront-table-view-css' => '7b1cbdd9', 4236 + 'aphront-tokenizer-control-css' => '7b1cbdd9', 4237 + 'aphront-tooltip-css' => '7b1cbdd9', 4238 + 'aphront-typeahead-control-css' => '7b1cbdd9', 4239 4239 'differential-changeset-view-css' => 'dd27a69b', 4240 4240 'differential-core-view-css' => 'dd27a69b', 4241 4241 'differential-inline-comment-editor' => '9488bb69', ··· 4249 4249 'differential-table-of-contents-css' => 'dd27a69b', 4250 4250 'diffusion-commit-view-css' => 'c8ce2d88', 4251 4251 'diffusion-icons-css' => 'c8ce2d88', 4252 - 'global-drag-and-drop-css' => '6cb89b00', 4252 + 'global-drag-and-drop-css' => '7b1cbdd9', 4253 4253 'inline-comment-summary-css' => 'dd27a69b', 4254 4254 'javelin-aphlict' => '77faef00', 4255 4255 'javelin-behavior' => 'c1359b5d', ··· 4323 4323 'javelin-util' => 'c1359b5d', 4324 4324 'javelin-vector' => 'c1359b5d', 4325 4325 'javelin-workflow' => 'c1359b5d', 4326 - 'lightbox-attachment-css' => '6cb89b00', 4326 + 'lightbox-attachment-css' => '7b1cbdd9', 4327 4327 'maniphest-task-summary-css' => '6b1fccc6', 4328 4328 'maniphest-transaction-detail-css' => '6b1fccc6', 4329 - 'phabricator-action-list-view-css' => '6cb89b00', 4330 - 'phabricator-application-launch-view-css' => '6cb89b00', 4329 + 'phabricator-action-list-view-css' => '7b1cbdd9', 4330 + 'phabricator-application-launch-view-css' => '7b1cbdd9', 4331 4331 'phabricator-busy' => '77faef00', 4332 4332 'phabricator-content-source-view-css' => 'dd27a69b', 4333 - 'phabricator-core-buttons-css' => '6cb89b00', 4334 - 'phabricator-core-css' => '6cb89b00', 4335 - 'phabricator-crumbs-view-css' => '6cb89b00', 4336 - 'phabricator-directory-css' => '6cb89b00', 4333 + 'phabricator-core-buttons-css' => '7b1cbdd9', 4334 + 'phabricator-core-css' => '7b1cbdd9', 4335 + 'phabricator-crumbs-view-css' => '7b1cbdd9', 4336 + 'phabricator-directory-css' => '7b1cbdd9', 4337 4337 'phabricator-drag-and-drop-file-upload' => '9488bb69', 4338 4338 'phabricator-dropdown-menu' => '77faef00', 4339 4339 'phabricator-file-upload' => '77faef00', 4340 - 'phabricator-filetree-view-css' => '6cb89b00', 4341 - 'phabricator-flag-css' => '6cb89b00', 4342 - 'phabricator-form-view-css' => '6cb89b00', 4343 - 'phabricator-header-view-css' => '6cb89b00', 4340 + 'phabricator-filetree-view-css' => '7b1cbdd9', 4341 + 'phabricator-flag-css' => '7b1cbdd9', 4342 + 'phabricator-form-view-css' => '7b1cbdd9', 4343 + 'phabricator-header-view-css' => '7b1cbdd9', 4344 4344 'phabricator-hovercard' => '77faef00', 4345 - 'phabricator-jump-nav' => '6cb89b00', 4345 + 'phabricator-jump-nav' => '7b1cbdd9', 4346 4346 'phabricator-keyboard-shortcut' => '77faef00', 4347 4347 'phabricator-keyboard-shortcut-manager' => '77faef00', 4348 - 'phabricator-main-menu-view' => '6cb89b00', 4348 + 'phabricator-main-menu-view' => '7b1cbdd9', 4349 4349 'phabricator-menu-item' => '77faef00', 4350 - 'phabricator-nav-view-css' => '6cb89b00', 4350 + 'phabricator-nav-view-css' => '7b1cbdd9', 4351 4351 'phabricator-notification' => '77faef00', 4352 - 'phabricator-notification-css' => '6cb89b00', 4353 - 'phabricator-notification-menu-css' => '6cb89b00', 4354 - 'phabricator-object-item-list-view-css' => '6cb89b00', 4352 + 'phabricator-notification-css' => '7b1cbdd9', 4353 + 'phabricator-notification-menu-css' => '7b1cbdd9', 4354 + 'phabricator-object-item-list-view-css' => '7b1cbdd9', 4355 4355 'phabricator-object-selector-css' => 'dd27a69b', 4356 4356 'phabricator-phtize' => '77faef00', 4357 4357 'phabricator-prefab' => '77faef00', 4358 4358 'phabricator-project-tag-css' => '6b1fccc6', 4359 - 'phabricator-property-list-view-css' => '6cb89b00', 4360 - 'phabricator-remarkup-css' => '6cb89b00', 4359 + 'phabricator-property-list-view-css' => '7b1cbdd9', 4360 + 'phabricator-remarkup-css' => '7b1cbdd9', 4361 4361 'phabricator-shaped-request' => '9488bb69', 4362 - 'phabricator-side-menu-view-css' => '6cb89b00', 4363 - 'phabricator-standard-page-view' => '6cb89b00', 4364 - 'phabricator-tag-view-css' => '6cb89b00', 4362 + 'phabricator-side-menu-view-css' => '7b1cbdd9', 4363 + 'phabricator-standard-page-view' => '7b1cbdd9', 4364 + 'phabricator-tag-view-css' => '7b1cbdd9', 4365 4365 'phabricator-textareautils' => '77faef00', 4366 4366 'phabricator-tooltip' => '77faef00', 4367 - 'phabricator-transaction-view-css' => '6cb89b00', 4368 - 'phabricator-zindex-css' => '6cb89b00', 4369 - 'phui-form-css' => '6cb89b00', 4370 - 'phui-icon-view-css' => '6cb89b00', 4371 - 'spacing-css' => '6cb89b00', 4372 - 'sprite-apps-large-css' => '6cb89b00', 4373 - 'sprite-gradient-css' => '6cb89b00', 4374 - 'sprite-icons-css' => '6cb89b00', 4375 - 'sprite-menu-css' => '6cb89b00', 4376 - 'syntax-highlighting-css' => '6cb89b00', 4367 + 'phabricator-transaction-view-css' => '7b1cbdd9', 4368 + 'phabricator-zindex-css' => '7b1cbdd9', 4369 + 'phui-form-css' => '7b1cbdd9', 4370 + 'phui-icon-view-css' => '7b1cbdd9', 4371 + 'spacing-css' => '7b1cbdd9', 4372 + 'sprite-apps-large-css' => '7b1cbdd9', 4373 + 'sprite-gradient-css' => '7b1cbdd9', 4374 + 'sprite-icons-css' => '7b1cbdd9', 4375 + 'sprite-menu-css' => '7b1cbdd9', 4376 + 'syntax-highlighting-css' => '7b1cbdd9', 4377 4377 ), 4378 4378 ));
+2
src/__phutil_library_map__.php
··· 673 673 'PHUIBoxView' => 'view/phui/PHUIBoxView.php', 674 674 'PHUIFeedStoryExample' => 'applications/uiexample/examples/PHUIFeedStoryExample.php', 675 675 'PHUIFeedStoryView' => 'view/phui/PHUIFeedStoryView.php', 676 + 'PHUIFormDividerControl' => 'view/form/control/PHUIFormDividerControl.php', 676 677 'PHUIFormMultiSubmitControl' => 'view/form/control/PHUIFormMultiSubmitControl.php', 677 678 'PHUIFormPageView' => 'view/form/PHUIFormPageView.php', 678 679 'PHUIIconExample' => 'applications/uiexample/examples/PHUIIconExample.php', ··· 2455 2456 'PHUIBoxView' => 'AphrontTagView', 2456 2457 'PHUIFeedStoryExample' => 'PhabricatorUIExample', 2457 2458 'PHUIFeedStoryView' => 'AphrontView', 2459 + 'PHUIFormDividerControl' => 'AphrontFormControl', 2458 2460 'PHUIFormMultiSubmitControl' => 'AphrontFormControl', 2459 2461 'PHUIFormPageView' => 'AphrontView', 2460 2462 'PHUIIconExample' => 'PhabricatorUIExample',
+19 -1
src/applications/diffusion/controller/DiffusionRepositoryEditBasicController.php
··· 98 98 ->appendChild( 99 99 id(new AphrontFormSubmitControl()) 100 100 ->setValue(pht('Save')) 101 - ->addCancelButton($edit_uri)); 101 + ->addCancelButton($edit_uri)) 102 + ->appendChild(id(new PHUIFormDividerControl())) 103 + ->appendRemarkupInstructions($this->getReadmeInstructions()); 102 104 103 105 $content[] = $form; 104 106 ··· 111 113 )); 112 114 } 113 115 116 + private function getReadmeInstructions() { 117 + return pht(<<<EOTEXT 118 + You can also create a `README` file at the repository root (or in any 119 + subdirectory) to provide information about the repository. These formats are 120 + supported: 121 + 122 + | File Name | Rendered As... | 123 + |-----------------|----------------| 124 + | `README` | Plain Text | 125 + | `README.txt` | Plain Text | 126 + | `README.remarkup` | Remarkup | 127 + | `README.md` | Remarkup | 128 + | `README.rainbow` | \xC2\xA1Fiesta! | 129 + EOTEXT 130 + ); 131 + } 114 132 115 133 }
+4 -1
src/infrastructure/markup/PhabricatorMarkupOneOff.php
··· 30 30 } 31 31 32 32 public function newMarkupEngine($field) { 33 - return PhabricatorMarkupEngine::newMarkupEngine(array()); 33 + return PhabricatorMarkupEngine::newMarkupEngine( 34 + array( 35 + 'preserve-linebreaks' => false, 36 + )); 34 37 } 35 38 36 39 public function getMarkupText($field) {
+18
src/view/form/AphrontFormView.php
··· 58 58 return $this; 59 59 } 60 60 61 + public function appendInstructions($text) { 62 + return $this->appendChild( 63 + phutil_tag( 64 + 'div', 65 + array( 66 + 'class' => 'aphront-form-instructions', 67 + ), 68 + $text)); 69 + } 70 + 71 + public function appendRemarkupInstructions($remarkup) { 72 + return $this->appendInstructions( 73 + PhabricatorMarkupEngine::renderOneObject( 74 + id(new PhabricatorMarkupOneOff())->setContent($remarkup), 75 + 'default', 76 + $this->getUser())); 77 + } 78 + 61 79 public function render() { 62 80 if ($this->flexible) { 63 81 require_celerity_resource('phabricator-form-view-css');
+13
src/view/form/control/PHUIFormDividerControl.php
··· 1 + <?php 2 + 3 + final class PHUIFormDividerControl extends AphrontFormControl { 4 + 5 + protected function getCustomControlClass() { 6 + return 'phui-form-divider'; 7 + } 8 + 9 + protected function renderInput() { 10 + return phutil_tag('hr', array()); 11 + } 12 + 13 + }
+11 -1
webroot/rsrc/css/aphront/form-view.css
··· 97 97 .aphront-form-control-submit button, 98 98 .aphront-form-control-submit a.button { 99 99 float: right; 100 - margin: 0.5em 0 0em 2%; 100 + margin: 0.5em 0 0 2%; 101 101 } 102 102 103 103 .phui-form-control-multi-submit input { ··· 142 142 margin-left: 20%; 143 143 padding: 10px 4px; 144 144 } 145 + 146 + 145 147 146 148 .device .aphront-form-instructions, 147 149 .aphront-form-full-width .aphront-form-instructions { ··· 421 423 .aphront-form-control-counted-togglebuttons .toggle.disabled:hover { 422 424 background-color: #a7a7a7; 423 425 } 426 + 427 + .phui-form-divider hr { 428 + height: 1px; 429 + border: 0; 430 + background: #c0c0c0; 431 + width: 85%; 432 + margin: 15px auto; 433 + }