From 643d8070f15b90610039da2180334ac4e0a24111 Mon Sep 17 00:00:00 2001 From: epriestley Date: Sat, 6 Oct 2012 16:21:25 -0700 Subject: [PATCH] Implement improved remarkup assistance panel Summary: - I made a "?" icon for help/reference. - The `<>` icon was slightly too wide so I carved it down to 14x14. - All the icons are in `/Phabriactor/remarkup_icon_sources.psd` if you want to tweak anything. - Tooltips don't look like the mock but I'll tackle those separately. - Removed strikethrough. - Removed tag/image/text size for now since they don't have reasonable JS implementations yet. - I think everything else is accurate to the mock. Test Plan: Normal state: {F20621, size=full} Hover + Click states: {F20622, size=full} Clicked state: {F20620, size=full} Reviewers: chad Reviewed By: chad CC: aran Maniphest Tasks: T1848 Differential Revision: https://secure.phabricator.com/D3650 --- scripts/celerity/generate_sprites.php | 25 +++++ src/__celerity_resource_map__.php | 60 +++++------ .../control/PhabricatorRemarkupControl.php | 64 ++++++----- webroot/rsrc/css/autosprite.css | 36 +++++++ webroot/rsrc/css/core/remarkup.css | 101 ++++++++++-------- webroot/rsrc/image/autosprite.png | Bin 141946 -> 143424 bytes .../behavior-phabricator-remarkup-assist.js | 10 -- 7 files changed, 177 insertions(+), 119 deletions(-) diff --git a/scripts/celerity/generate_sprites.php b/scripts/celerity/generate_sprites.php index f3e8cf2e0d..84b3337be0 100755 --- a/scripts/celerity/generate_sprites.php +++ b/scripts/celerity/generate_sprites.php @@ -227,6 +227,31 @@ foreach ($action_map as $icon => $source) { ->setTargetCSS('.action-'.$icon)); } + +$remarkup_template = id(new PhutilSprite()) + ->setSourcePosition(0, 0) + ->setSourceSize(14, 14); + +$remarkup_icons = array( + 'b', + 'code', + 'i', + 'image', + 'ol', + 'tag', + 'tt', + 'ul', + 'help', +); + +foreach ($remarkup_icons as $icon) { + $sheet->addSprite( + id(clone $remarkup_template) + ->setSourceFile($srcroot.'remarkup/text_'.$icon.'.png') + ->setTargetCSS('.remarkup-assist-'.$icon)); +} + + $sheet->generateImage($webroot.'/image/autosprite.png'); $sheet->generateCSS($webroot.'/css/autosprite.css'); diff --git a/src/__celerity_resource_map__.php b/src/__celerity_resource_map__.php index 7ab87b274f..de79d2cfeb 100644 --- a/src/__celerity_resource_map__.php +++ b/src/__celerity_resource_map__.php @@ -51,8 +51,8 @@ celerity_register_resource_map(array( ), '/rsrc/image/autosprite.png' => array( - 'hash' => 'c7f9d2dd752a24c518c0eb426a4853a5', - 'uri' => '/res/c7f9d2dd/rsrc/image/autosprite.png', + 'hash' => '005c7630a31cb2ef6b1782d4eca08cd7', + 'uri' => '/res/005c7630/rsrc/image/autosprite.png', 'disk' => '/rsrc/image/autosprite.png', 'type' => 'png', ), @@ -657,7 +657,7 @@ celerity_register_resource_map(array( ), 'autosprite-css' => array( - 'uri' => '/res/947e1dcf/rsrc/css/autosprite.css', + 'uri' => '/res/6c0c2948/rsrc/css/autosprite.css', 'type' => 'css', 'requires' => array( @@ -1559,7 +1559,7 @@ celerity_register_resource_map(array( ), 'javelin-behavior-phabricator-remarkup-assist' => array( - 'uri' => '/res/5f7ccd02/rsrc/js/application/core/behavior-phabricator-remarkup-assist.js', + 'uri' => '/res/d3b53e76/rsrc/js/application/core/behavior-phabricator-remarkup-assist.js', 'type' => 'js', 'requires' => array( @@ -2636,7 +2636,7 @@ celerity_register_resource_map(array( ), 'phabricator-remarkup-css' => array( - 'uri' => '/res/47c16585/rsrc/css/core/remarkup.css', + 'uri' => '/res/66b4cd42/rsrc/css/core/remarkup.css', 'type' => 'css', 'requires' => array( @@ -3003,7 +3003,7 @@ celerity_register_resource_map(array( ), array( 'packages' => array( - '782b1e3f' => + '1da0b408' => array( 'name' => 'core.pkg.css', 'symbols' => @@ -3032,7 +3032,7 @@ celerity_register_resource_map(array( 21 => 'phabricator-flag-css', 22 => 'aphront-error-view-css', ), - 'uri' => '/res/pkg/782b1e3f/core.pkg.css', + 'uri' => '/res/pkg/1da0b408/core.pkg.css', 'type' => 'css', ), '3a455e4f' => @@ -3199,20 +3199,20 @@ celerity_register_resource_map(array( 'reverse' => array( 'aphront-attached-file-view-css' => '7839ae2d', - 'aphront-crumbs-view-css' => '782b1e3f', - 'aphront-dialog-view-css' => '782b1e3f', - 'aphront-error-view-css' => '782b1e3f', - 'aphront-form-view-css' => '782b1e3f', + 'aphront-crumbs-view-css' => '1da0b408', + 'aphront-dialog-view-css' => '1da0b408', + 'aphront-error-view-css' => '1da0b408', + 'aphront-form-view-css' => '1da0b408', 'aphront-headsup-action-list-view-css' => '2ba14b3d', - 'aphront-headsup-view-css' => '782b1e3f', - 'aphront-list-filter-view-css' => '782b1e3f', - 'aphront-pager-view-css' => '782b1e3f', - 'aphront-panel-view-css' => '782b1e3f', - 'aphront-side-nav-view-css' => '782b1e3f', - 'aphront-table-view-css' => '782b1e3f', - 'aphront-tokenizer-control-css' => '782b1e3f', - 'aphront-tooltip-css' => '782b1e3f', - 'aphront-typeahead-control-css' => '782b1e3f', + 'aphront-headsup-view-css' => '1da0b408', + 'aphront-list-filter-view-css' => '1da0b408', + 'aphront-pager-view-css' => '1da0b408', + 'aphront-panel-view-css' => '1da0b408', + 'aphront-side-nav-view-css' => '1da0b408', + 'aphront-table-view-css' => '1da0b408', + 'aphront-tokenizer-control-css' => '1da0b408', + 'aphront-tooltip-css' => '1da0b408', + 'aphront-typeahead-control-css' => '1da0b408', 'differential-changeset-view-css' => '2ba14b3d', 'differential-core-view-css' => '2ba14b3d', 'differential-inline-comment-editor' => 'd05e3c0f', @@ -3278,15 +3278,15 @@ celerity_register_resource_map(array( 'javelin-workflow' => '3a455e4f', 'maniphest-task-summary-css' => '7839ae2d', 'maniphest-transaction-detail-css' => '7839ae2d', - 'phabricator-app-buttons-css' => '782b1e3f', + 'phabricator-app-buttons-css' => '1da0b408', 'phabricator-content-source-view-css' => '2ba14b3d', - 'phabricator-core-buttons-css' => '782b1e3f', - 'phabricator-core-css' => '782b1e3f', - 'phabricator-directory-css' => '782b1e3f', + 'phabricator-core-buttons-css' => '1da0b408', + 'phabricator-core-css' => '1da0b408', + 'phabricator-directory-css' => '1da0b408', 'phabricator-drag-and-drop-file-upload' => 'd05e3c0f', 'phabricator-dropdown-menu' => '3a455e4f', - 'phabricator-flag-css' => '782b1e3f', - 'phabricator-jump-nav' => '782b1e3f', + 'phabricator-flag-css' => '1da0b408', + 'phabricator-jump-nav' => '1da0b408', 'phabricator-keyboard-shortcut' => '3a455e4f', 'phabricator-keyboard-shortcut-manager' => '3a455e4f', 'phabricator-menu-item' => '3a455e4f', @@ -3294,11 +3294,11 @@ celerity_register_resource_map(array( 'phabricator-paste-file-upload' => '3a455e4f', 'phabricator-prefab' => '3a455e4f', 'phabricator-project-tag-css' => '7839ae2d', - 'phabricator-remarkup-css' => '782b1e3f', + 'phabricator-remarkup-css' => '1da0b408', 'phabricator-shaped-request' => 'd05e3c0f', - 'phabricator-standard-page-view' => '782b1e3f', + 'phabricator-standard-page-view' => '1da0b408', 'phabricator-tooltip' => '3a455e4f', - 'phabricator-transaction-view-css' => '782b1e3f', - 'syntax-highlighting-css' => '782b1e3f', + 'phabricator-transaction-view-css' => '1da0b408', + 'syntax-highlighting-css' => '1da0b408', ), )); diff --git a/src/view/form/control/PhabricatorRemarkupControl.php b/src/view/form/control/PhabricatorRemarkupControl.php index 7466547fba..3066b1c2bd 100644 --- a/src/view/form/control/PhabricatorRemarkupControl.php +++ b/src/view/form/control/PhabricatorRemarkupControl.php @@ -21,50 +21,33 @@ final class PhabricatorRemarkupControl extends AphrontFormTextAreaControl { protected function renderInput() { Javelin::initBehavior('phabricator-remarkup-assist', array()); + Javelin::initBehavior('phabricator-tooltips', array()); $actions = array( 'b' => array( - 'text' => 'B', + 'tip' => pht('Bold'), ), 'i' => array( - 'text' => 'I', + 'tip' => pht('Italics'), ), 'tt' => array( - 'text' => 'T', - ), - 's' => array( - 'text' => 'S', + 'tip' => pht('Monospaced'), ), array( 'spacer' => true, ), 'ul' => array( - 'text' => "\xE2\x80\xA2", + 'tip' => pht('Bulleted List'), ), 'ol' => array( - 'text' => '1.', + 'tip' => pht('Numbered List'), ), 'code' => array( - 'text' => '{}', - ), - array( - 'spacer' => true, - ), - 'mention' => array( - 'text' => '@', - ), - array( - 'spacer' => true, - ), - 'h1' => array( - 'text' => 'H', - ), - array( - 'spacer' => true, + 'tip' => pht('Code Block'), ), 'help' => array( + 'tip' => pht('Help'), 'align' => 'right', - 'text' => '?', 'href' => PhabricatorEnv::getDoclink( 'article/Remarkup_Reference.html'), ), @@ -73,13 +56,16 @@ final class PhabricatorRemarkupControl extends AphrontFormTextAreaControl { $buttons = array(); foreach ($actions as $action => $spec) { if (idx($spec, 'spacer')) { - $buttons[] = ' '; + $buttons[] = phutil_render_tag( + 'span', + array( + 'class' => 'remarkup-assist-separator', + ), + ''); continue; } $classes = array(); - $classes[] = 'button'; - $classes[] = 'grey'; $classes[] = 'remarkup-assist-button'; if (idx($spec, 'align') == 'right') { $classes[] = 'remarkup-assist-right'; @@ -91,17 +77,22 @@ final class PhabricatorRemarkupControl extends AphrontFormTextAreaControl { $mustcapture = true; $target = null; } else { - $meta = null; + $meta = array(); $mustcapture = null; $target = '_blank'; } + $tip = idx($spec, 'tip'); + if ($tip) { + $meta['tip'] = $tip; + } + $buttons[] = javelin_render_tag( 'a', array( 'class' => implode(' ', $classes), 'href' => $href, - 'sigil' => 'remarkup-assist', + 'sigil' => 'remarkup-assist has-tooltip', 'meta' => $meta, 'mustcapture' => $mustcapture, 'target' => $target, @@ -110,12 +101,19 @@ final class PhabricatorRemarkupControl extends AphrontFormTextAreaControl { phutil_render_tag( 'div', array( - 'class' => 'remarkup-assist remarkup-assist-'.$action, + 'class' => 'remarkup-assist autosprite remarkup-assist-'.$action, ), - idx($spec, 'text', ''))); + '')); } - $buttons = implode('', $buttons); + $buttons = phutil_render_tag( + 'div', + array( + 'class' => 'remarkup-assist-bar', + ), + implode('', $buttons)); + + $this->setCustomClass('remarkup-assist-textarea'); return javelin_render_tag( 'div', diff --git a/webroot/rsrc/css/autosprite.css b/webroot/rsrc/css/autosprite.css index 66aaffc597..233b280681 100644 --- a/webroot/rsrc/css/autosprite.css +++ b/webroot/rsrc/css/autosprite.css @@ -747,3 +747,39 @@ .action-subscribe-delete { background-position: 0px -7308px; } + +.remarkup-assist-b { + background-position: 0px -7325px; +} + +.remarkup-assist-code { + background-position: 0px -7340px; +} + +.remarkup-assist-i { + background-position: 0px -7355px; +} + +.remarkup-assist-image { + background-position: 0px -7370px; +} + +.remarkup-assist-ol { + background-position: 0px -7385px; +} + +.remarkup-assist-tag { + background-position: 0px -7400px; +} + +.remarkup-assist-tt { + background-position: 0px -7415px; +} + +.remarkup-assist-ul { + background-position: 0px -7430px; +} + +.remarkup-assist-help { + background-position: 0px -7445px; +} diff --git a/webroot/rsrc/css/core/remarkup.css b/webroot/rsrc/css/core/remarkup.css index 527b3b6185..cc4705c726 100644 --- a/webroot/rsrc/css/core/remarkup.css +++ b/webroot/rsrc/css/core/remarkup.css @@ -247,63 +247,72 @@ img.phabricator-remarkup-embed-image { padding: 3px 6px; } + +.remarkup-assist-textarea { + border-width: 1px; + border-color: #e5e5e5 #999999 #999999; + + /* Prevent Safari and Chrome users from dragging the textarea any wider, + because the top bar won't resize along with it. */ + resize: vertical; +} + .remarkup-assist-bar { - padding: 2px 0; -} + height: 27px; + padding: 0 2px; -a.remarkup-assist-button { - padding-left: 4px; - padding-right: 4px; - padding-bottom: 4px; - margin-bottom: 3px; + border-width: 1px 1px 0; + border-style: solid; + border-color: #737373 #999999; - position: relative; + background: #f5f5f5; overflow: hidden; - height: 16px; - width: 16px; } -a.remarkup-assist-button + a.remarkup-assist-button { - border-left-width: 0px; +.remarkup-assist-button { + display: block; + padding: 3px; + margin: 2px 1px; + float: left; + + border: 1px solid transparent; + border-radius: 2px; +} + +.remarkup-assist-button:hover { + background: #f7f7f7; + border-color: #c6c6c6; + box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.10); +} + +.remarkup-assist-button:active { + outline: none; + background: #f3f3f3; + box-shadow: inset 1px 1px 1px rgba(0, 0, 0, 0.10); +} + +.remarkup-assist-button:focus { + outline: none; +} + +.remarkup-assist-separator { + display: block; + float: left; + + margin: 7px 4px; + height: 14px; + + width: 0px; + border-right: 1px solid #cccccc; } .remarkup-assist { - float: left; - height: 16px; - width: 16px; - font-weight: normal; + display: block; + width: 14px; + height: 14px; + overflow: hidden; } .remarkup-assist-right { float: right; } - -.remarkup-assist-b { - font-family: "Georgia", serif; - font-weight: bold; -} - -.remarkup-assist-i { - font-family: "Georgia", serif; - font-style: italic; -} - -.remarkup-assist-code, -.remarkup-assist-tt { - text-align: center; - font-family: monospace; -} - -.remarkup-assist-s { - font-family: "Georgia", serif; - text-decoration: line-through; -} - -.remarkup-assist-ol { - font-family: "Georgia", serif; -} - -.remarkup-assist-h1 { - font-family: "Georgia", serif; - font-weight: bold; -} diff --git a/webroot/rsrc/image/autosprite.png b/webroot/rsrc/image/autosprite.png index 4b8c03ad51c6db299588471dbeea80461717dbd5..c8a56e236738b76b6eeef112c3e5e14c9fc63f3e 100644 GIT binary patch delta 3332 zcmV+f4g2!?)Cj=f2#^*J9V7?_0002faHNU=0x$=GC50scwIu>mBYz&$)pf=3KQd-C zafn%5k{F^U?uuwsA_xM4Anw{~)aV#D#4XmP+9ZP`CSwXVkq{M(h+?cL*aiiSK}ACm z^oJsg$SRwFYhBP9rOoO2UU|$<`XfrFGvVIfJu_$C z_$G&v*Co^S{Hu}!bAND0(TR(6EZ`WKzBD}o-d#ck5&2YhvW$Y?-AU!qWt6)umr?># zs4Am^Lfxa}1>WeipK{`IDRFHgr3ITPXX|+?-BU`1k%d%vq>zFgzoqh+GRoVYOR4Kq zsWiE`t|OBUI6MA*?xhb%CYC^V~~e!&p7{P$=upiQmyCx7}3n_j1aQ%p+6q zX*&O1Hu2CTCvZAD0JeDUry$pe*x7wPe9Qq5J|c#;@^JKx&tAF`S4qWtin!BCq3D_W zDbOucP6t5N{(m_X^I3O`4uJXnmoE$-6;p#rMwr(ls|UG;9iG&EhTIN-=r!5_pdA3( z0iYcKTAH5hs_t#IDu={0h$m-p~9!-fqb4-XF-I@Dbpy}Z00j2t;qksJWr zSrs0fM^0`&7Z;^N{dE$s}MOlg#Q`ZPsFMSl@~1eEvj@v$H7?LE=k+xsa0 z2r|Z6I`CY1E)8<_6yFUG-@26o0@jKz#XtH??*q!s&7~njhR}!+BWV8o`LuNDQp(E8 zg5_leoBh;^NKXMr4NSCi(6TlB2)(DF`I5^Pl+qcCJkzY_iMMXuTy2}ZC zU=BGrxqnkqatg)8AEe7yuCOH+(yCP-k>C6UR8m?-{rmS9KLEZKKlS}-^pB)ua(8!^ z6F8rN2Rgb@#pSDXyalvsUv6M4U#}Tr|zrL%a;F<;f7FP&=<7oPajimUOpW<^u4@oxG>(A+&o8-o4beTiFxSZ zF?gu3AlfO;(Mv=lRh`AAcgsNx67H4uE0aqsZOEE4E+1evjt>7&VG8-r@*( zP=E7pTJndbJT7~}!jk3y*guaBem1~z4uAmz7LFc0y2h|Nl&yZaXV0FJ=KxsapmP9d z2Y_|}Xa|6nCMO#=ZjAl<>#u3^=FPhzBO~WVL`0m~wrv}QhlkfGUwgp!)NlX*Ha%v9Ymq@E|WCFJG?v5u^l0)vc_o6xL2m zOr(^Q6akCl62juxVTtY@5G4{bn4V8%E-u|)PK}e zDladm(9lr2c=4jRo{*40RaI5u8L5F$g%2G%R0o`ynJJEF!>};gx5;FpW5uq$JUHp|}Qc zbXo>5+IV($ws=NbU<^w!F)_ji4Sx`G-MxFasPd=*XU?3VechuyV1|kojZ4mdr;Lqg5;(0E)5KYJY$?ZQ4Y< zVj>)^0@%E5>cz4aEn1qq%$YNXCQX{uXvK3<0^^@Y+(uwvAeEGq2-i(RT3A>}>(;HK zMT-^*Xla2+p}iP5^f!MK%@pXpy1Ad^*;anb74(f%gf8-sGa~? zvSf)^8X9G#2Ck^6s8dvHEPwWA&z>!2Umtw%fmkcUrDI-B`YK&tPo6v};<4cIuykK) zU^wX-t5O5QTiIBZ8W^sd#;UZyzjopwE%2Q?cf{t|uTecu)uKg9la}ADaV2xL3fP2e zJA_IL?c*CsPLo5QsOGTd(9!_|X57MWY32GulwW$CE?v28QI!HNEPuN}>%xxH2;c4W zw}kTz0xMCa0c=1WJ5@x#|M0K0BJd#P6kQe9GV?FfqP6>J^3o_$qSFF!Y30p2E#PV$ z6#gTPn7f^GdM1+BtZft=nM_6HHy$g8=cENL;woKVkERsT)a85VM^mxI`%(kvUcA<5 zl^QrRud2~1HE>$?rGG}Nw7^e0@vx*)0^h2>PbC#Mf0gRhg%&MZv}pN1i;e)$5db;@ zKt}*bS*3LZfQ|sr5db;@Knl?j09v$Ykyc)K;RR~ly7goF(n~MV^Upv3rINsSXV}rv zQK<3S?BvOlscYA+)T&i0f8~HVdz6c(rzb&i&N`YC|7AHjIe!srm6BFQqA;lO_xkng z+q<~95bJ-G1V-*VD9)dK_F20wUApW7@UmsgYLo>=k}w9PH{X1d-g)O8ktXiQkt0dU z0&^Nxkq!=dJ@A@5egMv#R=~Zrjj|T5?Zj+Z7vt@5So*EE-dd-08#aXBEk2BE+Knf=B4B{rC?uu_0`45Wr-@?xpQZF{q@(Wd-v{Qm_oW`PD!Iy z$JMP{H<3aaIV=I~=H@0qXUv!((pg|KqS{QWAt_c4R*Mz|h3C%pJex{v-n{t?;~LI! z4fm9SZPB8Iy{)ZnHF|2EMqV(k;~dv;4`q~qWh-{**nhEO^`Jq6L~3PT{F{t>IL9^I zLm8Bny&AV-kn;eVFku3+qgC?|WN$W9+2b1S)k2@gGtvULZ{I$Pt1XQiHx7G7kHMNl z;~vVOES`}T*!WBdPaE%Bf;ERm8I(1?>LI20`S}T8?wG2dd+xagfpHIIP!`Wf3(Uzm zvwVGhg@30Kosy-V7}szQWl$E+$UJ{;#XI`v(LOCfo5P|E%HkQ>7Y!ZEdt$D-CbJck zsa_8*_pnrd_(8M|C+Mu3c;Fn@>JL|1v}kGai;3wkzWAcpL44(vSIEZ3CS7S@?x3b4 zO)Gk6-e!TDCtZ0fbNJy2IP*9cZIV?~YxZ82V}GlZ(=Gd01u(vo24EH&E;qS!#=1l#FW0nF>(YuHobtm3<^0vN6wY^-rK{9@%{ z+qG-A7;zl{PEJmCR2r58(b9YM>Lqp&;m+yQsZ*)yQ_A%EJBNB@p+!s67E4jI4Jpb> z4}Xlnm8TVyl^)p6&Q3sd=+GhJ?YG}X$f5s}%1Uox91&lMC1KybeQz4~nl)=?!|onz zh})T$RRS1qks{7AI5_yG0n4#kS%}$s{uE+c(DAyY)w>G8aQyE2nNS031Nqb?EtK~){nH6Qs8?=)kTaY zED0SmW=x%Rl>-JueXxd931DiZ=*hSiElo=>p@2T^a#4vTqB*ctbX?}ZR#T-7Xn(7y z(v2OLb?aLkX+H0>7&f$oM;vCm-59i7NBh>#%f--v5p+!s6TnqD?EZ8DN0_|U1 z6XU)TYvDe9`k-I3#Zmb+vH5sw74aPyWAVNczocc0qcH|sQk2zIT32aZrFE6oRa#f+ z-=In(ACIomIMny#tvOY|iGDUnz8tE(mt}HMh zVPWHM<$=uwnGXRAt1Ay15)vY+w$*f8oN?H?W>iMUrGd3*(W2!yl>Y)WZ?3z6v!f3H O0000mBY*l6K||D1x#%Xh9iU2WCJ-HYv=&unveb z!wfLPj#62qiZnjG=PCpYrp5FF7w<_>Rb2?yM+-OYOGLKyQ~ zQT=ljS}rxAHN^;HGLvVOo#@n9knDOLeYXhM4E-;9m`lv!c7Iy!+C4~h(?S)d!S%1y zNb|ahG;ii!H;~FaXUA=%xaXq(_g+|(W*Cy{@!)nl*w7>3~L6^eZ$5&EgkZ|DL{gIs+a;mTR{j^Cs!>h07N(+jLZm7&Cnzx z&F59rPrId+1b?pDE4BcTe_RRxQUH(wfD{0vEkC=(jsaAkScjBDuGhVMwubunZfW%P z_J*gYCp<&0PJM#jd)8cpS z-h)4?Yk#0nD8vM|FyK!&xTAk)1fzeltR1|>{_q1h9Qz7*V)7}E@W8+zYV~z!X*F_q zH#awttF#AfJr3N=SK;irL>A?d*C$WEL`|&@uCA`w_4QtC`+Pg5U(ARNY}JNhllvAN zVi9$9-2{b)C&tDn=1!IV{@@P`ZZi^2pT*%HkAK2swxGE9j<{{usttp?R{-1i4}i66Be!kaHZvP_au)TH)vH$vz6Zc@7r6(3 z6n_Au03ZbbY0J(oUc9KjaNz4H#eiNuMd-xlX&**8J<3U%9nx+nzwQG-kR*}>>bR@SRp`2;KIT}P*k5k ze~wPJ*6rx%Kub#tU-;8?YHAAUOc)?QwSQWTq9V4092%M{1R;T`>JAJH@Mu?5R6wWG zaag(zv-NRWS{la2#(2aj`sDPDkiZ&^hDW%&yPHR^s;UZgb#-WMZG~R1M{jR0Qd3jW z)z!uCmzI`daBz@+BQ!8o;o{=rIbfsF$gk9fDZUPt9V000|%zIE;KOfbvfMKyLVAtUCrArIo%_0>a=Eosg1X{ zxASj=1*Tz1rBZPXnn31zZf-8G@>ByF8yitsS&62mCb5BO$YJeNeeBq=aHeiJ&3aBw z4u3{YS~Rueva&Md=jYR8<(81ZG=CJGKYyNNoR63<5CG!h;vyOJ3<1wZoPn0a#>Vbu z?|vvGFbze?$;pdWPX_hD{D{AHDi|>ZfLUO=z88xJ0;RF{y#Y>1Nda3ifv)cb@cgzZ z7t7M5Nn7?75)y*Iz`!LteJ3O^{qmHzk&uvpo}L~q-Mr1MRx9G;;}I1V#eboN1-9Gm zT+yJY(eiLHSekDK1qE?ghZGQ@foGve&Y|d?I(3RilkS<#W|q|xhv?{NzBHVDS7_k= z{{A_qYE6s%;NW0B``Wi}A73kzq%;3L;j8qUURzts^RY18@Ab{)Kd`-bjCp9>9a>Uy+f7aG`T9$c~u4cyS)w`3O< z_`gm(7IPti$0nblr~k=2xm;aHlO|1?wEx*;27t@}kQo3n13<_sEi(XQ27t@}kQo3% hn9Kl>CQWGj2gXwPM-YGMdAI-o002ovPDHLkV1mtAdM5w? diff --git a/webroot/rsrc/js/application/core/behavior-phabricator-remarkup-assist.js b/webroot/rsrc/js/application/core/behavior-phabricator-remarkup-assist.js index e5b56167d8..01c46d5b70 100644 --- a/webroot/rsrc/js/application/core/behavior-phabricator-remarkup-assist.js +++ b/webroot/rsrc/js/application/core/behavior-phabricator-remarkup-assist.js @@ -39,9 +39,6 @@ JX.behavior('phabricator-remarkup-assist', function(config) { case 'tt': update(area, '`', sel || 'monospaced text', '`'); break; - case 's': - update(area, '~~', sel || 'strikethrough text', '~~'); - break; case 'ul': case 'ol': var ch = (action == 'ol') ? ' # ' : ' - '; @@ -59,13 +56,6 @@ JX.behavior('phabricator-remarkup-assist', function(config) { sel = " " + sel.join("\n "); update(area, ((r.start == 0) ? "" : "\n\n"), sel, "\n\n"); break; - case 'mention': - update(area, '@', sel || 'username', ''); - break; - case 'h1': - sel = sel || 'Header'; - update(area, ((r.start == 0) ? "" : "\n\n") + "= ", sel, " =\n\n"); - break; } }