From a33e84e1e5b8c7b851dc3cce55be16ac9bc207a4 Mon Sep 17 00:00:00 2001 From: epriestley Date: Mon, 2 Jul 2012 14:44:38 -0700 Subject: [PATCH] Add table markup to Phabricator Summary: See D2902. Test Plan: Made tables, generated docs. Reviewers: btrahan Reviewed By: btrahan CC: aran Differential Revision: https://secure.phabricator.com/D2903 --- src/__celerity_resource_map__.php | 52 ++++++++--------- src/docs/userguide/remarkup.diviner | 58 +++++++++++++++++++ .../markup/PhabricatorMarkupEngine.php | 1 + webroot/rsrc/css/core/remarkup.css | 18 ++++++ 4 files changed, 103 insertions(+), 26 deletions(-) diff --git a/src/__celerity_resource_map__.php b/src/__celerity_resource_map__.php index 749af4dbb0..68c82ae38b 100644 --- a/src/__celerity_resource_map__.php +++ b/src/__celerity_resource_map__.php @@ -2283,7 +2283,7 @@ celerity_register_resource_map(array( ), 'phabricator-remarkup-css' => array( - 'uri' => '/res/f6d48479/rsrc/css/core/remarkup.css', + 'uri' => '/res/3b93a50d/rsrc/css/core/remarkup.css', 'type' => 'css', 'requires' => array( @@ -2577,7 +2577,7 @@ celerity_register_resource_map(array( ), array( 'packages' => array( - 'e6711f13' => + '3cdc275f' => array( 'name' => 'core.pkg.css', 'symbols' => @@ -2606,7 +2606,7 @@ celerity_register_resource_map(array( 21 => 'phabricator-flag-css', 22 => 'aphront-error-view-css', ), - 'uri' => '/res/pkg/e6711f13/core.pkg.css', + 'uri' => '/res/pkg/3cdc275f/core.pkg.css', 'type' => 'css', ), 'f363b322' => @@ -2773,20 +2773,20 @@ celerity_register_resource_map(array( 'reverse' => array( 'aphront-attached-file-view-css' => '7839ae2d', - 'aphront-crumbs-view-css' => 'e6711f13', - 'aphront-dialog-view-css' => 'e6711f13', - 'aphront-error-view-css' => 'e6711f13', - 'aphront-form-view-css' => 'e6711f13', + 'aphront-crumbs-view-css' => '3cdc275f', + 'aphront-dialog-view-css' => '3cdc275f', + 'aphront-error-view-css' => '3cdc275f', + 'aphront-form-view-css' => '3cdc275f', 'aphront-headsup-action-list-view-css' => '96bc37d6', - 'aphront-headsup-view-css' => 'e6711f13', - 'aphront-list-filter-view-css' => 'e6711f13', - 'aphront-pager-view-css' => 'e6711f13', - 'aphront-panel-view-css' => 'e6711f13', - 'aphront-side-nav-view-css' => 'e6711f13', - 'aphront-table-view-css' => 'e6711f13', - 'aphront-tokenizer-control-css' => 'e6711f13', - 'aphront-tooltip-css' => 'e6711f13', - 'aphront-typeahead-control-css' => 'e6711f13', + 'aphront-headsup-view-css' => '3cdc275f', + 'aphront-list-filter-view-css' => '3cdc275f', + 'aphront-pager-view-css' => '3cdc275f', + 'aphront-panel-view-css' => '3cdc275f', + 'aphront-side-nav-view-css' => '3cdc275f', + 'aphront-table-view-css' => '3cdc275f', + 'aphront-tokenizer-control-css' => '3cdc275f', + 'aphront-tooltip-css' => '3cdc275f', + 'aphront-typeahead-control-css' => '3cdc275f', 'differential-changeset-view-css' => '96bc37d6', 'differential-core-view-css' => '96bc37d6', 'differential-inline-comment-editor' => 'f4bbbd84', @@ -2852,15 +2852,15 @@ celerity_register_resource_map(array( 'javelin-workflow' => 'f363b322', 'maniphest-task-summary-css' => '7839ae2d', 'maniphest-transaction-detail-css' => '7839ae2d', - 'phabricator-app-buttons-css' => 'e6711f13', + 'phabricator-app-buttons-css' => '3cdc275f', 'phabricator-content-source-view-css' => '96bc37d6', - 'phabricator-core-buttons-css' => 'e6711f13', - 'phabricator-core-css' => 'e6711f13', - 'phabricator-directory-css' => 'e6711f13', + 'phabricator-core-buttons-css' => '3cdc275f', + 'phabricator-core-css' => '3cdc275f', + 'phabricator-directory-css' => '3cdc275f', 'phabricator-drag-and-drop-file-upload' => 'f4bbbd84', 'phabricator-dropdown-menu' => 'f363b322', - 'phabricator-flag-css' => 'e6711f13', - 'phabricator-jump-nav' => 'e6711f13', + 'phabricator-flag-css' => '3cdc275f', + 'phabricator-jump-nav' => '3cdc275f', 'phabricator-keyboard-shortcut' => 'f363b322', 'phabricator-keyboard-shortcut-manager' => 'f363b322', 'phabricator-menu-item' => 'f363b322', @@ -2868,11 +2868,11 @@ celerity_register_resource_map(array( 'phabricator-paste-file-upload' => 'f363b322', 'phabricator-prefab' => 'f363b322', 'phabricator-project-tag-css' => '7839ae2d', - 'phabricator-remarkup-css' => 'e6711f13', + 'phabricator-remarkup-css' => '3cdc275f', 'phabricator-shaped-request' => 'f4bbbd84', - 'phabricator-standard-page-view' => 'e6711f13', + 'phabricator-standard-page-view' => '3cdc275f', 'phabricator-tooltip' => 'f363b322', - 'phabricator-transaction-view-css' => 'e6711f13', - 'syntax-highlighting-css' => 'e6711f13', + 'phabricator-transaction-view-css' => '3cdc275f', + 'syntax-highlighting-css' => '3cdc275f', ), )); diff --git a/src/docs/userguide/remarkup.diviner b/src/docs/userguide/remarkup.diviner index e557bbd249..fd69046f87 100644 --- a/src/docs/userguide/remarkup.diviner +++ b/src/docs/userguide/remarkup.diviner @@ -38,6 +38,7 @@ empty lines: Use "- " or "* " for bulleted lists, and "# " for numbered lists. Use ``` or indent two spaces for code. Use %%% for a literal block. + Use ...
for tables. = Basic Styling = @@ -355,3 +356,60 @@ To place text in a literal block use "%%%": Remarkup will not process the text inside of literal blocks (other than to escape HTML and preserve line breaks). + += Tables = + +Remarkup supports a simplified HTML table syntax. For example, this: + + + + + + + + + + + + + + + + + + + + +
FruitColorPricePeel?
Applered`$0.93`no
Bananayellow`$0.19`**YES**
+ +...produces this: + + + + + + + + + + + + + + + + + + + + +
FruitColorPricePeel?
Applered`$0.93`no
Bananayellow`$0.19`**YES**
+ +Some general notes about this syntax: + + - your tags must all be properly balanced; + - your tags must NOT include attributes (`` is OK, `` is + not); + - you can use other Remarkup rules (like **bold**, //italics//, etc.) inside + table cells. + diff --git a/src/infrastructure/markup/PhabricatorMarkupEngine.php b/src/infrastructure/markup/PhabricatorMarkupEngine.php index 3cf9b819fd..c64527167e 100644 --- a/src/infrastructure/markup/PhabricatorMarkupEngine.php +++ b/src/infrastructure/markup/PhabricatorMarkupEngine.php @@ -171,6 +171,7 @@ class PhabricatorMarkupEngine { $blocks[] = new PhutilRemarkupEngineRemarkupListBlockRule(); $blocks[] = new PhutilRemarkupEngineRemarkupCodeBlockRule(); $blocks[] = new PhutilRemarkupEngineRemarkupNoteBlockRule(); + $blocks[] = new PhutilRemarkupEngineRemarkupTableBlockRule(); $blocks[] = new PhutilRemarkupEngineRemarkupDefaultBlockRule(); $custom_block_rule_classes = $options['custom-block']; diff --git a/webroot/rsrc/css/core/remarkup.css b/webroot/rsrc/css/core/remarkup.css index 814eb78841..ed6c88e570 100644 --- a/webroot/rsrc/css/core/remarkup.css +++ b/webroot/rsrc/css/core/remarkup.css @@ -228,3 +228,21 @@ img.phabricator-remarkup-embed-image { -moz-box-shadow: 1px 1px 6px rgba(0,0,0,.5); -webkit-box-shadow: 1px 1px 6px rgba(0,0,0,.5); } + +.phabricator-remarkup table.remarkup-table { + border-collapse: separate; + border-spacing: 1px; + background: #d3d3d3; + margin: 1em; +} + +.phabricator-remarkup table.remarkup-table th { + font-weight: bold; + padding: 3px 6px; + background: #e3e3e3; +} + +.phabricator-remarkup table.remarkup-table td { + background: #ffffff; + padding: 3px 6px; +}