From 18f59cce0af9996da53137df2b82752693d20bc6 Mon Sep 17 00:00:00 2001 From: Alejandro Alonso Date: Tue, 8 Jul 2014 13:33:18 +0200 Subject: [PATCH] Basic markitup integration for issue edit --- app/coffee/modules/issues/detail.coffee | 135 ++++++++++++++++ app/images/markitup/bg-container.png | Bin 0 -> 322 bytes app/images/markitup/bg-editor-bbcode.png | Bin 0 -> 1642 bytes app/images/markitup/bg-editor-dotclear.png | Bin 0 -> 1682 bytes app/images/markitup/bg-editor-html.png | Bin 0 -> 1534 bytes app/images/markitup/bg-editor-json.png | Bin 0 -> 1529 bytes app/images/markitup/bg-editor-markdown.png | Bin 0 -> 1783 bytes app/images/markitup/bg-editor-textile.png | Bin 0 -> 1659 bytes app/images/markitup/bg-editor-wiki.png | Bin 0 -> 1488 bytes app/images/markitup/bg-editor-xml.png | Bin 0 -> 1495 bytes app/images/markitup/bg-editor.png | Bin 0 -> 1745 bytes app/images/markitup/body.png | Bin 0 -> 278 bytes app/images/markitup/bold.png | Bin 0 -> 304 bytes app/images/markitup/clean.png | Bin 0 -> 667 bytes app/images/markitup/code.png | Bin 0 -> 859 bytes app/images/markitup/h1.png | Bin 0 -> 276 bytes app/images/markitup/h2.png | Bin 0 -> 304 bytes app/images/markitup/h3.png | Bin 0 -> 306 bytes app/images/markitup/h4.png | Bin 0 -> 293 bytes app/images/markitup/h5.png | Bin 0 -> 304 bytes app/images/markitup/h6.png | Bin 0 -> 310 bytes app/images/markitup/handle.png | Bin 0 -> 258 bytes app/images/markitup/help.png | Bin 0 -> 351 bytes app/images/markitup/image.png | Bin 0 -> 516 bytes app/images/markitup/italic.png | Bin 0 -> 223 bytes app/images/markitup/jaysalvat.png | Bin 0 -> 258 bytes app/images/markitup/link.png | Bin 0 -> 343 bytes app/images/markitup/list-bullet.png | Bin 0 -> 344 bytes app/images/markitup/list-numeric.png | Bin 0 -> 357 bytes app/images/markitup/markitup.png | Bin 0 -> 15062 bytes app/images/markitup/menu.png | Bin 0 -> 254 bytes app/images/markitup/picture.png | Bin 0 -> 606 bytes app/images/markitup/preview.png | Bin 0 -> 537 bytes app/images/markitup/preview_ico.png | Bin 0 -> 387 bytes app/images/markitup/quotes.png | Bin 0 -> 743 bytes app/images/markitup/stroke.png | Bin 0 -> 269 bytes app/images/markitup/submenu.png | Bin 0 -> 240 bytes app/partials/issues-detail-edit.jade | 2 +- app/styles/vendor/jquery.textcomplete.css | 36 +++++ app/styles/vendor/markitup.css | 175 +++++++++++++++++++++ gulpfile.coffee | 6 +- 41 files changed, 351 insertions(+), 3 deletions(-) create mode 100755 app/images/markitup/bg-container.png create mode 100755 app/images/markitup/bg-editor-bbcode.png create mode 100755 app/images/markitup/bg-editor-dotclear.png create mode 100755 app/images/markitup/bg-editor-html.png create mode 100755 app/images/markitup/bg-editor-json.png create mode 100755 app/images/markitup/bg-editor-markdown.png create mode 100755 app/images/markitup/bg-editor-textile.png create mode 100755 app/images/markitup/bg-editor-wiki.png create mode 100755 app/images/markitup/bg-editor-xml.png create mode 100755 app/images/markitup/bg-editor.png create mode 100755 app/images/markitup/body.png create mode 100755 app/images/markitup/bold.png create mode 100755 app/images/markitup/clean.png create mode 100644 app/images/markitup/code.png create mode 100644 app/images/markitup/h1.png create mode 100644 app/images/markitup/h2.png create mode 100644 app/images/markitup/h3.png create mode 100644 app/images/markitup/h4.png create mode 100644 app/images/markitup/h5.png create mode 100644 app/images/markitup/h6.png create mode 100755 app/images/markitup/handle.png create mode 100644 app/images/markitup/help.png create mode 100755 app/images/markitup/image.png create mode 100755 app/images/markitup/italic.png create mode 100755 app/images/markitup/jaysalvat.png create mode 100755 app/images/markitup/link.png create mode 100755 app/images/markitup/list-bullet.png create mode 100755 app/images/markitup/list-numeric.png create mode 100755 app/images/markitup/markitup.png create mode 100755 app/images/markitup/menu.png create mode 100755 app/images/markitup/picture.png create mode 100755 app/images/markitup/preview.png create mode 100644 app/images/markitup/preview_ico.png create mode 100644 app/images/markitup/quotes.png create mode 100755 app/images/markitup/stroke.png create mode 100755 app/images/markitup/submenu.png create mode 100644 app/styles/vendor/jquery.textcomplete.css create mode 100644 app/styles/vendor/markitup.css diff --git a/app/coffee/modules/issues/detail.coffee b/app/coffee/modules/issues/detail.coffee index 4f3e73e7..4c98ba3e 100644 --- a/app/coffee/modules/issues/detail.coffee +++ b/app/coffee/modules/issues/detail.coffee @@ -529,3 +529,138 @@ CommentDirective = () -> return {link:link} module.directive("tgComment", CommentDirective) + +############################################################################# +## WYSIWYG markitup editor directive +############################################################################# + +$i18next = {t: (key) -> key} + +tgMarkitupDirective = ($rootscope) -> + link = ($scope, $el, $attrs, $model) -> + openHelp = () -> + window.open($rootscope.urls.wikiHelpUrl(), '_blank') + + markdownSettings = + nameSpace: 'markdown' + onShiftEnter: {keepDefault:false, openWith:'\n\n'} + markupSet: [ + { + name: $i18next.t('wiki-editor.heading-1') + key: "1" + placeHolder: $i18next.t('wiki-editor.placeholder') + closeWith: (markItUp) -> markdownTitle(markItUp, '=') + }, + { + name: $i18next.t('wiki-editor.heading-2') + key: "2" + placeHolder: $i18next.t('wiki-editor.placeholder') + closeWith: (markItUp) -> markdownTitle(markItUp, '-') + }, + { + name: $i18next.t('wiki-editor.heading-3') + key: "3" + openWith: '### ' + placeHolder: $i18next.t('wiki-editor.placeholder') + }, + { + separator: '---------------' + }, + { + name: $i18next.t('wiki-editor.bold') + key: "B" + openWith: '**' + closeWith: '**' + }, + { + name: $i18next.t('wiki-editor.italic') + key: "I" + openWith: '_' + closeWith: '_' + }, + { + name: $i18next.t('wiki-editor.strike') + key: "S" + openWith: '~~' + closeWith: '~~' + }, + { + separator: '---------------' + }, + { + name: $i18next.t('wiki-editor.bulleted-list') + openWith: '- ' + }, + { + name: $i18next.t('wiki-editor.numeric-list') + openWith: (markItUp) -> markItUp.line+'. ' + }, + { + separator: '---------------' + }, + { + name: $i18next.t('wiki-editor.picture') + key: "P" + replaceWith: '![[![Alternative text]!]]([![Url:!:http://]!] "[![Title]!]")' + }, + { + name: $i18next.t('wiki-editor.link') + key: "L" + openWith: '[' + closeWith: ']([![Url:!:http://]!] "[![Title]!]")' + placeHolder: $i18next.t('wiki-editor.link-placeholder') + }, + { + separator: '---------------' + }, + { + name: $i18next.t('wiki-editor.quotes') + openWith: '> ' + }, + { + name: $i18next.t('wiki-editor.code-block') + openWith: '```\n' + closeWith: '\n```' + }, + { + separator: '---------------' + }, + # { + # name: $i18next.t('wiki-editor.preview') + # call: preview + # className: "preview-icon" + # }, + # { + # separator: '---------------' + # }, + # { + # name: $i18next.t('wiki-editor.help') + # call: openHelp + # className: "help" + # } + ] + afterInsert: (event) -> + target = angular.element(event.textarea) + $model.$setViewValue(target.val()) + + markdownTitle = (markItUp, char) -> + heading = '' + n = $.trim(markItUp.selection or markItUp.placeHolder).length + + for i in [0..n-1] + heading += char + + return '\n'+heading+'\n' + + element = angular.element($el) + element.markItUp(markdownSettings) + + element.on "keypress", (event) -> + $scope.$apply() + + $scope.$on "$destroy", -> + $el.off() + + return {link:link, require:"ngModel"} + +module.directive("tgMarkitup", ["$rootScope", tgMarkitupDirective]) diff --git a/app/images/markitup/bg-container.png b/app/images/markitup/bg-container.png new file mode 100755 index 0000000000000000000000000000000000000000..ec38b8e18d2fc097e89ba1109f22a0ace31df11e GIT binary patch literal 322 zcmeAS@N?(olHy`uVBq!ia0y~yU=UznU@YNaVqjoc+N^hufq{X!*vT`5gM;JtL;nX1 z3=EtF9+AZi4BSE>%y{W;-5&-92GtVRh?3y^w370~qErUo#N?v<+|-oJLS?-v|XG0|S%xvNh)!7#OyAx;TbZ%z1mqkne~B4~v7s_y602mUDb((`K4!a7D6F zw9Na}XB*W`Q7>KxoyzZ-nA6^)@Js&OoQ2=zm_F_f$)3v-)jc=s;KX&WXYFyWc+sNp z@am5D)@;kJ+cGfdJM1tOI>*3p;Gx4rMh1cCC}xIztSM3qLCk`z4Objo7!y<{STICz zs_-$yF)%VAggkg%L>Tzky%-=w!`ntBW(I~Ef>&OipT;n|$-YI>*hHj3?-2t71B0il KpUXO@geCwg9cfGe literal 0 HcmV?d00001 diff --git a/app/images/markitup/bg-editor-bbcode.png b/app/images/markitup/bg-editor-bbcode.png new file mode 100755 index 0000000000000000000000000000000000000000..39cdbd832bfc3ab8d3dc1d00ef45298ed6b06c25 GIT binary patch literal 1642 zcmeH{?@yCg6vw}%parS00UN)hePMz#N^2*xlhGDMXEUraT9J$jO)0T<<)Nig=El~U zxx@srw7Ha|aSmUT#}P$(2<3ODR;J=Jt;cgFm&d$w=OzJ5a({bQYbU|@g)Og#N9gTrZX ztOP6;c~Mc)$1#BD^Ee~G7|GbUvHqD-T%1ZNIlUbn+{bBv>F6CL0bpI+3=k{2M2E=K zt!`G|Ph+vth5HH%?-kL3Vb}32AUu|gv1p{;f)Wj2`h%}q2@`%=1B6}ttZUKZQ9Mv; zwOW%Kfbf)V$l;9yMqan_o~MRqH9-4<%++d_c>{sIg>WEIGJ1iRIkuh-3~nM=yEHsr>Ex|R!U0B z!}B!2TP9rrgfU1C>@gbHqEV-<_5uwk|MO?E?q$VPNj4*6wcH*Xi@&kJPXN9Qi5YoE zC=BxLr&t`!x-Bm$x$*Rj+wJ~g3t7wgseMh!6(?vgc@oJLax3q2cX#(Whuv={bjBx8)=f6Xg<$j)@AGc!`W?wC;(| z_mQqX$p|EVwHz*bxVX5La#0x7gJrtLSY7@2Z`YM8lGy}cq_^z@mEiD(>h@?L+DXl7 zGWmq>VsCGjPj}?V*6B!qn;JZOXvqJhxj7vWm4r~Ly9|gxMNsB^#x6j+?sAD|$>Zj> zh5}7+TuN%#n+bwY-lqZUf;8;{Nwz=`cu+MI?sc~&)u~?ziQa=YZ`;dPB-+b{pg*+kufz64SHP_4YbZJfb03hBW L$^C9y>Ct}yOrq?L literal 0 HcmV?d00001 diff --git a/app/images/markitup/bg-editor-dotclear.png b/app/images/markitup/bg-editor-dotclear.png new file mode 100755 index 0000000000000000000000000000000000000000..b3188dcd5625c7c0a137ee1315a0e6ccf755fb20 GIT binary patch literal 1682 zcmd^8>rb0i9Ddq5D2!XS$<4v~MO?^$ZbQd5Qd%w+6j_xrgrX}1R&dsK6l^UN-Y|u1 zBvwbdFa+C8BLfYW3@J+-FlvHG>OgRqZPisk5mpwijaZ9$-$rT3{0sbWzMTBd?>yJ@ zf(*W|cc?c2-?Y@^R{+KwfNz*|0IToi1p{Cx64QiCCi9;4!~+0c^3)s!uyYrAXy03^ z8~_5#QeG`fDlN({E0Mj$5|&7dz&;vtC@zM5q&+KL4xm7Y6Tqf<2bxrI2KK0Cc7jUtek z4J<bSK>6<_sw0f8eFHfj%xe8F8?US75+wOZ|LLQi-1 zLG22F%*H+jxS+7zJy`@0)ydIWSC@2Z5->3oG88{ zZki3LKL~WCrueryHClcy4dM^K_!j@Hr08}{lg!;v50Ptxot>ROYn0X1r<_S5k!U5( zA7H19o7$d^@9+lx>W*Xpw05J>=n|cMmLhz7QK?im)Z1*foJAUNy6~5OWer#a0=Og} z;%X4vybumNkj!tE+if=6Oo2qwT4w?2QkCj+OZrW)!k7K=-y->gD_Dc&-X5}ybo z{S-eAEc{#P;9@srxUo`MUjAj50zi}t6ZKG_sjT#&a&;~%1YnM>%jaijXJ-mzGTEgH zfCzcg)_2>*c)R?REQ6*tAYgD?B-~NWU;HRKI(mcS35*SG%?UJBRer9Yse~0*#H~3T zm8IPS0|OsWdS0d!zj2fB0_L>Tked^|)w+`AmX`9L6mmIxB_AMuzYv}gWu=`YrztXm zo=AmC^`reLKm<~<4(@COSj6^S^9u`S<_-f0`*ocj0T>dbo6}Wlb*?js&*vZB=K(Z+ z_deMJ3V@+_SQ8tnvHvhKGBPvN5f7{mZxM6ZLbZs><5p2zm*pcbnMIcXg6CF|_9a!k zoBiTDb(#E6#vOiCJGRU%7U@c!E6iQbf8oC~>gpU-5O=wP*v~c@572;fuE4vxGQFg7 g5qHb!V^RN~FRO9gbe0}rY-$65w3LkGjzn?I-z0(zX#fBK literal 0 HcmV?d00001 diff --git a/app/images/markitup/bg-editor-html.png b/app/images/markitup/bg-editor-html.png new file mode 100755 index 0000000000000000000000000000000000000000..11bff456808bf9f846ae0af5b4b0a7c3cfc020fc GIT binary patch literal 1534 zcmeHHZA?>V7(L~pEg+y~65Le!!^z@IU?#2T{p3PCZ(#KpPH8p3c|^#W#9up^KW%%IWE1gJ`J8KgxBF7JEQR^xAf`Q!e1pOfdD z=bV#!cw^4m=*Uka0Yt0TWqk`ULjdl|!T^jO%!>!Wm{+P;nM~H_+3*NJgmK+>W*}-d z`6S(L+a!R5lGV8-YQwG)OTI~mZ}Pu48TROQ>htAm^d_CfU@A1rQ<`>nTLHuo=qi&g zzeI2NLC)&;=#Z>TTAGrStoT`zeGZt$siGwU!rCbh7N5X zE;zg|>CPP?v+J*j@RQy?%~7}7(za#O{^hO+MWuRK+xYl+1|Yob`^Qz9uW|zkOx_wC2q>H3L&qwimI(BO~Qp zJfKznw3JZnJx)+h*ny6gmX-=9fX&5=89>rXj$L%Nz2EJwvN@H}K+&;EwFGkE5@E|u ztx=|@_m9p4gh)yyCpxv=ZI_yxn=d?6rlxLjrUSz4kfGIPYv85>+5_~`U&^W{TrSt3 zG`1lOf@9H5&8~I}z`H^eP>-l3wWG!-V`F1OmSfe`ye{n zVp3vaVtoSxFMbiO?WZ>-(Yj41US`LECtW23^jGF z^##Pnir(H{@55UT$K<53tn7MSDZqbzrX3Ko;WHe?maZ6}{A4gnBegTs1&*7za(i1| zUiQoLjg5_a?=!%Xe=8Nf+vc$tp#CvC9SE!N`~ANc09f;Y)F>qTLXPBZR|Z$oqVXhY znVm=$JCdUV*;L z1`v`bQRMB_W#$=FdNp>bGW5D^^&zcFxI?Q~8+7_3xx%Q2hue$*mNTK-^=eg~R(Dh= z*Ji6B+O#1&YJ*68dtcHuz&klHew*A_Iq0(OTzz1v`OU}6%PH!aT$1v-ar}P#i`e>l zhr{9Y;jVf7DE&-ovWwqwzJ7g0@TshpwE}@a;0EB2wQ zz-g+gs+v8isj2xwPOM!YK9rx}0!jy+%Lm}MWC-vVc5xt7K2e0)r@l{4nx+MV!^6p8 ze85_CaWgQFX8?E#gS@}AxVV@W`2r)$0+~I3Hru&kBCHiaMFy$O%Mwa3}Ixb$Etx)DOrixgHMqTa6}@g=jOAqDlD;!9Zu_aor_TK|zpPB9%&G zS8)MFbIJ;UHxiuy@B+s8S4v7t>8XL8plLMVWY+qL6$&*zcfG5}}h#S*(PH9tu# z7FS%Q07Ztg&)J$L^M;vzHB;cJ&DOky0z?i5kXJ{#%x1T*a!WKC%`6|XZ=X!Hv_9R( z1tK-B6wB!7=rfwGtt~$q04O&~)qrp-;Sn)ML(nA-%<$ka6e6n5F_|_E1_6$hEhK4n zWQB#-JO~k=5KoBSA5a74=KDE+!mcE1_U@jWe!#rH&V}^s5lT!tqqynTU#PLgd#V{f z&7~T}0w-5F2uYB9^cxlyw2S}% literal 0 HcmV?d00001 diff --git a/app/images/markitup/bg-editor-markdown.png b/app/images/markitup/bg-editor-markdown.png new file mode 100755 index 0000000000000000000000000000000000000000..c1997152233017b54827cc41e07d0a2870c3ddba GIT binary patch literal 1783 zcmds%`%jZ+6vw}9u~vpF*~X|`T6Q5pmaSN}Q7=ekf)cqYb+}lDjTWg4Dy6izCA2YH z6UsnUt`4mAL5e*uc7VK}l~hhwEeFC5^uQJ4*aZ zhCh7&`4;W|vePAHQL&$X)Nt|LFGX#!2jc`?8J80KnjWk;o^|Z#(knl;m`8WyP9Ywi#3mG}S=n>tPiLi<-RfUzav z41jj5va*uWMn0r2XHQ!d;l-sei}kV119|v4p8)7Q1U$J5HAC{c=i1GScjX>=eMR4N)CQcB=F+I z&FkgmA2R-nnYW7WK1}A4oBtfJoi*>W?dD&(eV2pnGPU28! zXQ$=JUbTXc@fn~RS63v-vByoHMyuF^y+4X=!S{VvXyp~THT`#21I** zX)%YAc|745Xwad1A1}sQM+35rp7$QVIx;e1Il|_x)YlWVEbA49{6jv#IXcPBm?yq- z>(;H?(p|fD{TL0{OUSoH9r~%pCji{>vjw!1EZb)(P>?$GQxg;U4sPT)(9R{@7DD($ zH~QDLs*D=|KBmstDo*h;o6fDMt*zBJ%m+C8`89NiKnbzhY`Og^mFm$$i`Ba9oc2My8%lIIgq|4h|~VGoi0UQ)Z8=7H9?UFo1fq^YcZTi-72~{xV+n z5ZP#UJ>fSKm&e<4Vr+c;K(n)}CdFZzO)MjFp~YsK>Ei?T59Suo0~A>|s=uir@O5!9_qQH* z|Aqxs+vw0e`R4!tp!k+_sk6J5?2#A0FZ(UAifB0JfmtVuI!uX|9t$qW=a9-HP3$p7 z{{_9)pGy@*fHQpF(w+@@J*&EBCw|0FV%uyt*!S%kIAcwfaYn literal 0 HcmV?d00001 diff --git a/app/images/markitup/bg-editor-textile.png b/app/images/markitup/bg-editor-textile.png new file mode 100755 index 0000000000000000000000000000000000000000..3ab1e9f6e21ebbedd072bef63d352d26720801df GIT binary patch literal 1659 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 literal 0 HcmV?d00001 diff --git a/app/images/markitup/bg-editor.png b/app/images/markitup/bg-editor.png new file mode 100755 index 0000000000000000000000000000000000000000..ab7cde4850e081e787aef81f3893cc55ead0470b GIT binary patch literal 1745 zcmdT^TTD}T9R5my)pE@Oav4;D53=r3L>NpID#K0$fk9y+RNB-UScAp34h8{EjG!Y0 z%+M%;gNUq(gW)2>IJs|PY7j6u@>)Ln5Zz~XK4W8BkcF9Fz~ z-nmyDtvIMolPG1_BatcSVp zcP@(^%jWtu*hWo+ed8alv1s~%t-5R8c!nv`eq@-33 z;ERdtOz??Ey}iN*J^*|&ii?Xy4*>K|>IVUcTEG-R;{hr`LM5hW)2=Jd3+wfRjl0CP_+lWZ=~c}vpGf&S=i0Rdl9@Y<=( zv<=nP+WjJtPfpLs$cVAI`!EUmC^>v0=6j!#>^~Amy@8e_HFXzHYXUx2(bFz6(sk%G z0|a6=h;Q7yxm3RuAlL#K{zjCq)oP7uXr@!SKsTq-i)6Zk#6<~28(1-U=dy!?L%B_8 zXlQd3$UGm@G=kZpqI|AZ5L4(fw@wgL^RP>n> z!0JvC9+b(drm4#)!CKBllZ?~IrwSvt1qP<5x zs@`xyK~otUP=`_wDe3;Yb<2!at1Y*Y%jJQ6OknBc>IMASSFiT{{B&$=Y)+DumGzJZ z@H3497>!Y&I~8^t;BTTH`S-Wa*b5dN08i(&(%2~!iuT_Mi;7B{lcZ9q%S$rZnsmRH z{v9z4RBWfj;m^>;bed1aRwmfjY$)1nX%8*{KP~HFUgxbr=OpnPoDz7b)+n^u~2vRBm>0I z#Zl7hrnEqfj!GZ)x3=z>bC`biOheI32#!aWrY6_}{ZgShU}9&;ZhnL7#{7DN!7$G2 z*Xs?3Hv=tVS|npCy{eR!-?@Cd*^vn}hpZKZ@;ogYw2LkbJ-3N}FR-EaScDhjbt$Sz z0*Sz&)oB%gljM7~%w l(0*#P%ox4(?@<2#r3*G$4S7=%PkRpl2-z7PTpJ`l`X``OAu#{| literal 0 HcmV?d00001 diff --git a/app/images/markitup/body.png b/app/images/markitup/body.png new file mode 100755 index 0000000000000000000000000000000000000000..c6b7531a8fa979a5e010df1fac96db61d375c7da GIT binary patch literal 278 zcmV+x0qOpUP)00003b3#c}2nYz< z;ZNWI000SaNLh0L01EH`01EH{Laa2H0000bbVXQnQ*UN;cVTj608L?Ia&K*AWNBd_ zMrm?ocW-iQb0AGvATls8G>3Mq&j0`b7IZ~ebVG7wVRUJ4ZXi@?ZDjy4GA}VQFEBSu z<$_ND003r5L_t(|oYjx93V<*WLvwLxr*`Wn_M7^zy?|4t;-IJ?9%OkTT!LCFCDGkC zNn-DP#|C%zgE!}APtrni0RS_@xYinDj7%x9l){`dLkI+LOJ;VN&+N>9^5^Z$-QHjB cIqUobt#8grfRttOLjV8(07*qoM6N<$f(fx?!vFvP literal 0 HcmV?d00001 diff --git a/app/images/markitup/bold.png b/app/images/markitup/bold.png new file mode 100755 index 0000000000000000000000000000000000000000..889ae80e37b6167cc15f2a89e05a183815ec18b2 GIT binary patch literal 304 zcmV-00nh%4P)b^}|6b=Y6y(;Y{!a!g z@UQp#@Aw}>L3(}s|7f5BUjeuKZvQRjV<2U7yvu*H{aAbvQ6K!@3oKzW z-{Qa8d3gae1^)HE{~f^!v<1}u>;4xnKvUpW540I-w9J3a{{r=B3T*2g{_BH1CtaZO zpZ`6V0*V5g1e5i;`_=Z#_e=H*@8|93RG@lX;D!K7TKswwko8{x0000LlS^n5Q5c2KWM*m}YV3eAws|yDY&wl?DsIf8f*>k% z<*Hc~7ec_5rHi-`yO3f)SBkFeMi8|t(GpA*#H3ciSWBp+c{r^&PVFO&3C&}i$+#MA zZCZ-`mgm3cyWAfxp=la+gJD~$f3lF*v;Jqx`Q8T$Z@WYD zo5ULg-eG}Z89L0f4Zd=*mecc6xt8;=w2x)zu;*%)sVnHZF8Gfgv50&V?aO?Vg=C`G zqt8;QwVsqD3w#sp>uk4(?#r`&eMV@ShR&fc4IOUt64yxY7gl5?KAAs}zQf1Y-^2&g z$Gu&9-`V$(R7R2uQ}2HsoE!1T1^`G5aq_1Rg+NBCRv6kqwQ}ZBXMdtuFS`d*&78wH z%FqTXD^)8WCsqSp-l}5wzGHH~3TMv4``ZJRQO3=(w6oCI`;E z`gMDg;9p*xrm`moLYyi48W1M{s};+X6Y)q)IQvrJsBPN-$Qt1?9(Dn}gMTvW8Vj;U zv~1YHR;Z*VmZrvRmZz6cE&o6XK(RnVCGj2D!Cx>lhwjfzzEPx#2?dhIYK}l!BvcK! z3)ER+Jz{5>jf6w4x#gTU%_MMNlkNp$oSbvBp&uHw9M;u0-4@=t5BI zP6Hx#-C_{5RMJ z0_P+Xkumexn8%)S+Y)#l(gR;YJP<6#1-=jjK0LONWPdJQIR8uK1HpvVIxBIQ2ztt+ zqoEx_X9S%QGMe=~(k#sebCL-an)%CR%a7YtUOQUgv+G>~?N~XSWhx=? z@$fx}0MB;$`JWcQ-Re{XV~5|{DvU(#*+NF*g)j^qk#b~G9_O!i*y&mZVZ=a3;Go(K z`DkskYn56Nhu+k@1Ke*uY|x zI&k6j$JfNe_a{GH%=n2rZOz$Z8R9V?Pe36hIk}jo+A-`;dt9vyvBu#Xm@veu&@v`| zzt%mwc_$nd0-sMVx2d)b0!MqGxmfCumx7yB#nIUWvA{!HOMfslMyW1iV&nY>zxwyj z8^JfLN|kT z4m^Q1mhO(_r4w@`V?H=YNkOf(i&bHT3Auc3bryK1_{hDSetLoLN{VLB^78ULiNFy^ zkUqqG$fjVkJj5tfWkOn|P5`HVEp5@-mGnc0wvJGHC=+39MC2TWT#i?t*~fNch*he_ zgtS^8dH$(KlW)EF1b4Fzv~?&0IQaNdg;W5&{t&Bmg9&N1-rBBr_;Rg8ekw^mn;@T# zlS{|Rq+-Nlg18i%UY;i|q1NnSwf>I@85#4U4002ovPDHLkV1mEDi4_0< literal 0 HcmV?d00001 diff --git a/app/images/markitup/h1.png b/app/images/markitup/h1.png new file mode 100644 index 0000000000000000000000000000000000000000..9c122e91e358860733eaf08fd543e5fc585d4cfd GIT binary patch literal 276 zcmV+v0qg#WP)v>p$5} z=%o9iM}UtW9$PqR2@Vz}o}}k-uO@ieaJ4Cx6u(C(slX;{0R~eJ6c066WjP#MHas0V z2LtytSj3eH8ekO|lz6Wkia0*8_k zUHPBB&qphr4_yM>peH5eTtl=+gX00aH&Co9xzv;RJh-SL7`Tr>cZ(g(s7JL(-f4mCo8}R8Y-58&y@BGLA(h7tmQ4g_ji(om4$o5Gg}Z_ir{ny)+c`TPK23hRz`0&DO90000wEzGB literal 0 HcmV?d00001 diff --git a/app/images/markitup/h4.png b/app/images/markitup/h4.png new file mode 100644 index 0000000000000000000000000000000000000000..4e929eaf583f10cf50eb1666ff6530b9d4cc7915 GIT binary patch literal 293 zcmV+=0owkFP)ZVg9Hj*!Zw zxkAM~zCH&l><=6QeDdgV4l9hop+%GWq_IPV?Z641X8iiHrWJUN^2}hSiGjhsfbOLp z?d`9_MC0P3jVAVsEwEMMb0n zB0~XIzS#Ls)rMq>17#JADN?apKoQqNuOEUBG6hbm{QyC1*^^FYm4b0n+%znkdaNV41^ZE_bpEEEpFnGH9xvX{>H2`=?vJ~Dh+Rz5 z`VC_oWOP$#GsFiz@r*Sr<2IvfO9mZ|F~UuOZ%65-OZ9|JY!~=uDH-e)1V?xu*x0oSgT$J*kO*Aq9I~CW*s{G*(t$KS{OS+#aO%?udUme<*TTEO`Fr@r_QT zk=#}u-n~>Vm!+9S1PE{@3<)G~CPb<$Za;W?3+O}|+q)?*Pn355=}S(XIZmEANjZci zf5 zj<%@MX^bD1^BwlS^+AD|$dm-1wial0hwPI;CDM?Y9SXW#@w-UF0SQ8OgplRTleOB2 zUjkDS|0U9pI|lSN*EvXUa~*UIclJdZ#)Npbwh9>YT?Z;=B8|l&^t~P~om?<5Lre$+ z;%`P>SL7`djY#8Y9$wv9dv|3p)Bo0y78G{~G^s29!yI?g6y}@&_b0&^RtI ZApi?t|2t!=rxE}F002ovPDHLkV1k$$Q>6d^ literal 0 HcmV?d00001 diff --git a/app/images/markitup/jaysalvat.png b/app/images/markitup/jaysalvat.png new file mode 100755 index 0000000000000000000000000000000000000000..a2a23b39d8bbabf70d9c8106306bb20760e580aa GIT binary patch literal 258 zcmeAS@N?(olHy`uVBq!ia0y~yV2EX4U|?lrW?*2DO)8RNU|?V_cJd72;NZCZ(EkAg z0|Q%tPl&6rvGM=^|CKfBk25eZa29w(7Bet#eE?xbr!^)s7#J8-OI#yLg7ec#$`gxH z8GI9yi}G_*Q!*13+%k(&%kzt}ixqq$6pRcEOxnxVoM&KQ5Cds&E=o--$;{7F2+7P% zWiT|-H#E{WF!y=d$`dXYaZs9=SbAto%g@>T~?_bH&lTUn@`uo|1bXE{eSR(AO)ESb=V4`uk}mK|39Px&03WLbv~pzk+s7D@lK^ zn+aB+sp)&Y_x-B3>;6ywU--WQNUr<8>TU0P-|L#1U&;A)67w(+> pDf@fM7q9#F25QXo3rUI;002ro52U44e~JJA002ovPDHLkV1l;_q@Mr) literal 0 HcmV?d00001 diff --git a/app/images/markitup/list-bullet.png b/app/images/markitup/list-bullet.png new file mode 100755 index 0000000000000000000000000000000000000000..4a8672bde48f806d3d4d37db192588a9aa3eac10 GIT binary patch literal 344 zcmV-e0jK_nP)PbXFR5;6H z`2YVu10|S&DhA}te_Swi*Xsu$nk)lAnzx?+_#Z@r_~qs0*+Bfiq@?73K|#U)?Ck9S zsi~>|6A}{sM@B~e4-O9gPhA%bd?2RGd{of6>E(lvp1b6Ep>6&12TPB<{a?EDDL4@0 z;^ML+A|n0=1_u83^78uc?CkvC#>VEqiHXU7U0vP(YHDhzff&$ntDt1@;|H#l*M@2! z+U8#>h@W=vfpy*`^1J}j+`sMRe-I7g8yOj8Yin!&S5Z;VicFNp}SURRVGD{CSNFe~ni^^#wyl5uzj4je z|23%2?k#{x(*%mqe9M%mih+W%ElRQ}7!$^91> z7ymCLB=nz$hvz>#JNtiTW@gkt1Zf0eyP_){bPq%T_kY#2Z7&xs00000NkvXXu0mjf DNYA0= literal 0 HcmV?d00001 diff --git a/app/images/markitup/markitup.png b/app/images/markitup/markitup.png new file mode 100755 index 0000000000000000000000000000000000000000..44f3e5db660903d37b32bd2cdc14f3ad80e2f316 GIT binary patch literal 15062 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 literal 0 HcmV?d00001 diff --git a/app/images/markitup/menu.png b/app/images/markitup/menu.png new file mode 100755 index 0000000000000000000000000000000000000000..de337c88cc60930426346e9b2c3e6ccbcd2366dd GIT binary patch literal 254 zcmVQ2rnAt>LM%-F zK|rtwgcU)}7x~z1Hrcs5bH*ZO$!>xO8K#?==bZPQ_ecnV>#P`H`QzGaRhd62G_&rC zTLU$c7_x*nFP_dW#Q+*);mMHE?j)HexK784D4x9l_tfpz2$@1y}9rkF+ zI+J5NMWeZyObc!d+rUc=>D+uOdAOg#%+Ej6h+wn5^xPmVVH*Eu446Y0A_@ zo$rlds-+sL10DbHs{AQG2a)rMyf zFQK~pm1x3+7!nu%-M`k}``c>^00{o_1pjWJUTfl8mg=3qGEl8H@}^@w`VUx0_$uy4 z2FhRqKX}xI*?Tv1DJd8z#F#0c%*~rM30HE1@2o5m~}ZyoWhqv>ql{V z1ZGE0lgcoK^lx+eqc*rAX1Ky;Xx3U%u#zG!m-;eD1Qsn@kf3|F9qz~|95=&g3(7!X zB}JAT>RU;a%vaNOGnJ%e1=K6eAh43c(QN8RQ6~GP%O}Jju$~Ld*%`mO1p^{06u{kzheeefXC<|Pj0IpYHh>z%v#j8*B$hLTVSzad&VMad)Yx!U)25|wrBRE zC!w~~ceVPD0oCYfC7=r|ft!NWC*UIDbKsz$FM)0XI>0?JDHNOmuMwXDR|WkI=%CKk zL5a<=-x!zZ19hHabF<{NcYw=?4@>kWFiEUF#R+h?CRTt3FpBd4IF5T~90Av;b#>}b h4At%6utcA#^)Ff@Rip*I!Nvdp002ovPDHLkV1nlPn!x}7 literal 0 HcmV?d00001 diff --git a/app/images/markitup/quotes.png b/app/images/markitup/quotes.png new file mode 100644 index 0000000000000000000000000000000000000000..e54ebebafb5072fabac9a0f3d8a79fcee3265f9f GIT binary patch literal 743 zcmV?P)vCi#|P&Xm-dkucwL z3)87{8iWe96huvPHfK`KOdC2Z({T6vJ9pwDx$D4>d(Pqff6w7Lmj{5i6;ZyPPpPN; zroaW=6d#@oL2Fa53F~$Su10(RG%K0p3VTuP3?Z=nBA8z$uq+XLUL^QrC74`bU|!e| zr>hK{)%Q!vdmIO5Z3JIvaOyjOX`X@c8-ua03`Q&)f&%p*{(A$q`ZTTjk%q_T7>v^J zu!R-a9fFLScYlKkNBP_Cob=9m9JLVoC-?c{)eOtMnh7qNN{ejy2sM{pS^mgFHJm@(buuM4>=<5Vr$&Kzw{B?uPr; z(1Yf=#g)zADkWnx=MR%ykl| z3Ui42k+O2{bCn)01-s5Sxp|z{G2di&KT(_M6;$EI zDL57JFf}cw4bP1P$pgTRKH$0@h|~aA>j`qZ2*kU5t2EVD5#~@VNhqx{vz8ethDD-=+1vnemftUBA zF;N!Q%PBB5B=KLB#QO(CHe?;R+-C8M?ppDW>R$5`cCPq@YpusFRTaH1i9Kv;l<>I( Ze*oTy+;kdDB`N>_002ovPDHLkV1l3CM+g7_ literal 0 HcmV?d00001 diff --git a/app/images/markitup/stroke.png b/app/images/markitup/stroke.png new file mode 100755 index 0000000000000000000000000000000000000000..612058a78eba4e3ca259aa13417fd60cd6cf2fbd GIT binary patch literal 269 zcmV+o0rLKdP)x=)c?< z3@hBy?8{+nng3#UF%;OQng7>^nj-R!zZ^q>Nt*6EwKMYNl4-)_yd5-(3+xa8TRQwd T&^dRA00000NkvXXu0mjfVy1IU literal 0 HcmV?d00001 diff --git a/app/images/markitup/submenu.png b/app/images/markitup/submenu.png new file mode 100755 index 0000000000000000000000000000000000000000..03d1977aecf31666578422805c60cf61562ceea1 GIT binary patch literal 240 zcmeAS@N?(olHy`uVBq!ia0y~yVBiK}4mJh`hLvl|)fgBUSkfJR9T^zbpD<_bdda}R zAX(xXQ4*Y=R#Ki=l*-_klAn~S;F+74o*I;zm{M7IGS!BGfuYIM#WAGfR??sU|LvJK zGAK06xWMY;dkcz_Xyh?bxwn$8=sK8Sn@= n^el1Va$qntoWQ`q#KVv+YP#}ssz^Np0|SGntDnm{r-UW|4w+02 literal 0 HcmV?d00001 diff --git a/app/partials/issues-detail-edit.jade b/app/partials/issues-detail-edit.jade index 4777d260..7bc3cd6a 100644 --- a/app/partials/issues-detail-edit.jade +++ b/app/partials/issues-detail-edit.jade @@ -25,7 +25,7 @@ block content section.us-content // TODO Placeholder should be a WYSIWYG with issue.description - textarea(placeholder="Write a description of your issue", ng-model="issue.description") + textarea(placeholder="Write a description of your issue", ng-model="issue.description", tg-markitup) // include views/modules/attachments textarea(ng-model="issue.comment", placeholder="Write here a new commet") diff --git a/app/styles/vendor/jquery.textcomplete.css b/app/styles/vendor/jquery.textcomplete.css new file mode 100644 index 00000000..ce74c742 --- /dev/null +++ b/app/styles/vendor/jquery.textcomplete.css @@ -0,0 +1,36 @@ +/* Sample */ + +.dropdown-menu { + border: 1px solid #ddd; + background-color: white; +} + +.dropdown-menu li { + border-top: 1px solid #ddd; + padding: 2px 5px; +} + +.dropdown-menu li:first-child { + border-top: none; +} + +.dropdown-menu li:hover, +.dropdown-menu .active { + background-color: rgb(110, 183, 219); +} + +.textcomplete-wrapper { + width: 100%; +} + +/* SHOULD not modify */ + +.dropdown-menu { + list-style: none; + padding: 0; + margin: 0; +} + +.dropdown-menu a:hover { + cursor: pointer; +} diff --git a/app/styles/vendor/markitup.css b/app/styles/vendor/markitup.css new file mode 100644 index 00000000..93a8a345 --- /dev/null +++ b/app/styles/vendor/markitup.css @@ -0,0 +1,175 @@ +/* ------------------------------------------------------------------- +// markItUp! +// By Jay Salvat - http://markitup.jaysalvat.com/ +// ------------------------------------------------------------------*/ +.markItUp .markItUpButton1 a { + background-image:url("../images/markitup/h1.png"); +} + +.markItUp .markItUpButton2 a { + background-image:url("../images/markitup/h2.png"); +} + +.markItUp .markItUpButton3 a { + background-image:url("../images/markitup/h3.png"); +} + +.markItUp .markItUpButton4 a { + background-image:url("../images/markitup/bold.png"); +} +.markItUp .markItUpButton5 a { + background-image:url("../images/markitup/italic.png"); +} + +.markItUp .markItUpButton6 a { + background-image:url("../images/markitup/stroke.png"); +} + +.markdown .markItUpButton7 a { + background-image:url("../images/markitup/list-bullet.png"); +} +.markdown .markItUpButton8 a { + background-image:url("../images/markitup/list-numeric.png"); +} + +.markdown .markItUpButton9 a { + background-image:url("../images/markitup/picture.png"); +} +.markdown .markItUpButton10 a { + background-image:url("../images/markitup/link.png"); +} + +.markdown .markItUpButton11 a { + background-image:url("../images/markitup/quotes.png"); +} +.markdown .markItUpButton12 a { + background-image:url("../images/markitup/code.png"); +} + +.markdown .preview-icon a { + background-image:url("../images/markitup/preview.png"); +} + +.markdown .help a { + background-image:url("../images/markitup/help.png"); +} + + +/* ------------------------------------------------------------------- +// markItUp! Universal MarkUp Engine, JQuery plugin +// By Jay Salvat - http://markitup.jaysalvat.com/ +// ------------------------------------------------------------------*/ +.markItUp * { + margin:0px; padding:0px; + outline:none; +} +.markItUp a:link, +.markItUp a:visited { + color:#000; + text-decoration:none; +} +.markItUpContainer { + padding:5px 5px 2px 5px; + font:11px Verdana, Arial, Helvetica, sans-serif; +} +.markItUpEditor { + font:12px 'Courier New', Courier, monospace; + padding:5px; + height:320px; + clear:both; + line-height:18px; + overflow:auto; +} +.markItUpPreviewFrame { + overflow:auto; + background-color:#FFF; + width:99.9%; + height:300px; + margin:5px 0; +} +.markItUpFooter { + width:100%; +} +.markItUpResizeHandle { + overflow:hidden; + width:22px; height:5px; + margin-left:auto; + margin-right:auto; + background-image:url(../images/markitup/handle.png); + cursor:n-resize; +} +/***************************************************************************************/ +/* first row of buttons */ +.markItUp .markItUpHeader ul { + margin: 0; +} +.markItUpHeader ul li { + list-style:none; + float:left; + position:relative; + margin: 3px; +} +.markItUpHeader ul li:hover > ul{ + display:block; +} +.markItUpHeader ul .markItUpDropMenu { + background:transparent url(../images/markitup/menu.png) no-repeat 115% 50%; + margin-right:5px; +} +.markItUpHeader ul .markItUpDropMenu li { + margin-right:0px; +} +/* next rows of buttons */ +.markItUpHeader ul ul { + display:none; + position:absolute; + top:18px; left:0px; + background:#FFF; + border:1px solid #000; +} +.markItUpHeader ul ul li { + float:none; + border-bottom:1px solid #000; +} +.markItUpHeader ul ul .markItUpDropMenu { + background:#FFF url(../images/markitup/submenu.png) no-repeat 100% 50%; +} +.markItUpHeader ul .markItUpSeparator { + margin:2px 10px 0 10px; + width:1px; + height:16px; + overflow:hidden; + background-color:#CCC; +} +.markItUpHeader ul ul .markItUpSeparator { + width:auto; height:1px; + margin:0px; +} +/* next rows of buttons */ +.markItUpHeader ul ul ul { + position:absolute; + top:-1px; left:150px; +} +.markItUpHeader ul ul ul li { + float:none; +} +.markItUpHeader ul a { + display:block; + width:16px; height:16px; + text-indent:-10000px; + background-repeat:no-repeat; + padding:3px; + margin:0px; +} +.markItUpHeader ul ul a { + display:block; + padding-left:0px; + text-indent:0; + width:120px; + padding:5px 5px 5px 25px; + background-position:2px 50%; +} +.markItUpHeader ul ul a:hover { + color:#FFF; + background-color:#000; +} diff --git a/gulpfile.coffee b/gulpfile.coffee index 093065ce..4c5679ba 100644 --- a/gulpfile.coffee +++ b/gulpfile.coffee @@ -63,7 +63,9 @@ paths = { "app/vendor/pikaday/pikaday.js", "app/vendor/jquery-flot/jquery.flot.js", "app/vendor/jquery-flot/jquery.flot.pie.js", - "app/vendor/jquery-flot/jquery.flot.time.js" + "app/vendor/jquery-flot/jquery.flot.time.js", + "app/vendor/jquery-textcomplete/jquery.textcomplete.js", + "app/vendor/markitup/markitup/jquery.markitup.js" ] } @@ -173,7 +175,7 @@ gulp.task "copy", -> gulp.src("#{paths.app}/fonts/*") .pipe(gulp.dest("#{paths.dist}/fonts/")) - gulp.src("#{paths.app}/images/*") + gulp.src("#{paths.app}/images/**/*") .pipe(gulp.dest("#{paths.dist}/images/"))