From 16c9bf6130baed002cefee7f0dcf687188ad718d Mon Sep 17 00:00:00 2001 From: John McLear Date: Sun, 31 Jul 2011 18:52:17 +0100 Subject: [PATCH 01/19] removed old pad top image that is no logner used --- static/img/padtop5.gif | Bin 3872 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 static/img/padtop5.gif diff --git a/static/img/padtop5.gif b/static/img/padtop5.gif deleted file mode 100644 index e6e071d6ccec737b9688181f9523f6567908d697..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3872 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 iozz*K)_I-SnVs4Zxt-kEo! Date: Sun, 31 Jul 2011 18:52:35 +0100 Subject: [PATCH 02/19] removed old background image --- static/img/padtopback2.gif | Bin 372 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 static/img/padtopback2.gif diff --git a/static/img/padtopback2.gif b/static/img/padtopback2.gif deleted file mode 100644 index db46567b9fb8557d3762d560ae36e9011b5f519a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 372 zcmV-)0gL`eNk%w1VHf~70E8d_D`BwK*48UvurzMKHF3i&W3w-3w=-?NGHkstX}T<7 zu`+ACF>1RwbjK}Zv^aIhHgd!@aKbENvNv?c{{H?jXt*wBwl;FbH*?0=*w{30!7gRB z)z#J4*VoL<%=`QMEC2ui02lx`000H~;3JM?X^u^*u57DLa4gSsjNN#y@A&2az@YF4 zDH@N+q>;dEI-k&HWJ;}CuT+h8%k6r%gRpo^E{hN7w0g}>Bi``1d=6jO@A$m_&glF9 zfPsDqgoTEOh=mo4jE#9|8&-NU)&6g9sBUT*$DY!-o(fN}NcsqQ#3C SGiuz(v7^V2_(F;d0RTHFq|GM) From 3a4c0ea254d26cc011b916638b98034273d5b93c Mon Sep 17 00:00:00 2001 From: John McLear Date: Sun, 31 Jul 2011 18:53:03 +0100 Subject: [PATCH 03/19] Remvoed maximize button -- I never liked this.. --- static/img/maximize_maximized.png | Bin 604 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 static/img/maximize_maximized.png diff --git a/static/img/maximize_maximized.png b/static/img/maximize_maximized.png deleted file mode 100644 index d1ae8f87ea37063c4c903bfaf822d63b67927170..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 604 zcmV-i0;BzjP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01m_e01m_fl`9S#00007bV*G`2igh& z6%`b^|GD1)000?uMObu0Z*6U5Zgc=ca%Ew3Wn>_CX>@2HM@dakSAh-}0005ENklleG+Naxu2tt-%$c z{H+kG-_<#z6#-yAdm_)n515Ds=*z4X#b||TJ4o{OM@ZHT57Ty#Mk{32ieiC8X7yM` zAGI_2s?SrX+kZS}!*NUa{_|1*z(*3vu@H?`nEPCi`y4DSXJNELax6rWux7@?bleiY z9b8oUCL1qT`qPoT81QpuJWOAD Date: Sun, 31 Jul 2011 19:08:14 +0100 Subject: [PATCH 04/19] New icons file, updated timeslider and resize image --- static/img/etherpad_lite_icons.gif | Bin 0 -> 3018 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 static/img/etherpad_lite_icons.gif diff --git a/static/img/etherpad_lite_icons.gif b/static/img/etherpad_lite_icons.gif new file mode 100644 index 0000000000000000000000000000000000000000..e18bf911169f8d22ee39e8d9e0f5405203742834 GIT binary patch literal 3018 zcmV;*3pMmdNk%w1VGsbc0pvnAF?)TK7Ib2*^g|4-brQ33Ha{c}NRMTpi;`W=tg2BSV z=H}+y+}!N!?D6sO>&LzSq@>l=)#~c%`sU?%d3g^H4&mY9qtB9RmebkU*=}xb)6>)V z`1pv2cCoRs>412}#l>Ethm6SDWr)%D+ST~Y%=Y!>ii(O>rq^j{X-rH^o}QnXnVEim ze#eT5Q&UrgcX#yj^ZWe%Uw+VbkJZo6(8$Qh*y+`2ug`05aCyVY?V_Bx>&twY*TTY! z-Be9-)tqWqFs9kq#M!@)&a-xagk!X*@UW}pYGKpf&V{^#`1A9voSd1Hkh8z9tAsP? z%|A|+zU|O}+TZe!kdNNJf976O?(FEQx#RZt`qkOo_xb!qiNK1Dk$Q1ol5!;4I4#UV zJ&)s-uCA`Rv0rz0cQ!RK!s4#qacyjDZ2tcKWo2dj{QPESX8-^HA^8LV00000EC2ui z01yDQ0RRX8fPaF6goTEOh>41eh6#=vi!BF!2PcdVevE<%2%3MCnjL6FWSo ze-kf%0TVzx7kWEB9Dlq=Kz;7eK;07}?t*rm`5r4fEOhKZV9CP{OM5)@*fHUOpav5r zc;K-@&<6xS2AuN6fewcWq=W>(H^|qYiQr6{%y)qouwsQ)>Y910Lx~QWO86-uXqL~P zvuxs|N%W73615oV?Btnf;ov0Ab8qTz`gqu7dN`!WRajd_wV7mmtjHPJbLpA60rE>9Xxym zWP4D^K*36c3;+g5K`VcVphSQF1sI?bRbjG*f&k871$2XKaNrCPQlLa?giO*yYZe@! zh-s+xl8-yUq?nINikRd~0Ub0jKo30(5Wr9-8DU36Jeo5>0=4kMLp=ug!H1Ev7!VQv z1AiPb0UuBzc_fs47{G@IWlS*3lu{x&K?6EO$>o@QOfbLzT6W3hEMGD(L6Ku3>4%b* z@bKoAMjkom1WXDdf(3B)H~|i|IP*sVB`7(84+E4@2{A3Ou)+j7l(9hzgc#~h0h$uy z(u#XrAnHq`E#kNsSgIUS23iET<_Cp@yy`~*1<)}It%KP5Km!)|VO${zIK?3$ z#rh$F2(qf$$Sk;CfY%_&5^QJU}It51iod3kNsM#|tTza4-U=A#ia2342&f zB?A3w45i0VCJf~s20M)K2_s`N@x&do?8C$rAM8Vl9GFZc2mdnMFvJ7*?DNn5mMcgA zI20|SAV&`p!wSN3GRq4**u{XbNo|7H3QQ3a^|~AQQ8m)@Qd5y8I3(an1Nb8HN}oz) zy$H4?%$E!T!w#YX({|ushaW2hkVpUnltv@@5!`wH^FtH)AHD*|R8!U-YVBT_8?0x=kYdiI<2 zaJV0IFv7v_v)i&qA1Ba3BONF7A=3paAh3cDj_|<>5TF80T_6S}NC1@B1EmC%AO_CZ zg9;c$r9Sk5N(1nL3g%aaG8_z72kRjHK*k3UPV58$@Zbjv(6BND-~|din5bfKumrr| zb`8VT1_nT-1U%pfIB3`b8qfd^@Q@EUI06T7KtesRpbr7y0|Icsfj%67gnZBg56VEd z1L*Gr*l<{w0H`o`hyWWBqmmB*C<2vm;EFydK?!_-fCJzxCVk+*5l*8-{l%{@sKQAg z3sJjSVXBZ1z*He#Rjai9fsws(BqRkfNn+WhSmL{+BQZ&>P5MFqdVkOfBDzLC^S#Cp zy7EaG7_qFb$nKA@q{bi)P&6Evt}Hxw!7R9k0KUawdfgL5|NOwVxbVObB^aB!AZL_O zcwz<2Ohf`G*Dhx*Vrsu^n<41NJQnEWYeU1E-uMPiLIhx%Hj1S>2e1M?xbvOv90ws* z(1HS3@Sc5Wfez#;2t5=)2-YIN2R<-@Jnr)kDM+Y7Q$T};7L))&*k=mZFocR)Gy+8M z06z7Qf+08|1r;cQ6DmLiB7DFDBd8)rhmg=T(4YcNAc6n{deT0u)Cn{w0ugjt0RglC zq93p+4Thl8k_vzbWDr0Beo6qL4uJ+lNP|w(5CNsO;HpCZ-NR1RpwkFc6<1i*0};GR zR<9-%SIN_Z0M^RZwxZRZdgv!U=X%e${(+u!#b*n~#!h(pRSzprojL~_zrOxe5BwAa zJ?%MHeJ0kQ0JYXY3(A3m3gQa@aKHi_001ozv=0zHC>0!l0xC?Q3R`dh6*O8`Bsc&M zNNB7OoIp@@f_UOGU39T&scaCgBPW$S)Gm zYSTZA)&Uftz!o-3g}3(i517>~XOTcxyW%yk7Tl}PT6v=Qyg#jJUFFKyr3y5+2SzbIZA{!8)78c+_VJIoYgZkM zBmq3Yod=MNWVyD02Ls?h2X;7s4oq3FC=NggjDUb0=wJXP5C{TDfnrV=fdD%QfDty( zfE^Hk%zbFU3b?$3I@@{7ifus$zWf3iVQl~nc!6O1`T|O=U0T}-M0~pLUK?iKy)QY&NUjZ<|2I7m} ziX7n%_5?-(qz%??-(U=P*g&X2a0e40kH0H0g9PC44IxNC3Sbz6fmcui2}s}#Za@GS z{B4H0)*8JK&L>|d&2UOT`r&-pFg!ba>Bd^NpZ|mb2xv;#i=&teFt9-jR{YS2x;UQ@ zV8Ty@Fl!4Ixeo<^0Ty_SCt>-KOxeZn1#a0t_# z@9)IB-v79PBN*ZM3HUpaszv1PiRhhYhUY7&6hml{PQ| zBYc1W;r{~*#4%?+h@cPICx-_Hz=8v?!2QV39UVH5(gqlT4-CLOgJ3NH#c~ZmLoqM{ zg)l1fBLp5m2LWIJ0U$jpP)vUSS`YXFrQ-n|&|!iAS|8A7C15`W04^6u03PrFJb(aC zl1+wC0Dr&$XaXhZV@5B)echKQ2$0YKr||&!X9yQy1U Date: Sun, 31 Jul 2011 19:11:55 +0100 Subject: [PATCH 05/19] Add a new class for buttonicon which specifies the new backghround image, this is part of the single image thing Peter wants to reduce the number of images we need --- static/css/pad.css | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/static/css/pad.css b/static/css/pad.css index e5a98ad62..0b01ab6a2 100644 --- a/static/css/pad.css +++ b/static/css/pad.css @@ -1046,3 +1046,9 @@ padding: 10px; border-radius: 6px; opacity:.8; } + +.buttonicon{ +width:16px; +height:16px; +background-image:url('../static/img/etherpad_lite_icons.gif'); +} From 92377613d793ca3a046c0f448d3df27e01e08bbd Mon Sep 17 00:00:00 2001 From: John McLear Date: Sun, 31 Jul 2011 19:41:42 +0100 Subject: [PATCH 06/19] First version of working sprites -- Still some work to do such as changing export icons to use the latest .gif but this is good start --- static/pad.html | 70 ++++++++++++++++++++++--------------------------- 1 file changed, 32 insertions(+), 38 deletions(-) diff --git a/static/pad.html b/static/pad.html index 956bcdb4a..f27580acd 100644 --- a/static/pad.html +++ b/static/pad.html @@ -23,76 +23,75 @@ From 1d62de9acfef7ad3a9ab20bc07c43dd6356aacb8 Mon Sep 17 00:00:00 2001 From: John McLear Date: Sun, 31 Jul 2011 19:41:54 +0100 Subject: [PATCH 07/19] Updated CSS for sprites --- static/css/pad.css | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/static/css/pad.css b/static/css/pad.css index 0b01ab6a2..b3435b1ea 100644 --- a/static/css/pad.css +++ b/static/css/pad.css @@ -1050,5 +1050,6 @@ opacity:.8; .buttonicon{ width:16px; height:16px; -background-image:url('../static/img/etherpad_lite_icons.gif'); +background-image:url('../../static/img/etherpad_lite_icons.gif'); +background-repeat: no-repeat; } From 4d4773c1f35635d6cff758f77873c0b5e68cdc79 Mon Sep 17 00:00:00 2001 From: John McLear Date: Sun, 31 Jul 2011 20:07:18 +0100 Subject: [PATCH 08/19] Fix CSS and HTML bugs with new sprites --- static/pad.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/static/pad.html b/static/pad.html index f27580acd..c0f215522 100644 --- a/static/pad.html +++ b/static/pad.html @@ -116,7 +116,7 @@ We removed this feature cause its not worth the space it needs in the editbar
  • -
    +
    1
  • @@ -248,7 +248,7 @@ Use this link to share a read-only version of your pad: Chat - +
    0 From 03192c1b9af0fdd2f8e57f1ab2786155c011ceac Mon Sep 17 00:00:00 2001 From: John McLear Date: Sun, 31 Jul 2011 20:16:59 +0100 Subject: [PATCH 09/19] Fix the styling of the chat vdraggie --- static/css/pad.css | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/static/css/pad.css b/static/css/pad.css index b3435b1ea..4bcd4cfca 100644 --- a/static/css/pad.css +++ b/static/css/pad.css @@ -308,7 +308,13 @@ a#hidetopmsg { position: absolute; right: 5px; bottom: 5px; } .hidesidebar #padeditor { right: 0; } #vdraggie { - background: url(static/img/vdraggie.gif) no-repeat top center; +/* background: url(static/img/vdraggie.gif) no-repeat top center;*/ + width:16px; + height:16px; + background-image:url('../../static/img/etherpad_lite_icons.gif'); + background-repeat: no-repeat; + background-position: 0px -300px; + cursor: W-resize; bottom:0; position:absolute; @@ -906,19 +912,18 @@ position: relative; display: block; } -/* -.ui-resizable-disabled .ui-resizable-handle, .ui-resizable- autohide .ui-resizable-handle { display: none; } -*/ .ui-resizable-nw { + width:16px; + height:16px; + background-image:url('../../static/img/etherpad_lite_icons.gif'); + background-repeat: no-repeat; + background-position: 0px -455px; cursor: nw-resize; width: 22px; height: 22px; - left: 0px; top: 0px; - background-size: 100% auto; - background-image: url("../img/nw-resize.png"); - background-repeat: no-repeat; -/* background-position: -5px -5px;*/ + left: 2px; top: 1px; + background-size: 80% auto; } .ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;} From ab2c8fadf138e977fe47a7608e9db9ec599a8804 Mon Sep 17 00:00:00 2001 From: John McLear Date: Mon, 1 Aug 2011 20:01:41 +0100 Subject: [PATCH 10/19] Fix button alignment issues making the butotns prettier after I made them 1px out in places --- static/pad.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/static/pad.html b/static/pad.html index a1b343997..55ca7a69b 100644 --- a/static/pad.html +++ b/static/pad.html @@ -35,12 +35,12 @@
  • -
    +
  • -
    +
  • From ff15820bd7373bbeeb6713f1f188229e53c75d3b Mon Sep 17 00:00:00 2001 From: snarkyMcSnark Date: Tue, 9 Aug 2011 16:44:33 -0500 Subject: [PATCH 11/19] a few spelling mistakes --- README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 3d5ff1466..c752fe999 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # About Etherpad lite is a really-real time collaborative editor spawned from the Hell fire of Etherpad. We're reusing the well tested Etherpad easysync library to make it really realtime. Etherpad Lite -is based on node.js what makes it much ligther and more stable than the original Etherpad. Our hope +is based on node.js what makes it much lighter and more stable than the original Etherpad. Our hope is that this will encourage more users to install a realtime collaborative editor. A smaller and well documented codebase makes it easier for developers to improve the code. Etherpad Lite is optimized to be easy embeddable. Look at our [FAQ Page](https://github.com/Pita/etherpad-lite/wiki/FAQ) @@ -32,7 +32,7 @@ Visit to test it live.
    You can find the same ins **As root:**
      -
    1. Install all dependencies. We need the sqlite develob libraries, gzip, git, curl, libssl develop libraries and python
      apt-get install libsqlite3-dev gzip git-core curl python libssl-dev

    2. +
    3. Install all dependencies. We need the sqlite development libraries, gzip, git, curl, libssl develop libraries and python
      apt-get install libsqlite3-dev gzip git-core curl python libssl-dev

    4. Install node.js
      1. Download the latest 0.4.x node.js release from http://nodejs.org/#download
      2. @@ -43,7 +43,7 @@ Visit to test it live.
        You can find the same ins
      3. Install npm curl http://npmjs.org/install.sh | sh
      -**As any user (we recommend creating a seperate user called etherpad-lite):** +**As any user (we recommend creating a separate user called etherpad-lite):**
      1. Clone the git repository git clone 'git://github.com/Pita/etherpad-lite.git'
         
      2. @@ -55,7 +55,7 @@ Visit to test it live.
        You can find the same ins ## Troubleshooting ### It fails while installing the sqlite dependency -The sqlite package of some linux versions (including debian lenny) is too old. We need sqlite >=3.6. You have to use a PPA or debian backports. You find sqlite packages for Ubuntu Hardy [here](https://launchpad.net/~mirabilos/+archive/ppa/+sourcepub/1304941/+listing-archive-extra), Debian Backports can be found [here](http://backports-master.debian.org/Instructions/#index1h2) +The sqlite package of some Linux versions (including debian lenny) is too old. We need sqlite >=3.6. You have to use a PPA or debian backports. You find sqlite packages for Ubuntu Hardy [here](https://launchpad.net/~mirabilos/+archive/ppa/+sourcepub/1304941/+listing-archive-extra), Debian Backports can be found [here](http://backports-master.debian.org/Instructions/#index1h2) ### It fails while installing the express dependency, it says my node version is wrong You might have installed node.js version 0.5. You can check that with `node --version`. Please reinstall node 0.4.x @@ -93,7 +93,7 @@ You also help the project, if you only host a Etherpad Lite instance and share y # Modules created for this project * [ueberDB](https://github.com/Pita/ueberDB) "transforms every database into a object key value store" - manages all database access -* [doc.md](https://github.com/Pita/doc.md) "A simple JSDoc documenation tool that creates markdown for node.js modules exports" - is used to generate the docs +* [doc.md](https://github.com/Pita/doc.md) "A simple JSDoc documentation tool that creates markdown for node.js modules exports" - is used to generate the docs * [channels](https://github.com/Pita/channels) "Event channels in node.js" - ensures that ueberDB operations are atomic and in series for each key # License From ba9861382e20e585756370880d1c0e23eee84e2a Mon Sep 17 00:00:00 2001 From: Peter 'Pita' Martischka Date: Wed, 10 Aug 2011 17:19:23 +0100 Subject: [PATCH 12/19] fixed the design --- static/css/pad.css | 32 +++++++++++++++++++++++++---- static/img/etherpad_lite_icons.gif | Bin 3018 -> 3013 bytes static/pad.html | 4 ++-- 3 files changed, 30 insertions(+), 6 deletions(-) diff --git a/static/css/pad.css b/static/css/pad.css index 4bcd4cfca..0df9d1257 100644 --- a/static/css/pad.css +++ b/static/css/pad.css @@ -61,6 +61,7 @@ a img padding: 4px 5px; height: 18px; + width: 18px; cursor: pointer; @@ -94,6 +95,7 @@ a img border: inherit; background: inherit; visibility:hidden; + width: 0px; } #editbar ul li a { @@ -914,7 +916,7 @@ position: relative; } .ui-resizable-nw { - width:16px; + /*width:16px; height:16px; background-image:url('../../static/img/etherpad_lite_icons.gif'); background-repeat: no-repeat; @@ -923,10 +925,25 @@ position: relative; width: 22px; height: 22px; left: 2px; top: 1px; - background-size: 80% auto; + background-size: 80% auto;*/ + background-image: url("../img/nw-resize.png"); + background-repeat: no-repeat; + background-size: 100% auto; + cursor: nw-resize; + height: 22px; + left: 0; + top: 0; + width: 22px; +} + +.ui-resizable-ne +{ + cursor: ne-resize; + width: 9px; + height: 9px; + right: -5px; + top: -5px; } -.ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: --5px; top: -5px;} #importexport{ position:absolute; @@ -1057,4 +1074,11 @@ width:16px; height:16px; background-image:url('../../static/img/etherpad_lite_icons.gif'); background-repeat: no-repeat; +margin-left: 1px; +margin-top: 1px; +} + +#usericon +{ +width:27px !important; } diff --git a/static/img/etherpad_lite_icons.gif b/static/img/etherpad_lite_icons.gif index e18bf911169f8d22ee39e8d9e0f5405203742834..6f59ba6c249aebcc34dfa4afb5849bf2c5bc2556 100644 GIT binary patch delta 2658 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 delta 2663 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 H0HOZ_bSGBI diff --git a/static/pad.html b/static/pad.html index 55ca7a69b..72703331a 100644 --- a/static/pad.html +++ b/static/pad.html @@ -116,7 +116,7 @@ We removed this feature cause its not worth the space it needs in the editbar
        -
      3. +
      4. 1 @@ -250,7 +250,7 @@ Use this link to share a read-only version of your pad: Chat -
        +
        0 From c4ac1babe87c815f1361781b68cfdc55e25cc4bd Mon Sep 17 00:00:00 2001 From: Peter 'Pita' Martischka Date: Wed, 10 Aug 2011 17:23:38 +0100 Subject: [PATCH 13/19] removed unused images --- static/img/editbar_background.gif | Bin 181 -> 0 bytes static/img/editbar_background_left.gif | Bin 204 -> 0 bytes static/img/editbar_background_right.gif | Bin 867 -> 0 bytes static/img/editbar_bold.gif | Bin 224 -> 0 bytes static/img/editbar_chat.gif | Bin 379 -> 0 bytes static/img/editbar_clearauthorship.gif | Bin 397 -> 0 bytes static/img/editbar_embed.gif | Bin 581 -> 0 bytes static/img/editbar_import_export.gif | Bin 100 -> 0 bytes static/img/editbar_indent.gif | Bin 99 -> 0 bytes static/img/editbar_insertunorderedlist.gif | Bin 147 -> 0 bytes static/img/editbar_italic.gif | Bin 201 -> 0 bytes static/img/editbar_outdent.gif | Bin 99 -> 0 bytes static/img/editbar_readonly.gif | Bin 166 -> 0 bytes static/img/editbar_redo.gif | Bin 232 -> 0 bytes static/img/editbar_showusers.gif | Bin 194 -> 0 bytes static/img/editbar_strikethrough.gif | Bin 336 -> 0 bytes static/img/editbar_timeslider.gif | Bin 660 -> 0 bytes static/img/editbar_underline.gif | Bin 223 -> 0 bytes static/img/editbar_undo.gif | Bin 230 -> 0 bytes 19 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 static/img/editbar_background.gif delete mode 100644 static/img/editbar_background_left.gif delete mode 100644 static/img/editbar_background_right.gif delete mode 100644 static/img/editbar_bold.gif delete mode 100644 static/img/editbar_chat.gif delete mode 100644 static/img/editbar_clearauthorship.gif delete mode 100644 static/img/editbar_embed.gif delete mode 100644 static/img/editbar_import_export.gif delete mode 100644 static/img/editbar_indent.gif delete mode 100644 static/img/editbar_insertunorderedlist.gif delete mode 100644 static/img/editbar_italic.gif delete mode 100644 static/img/editbar_outdent.gif delete mode 100644 static/img/editbar_readonly.gif delete mode 100644 static/img/editbar_redo.gif delete mode 100644 static/img/editbar_showusers.gif delete mode 100644 static/img/editbar_strikethrough.gif delete mode 100644 static/img/editbar_timeslider.gif delete mode 100644 static/img/editbar_underline.gif delete mode 100644 static/img/editbar_undo.gif diff --git a/static/img/editbar_background.gif b/static/img/editbar_background.gif deleted file mode 100644 index 54ef6e48405e7643dcc57a58ce4d45bb2e1eb14e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 181 zcmZ?wbhEHbWMoibXpv%QTmN|0j{CEB+@AwPJMYikd4Jxn2lIhw_k#tyA1>VUaM9j} zi}yZUvhU&2{g0OIf3*C-;}r)VuRQp8)uG3$4?kXW`0?5!Pu3oNvhL`U>yJN`cCAE1 zivI+ii&7IyQd1PlGfOfQ+&z5*7!-f9Fmf@-Gw3h?0mvZ?tg;Fd5}%|-in{s+i8%H@ WHaW9MgR@A&&5?)MkwJio!5RQQ#91r= diff --git a/static/img/editbar_background_left.gif b/static/img/editbar_background_left.gif deleted file mode 100644 index fe8d06ec43c8573340c4237dfb89a65dd76bd47b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 204 zcmZ?wbhEHbWMWWdXpv@UTmN|0j{CEB+@AwPJMYikd4Jxn2lIhw_k#tyA1>VUaM9j} zi}yZUvhU&2{g0OIf3*C-;}r)VuRQp8)uG3$4?kXW`0?5!Pu3oNvhL`U>yJOZe*L<% zYb7#L{3qyKl$uzQnxasiS(2gP?&%xAp!k!8k&8i|L5BedKn`JGHCe#MAlWeU1#5(M w0HX+xPXmjKIRhjAgC7lS4U7>CBJK`M4Gc02Y#Iv~6d2gT8yEy6dYu@o0mOG*?f?J) diff --git a/static/img/editbar_background_right.gif b/static/img/editbar_background_right.gif deleted file mode 100644 index 55ab00a6b22049936120abae0f65fdc4f7852647..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 867 zcmWmDNl#)20Kjq5Q*ZqMP1Do#)U?+&O=fO0?Wt*8lAcW6ml!2$SPJ%*pq>-F;lg4JrBoSYmVA7`;x91ds4k=+2(N_$pl zg2m>v%$D6Wr}_ISsWr1@Nh_c%Z$Bjj;a?XO41sBIa1g_=cDvnbwSvK5AP~5_y9*}E z$H&L9SghG>*6Vc?MIRm>qS5Ht*;zOoetLQeg+jGj&Fl4^pPyGMm5Ymu$H&Lh)6+(y zaesdwi9}9LPB2W|+1c6O-=9b%R#sM)mX_8s^=h@+)zuY`$1$IvX!3f+Z>&5+O-6D3Q)G|bbA9cZ0(*e&yhpHlT(q}wkQB=Xd@a+RBQJ- zYv^yWo+WoJZ-CIDt5UsFnf%dsQuJToZN6ym=FobBBeRoPTH(Jw$e&;cKnvt3mfoo? zkqw<+p!L#dG`7OMDuv$2pmMnkf*__)2$4p)RI=G@VzJm@Fw6r0(|>7aFfhMAU9P24 zDT+jk!EipGSMhk6Oa?&^E|;55r|0J8ip3(I&;N}=qiN0SZ1(Kz?83sr+S(dGAi!?- z&HDf%5uHxQWG&nyny@odtB=?Wxm`4&DEN>9fcpMR?;V}pDHe>=Q*SORU-`JdtUwi oY4hjG0wjFSZhz6J!5Zod^4G0_N(}0G!EKiw#CgroF$MSC|BV$>kN^Mx diff --git a/static/img/editbar_bold.gif b/static/img/editbar_bold.gif deleted file mode 100644 index d22bcafbb1f39254ac2152c29566149c8ba2839a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 224 zcmZ?wbhEHb6krfwXc1#bOG_&#C}?eM?dj?1>+9?9@1Hqy=IYg}*Q{BycJ11&TeoiC zzWw0AgNF_sx_0f_ty{Oge*OCW`}beJe*OOa`|sbs|NsAIzzY=r2|5?0CYGe8D3oWG zWGJ|M`UWs4{$yd~VvuLh0ciy}gn`u~LA5U>bDsLbbu3Lx1w8B-jNua)wU_hyOlHZs zcw3fIXcyED7Rk^~`6)iPEWrT&?j4JVq~xe0N71Y A`v3p{ diff --git a/static/img/editbar_chat.gif b/static/img/editbar_chat.gif deleted file mode 100644 index 4f8b0ee690116a92bca5121e4abc690dd180d607..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 379 zcmV->0fhcXNk%w1VGsZi0Hr+uR#sM5S65hASXo(FT3T9LTU%UQTwPsVUS3{bUteHg zU}0flVq#)rV`F4wWMyS#W@ct*XJ=?=XliO|Z*OmLadCHdcY1nye0+S1i;Iqqj*yU$ zl9G~?l$4c~m6n#4mzS5BnVFiJnxCJap`oFoqN1s(sj8}~tE;QMy}iM~!Nj z%*@cx(9+V<)YR12*x1_I+T7gS-rnBe;Nauq{{H^||NsC0 z|NsC0A^8LW3IIOI4=|f Z5*sQxPEuVu(oac3*gQMiNKQ^c06X6@r;-2w diff --git a/static/img/editbar_clearauthorship.gif b/static/img/editbar_clearauthorship.gif deleted file mode 100644 index 2c6d1098b17c5d1160caf7372cd4403fc348d4c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 397 zcmZ?wbhEHb6krfwSZcwLmX?;CUjPJEB_*vTB~=v_RaKQ$RaLE3Rb>q=K+xJ+)z{b8 z-`~~W-#>HmgYEo#}Yw`0@3P3zZh-MaPv;>FvyZ{NLZ*Z-9( z4;||6KXdos!Gnhm9eQx$#O2GEXFU3L<;s=U7cR_y^5g%RGgoik0fPTmuKa)S;Omno zZ{ECl`2O?zH*davo&WLU$FE-r>4Aqy{Mp*3Zu}PbsN?*syItAXzbh| g$0_BduuX2goDic&un2>nlps@3u#4MyPe%r805+9?1=jZS59}o}_7#J876cia585I>36B82~8ygoFmzbEC znVFfDm6e^Hotv9mR#sM1Q&V4G-_+F9+S=OQ-rm>OH+k~pY15|7nl)?Qym<>2ELga3 z;qv9n*Q{BycJ12Dn>TOWx^?^Z?YnpH-nVbxfddClo;-Q!(xt0cuU@}?{l<+O4<0;t z`0(MQM~@yqe*E<5(`V0~y?pud_3PJf-n@DH_U*fO?>>C^@bTlvPoF-0{`~pNmoHzx ze*O0C+xPF^|NQy$_wV0-|Ni~||DR#V0>yuV&PAz-C8;S2<(VZJ3hti10St;iSs1w( z>KSxE-U3Aw1AA|SV^ecWYg>CqyF*)dlS8+rN#EoqJ*y@YZY@LmDP|IUI!&^?R$@ZB z&5E2%(l$*T3XUpltWx%TjDq@(-D)g$d(Fj}xtKUK_BIKKPB!9aROew3)^;>vyyjpm z$-t%5B*(>ND#hPqA;KzQeacZ^-hf@T$x``bbFZVZjO~`Ki;O^-gz@Ye(g^`Pa yi9v?}2tb+`m=t>YS8~0+5YzPWLbu?(&`UcVg426bPQ*t2TKoL7-6b7S25SItej}U! diff --git a/static/img/editbar_indent.gif b/static/img/editbar_indent.gif deleted file mode 100644 index 989523acfdf2019fc2edcb8d34e401155abf6817..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 99 zcmZ?wbhEHb6krfwSjfbXmX`Ma|Nqjil|ZEUPtdt2HL)Z$MWH;iBtya7(>H)Y@h1x- z7XuT64g(N?G%+yA_w=tk-OI4JXI+!Y$F*(WYCPtMcSv2&RFU#~ckGxuBZD;ne;Fb_ diff --git a/static/img/editbar_insertunorderedlist.gif b/static/img/editbar_insertunorderedlist.gif deleted file mode 100644 index b032d59361515704ad9758b404e424b8961d5249..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 147 zcmZ?wbhEHb6krfwc+A0&mX=mgQBhf0dF|S@n>TOXzJ2@d-Mjz)|1a%Yi4`gS6Lc<0 zO)N=GQ7F$W$xv|j^bKH8{K>+|#lXR!!vF*zgBe(~Kb-Jfy?0AXQ#L~*OHT@?MAOB! fIo5)V59=N#-dpkN-5wK`W=W3{?Wa}iI2fz}F=;-F diff --git a/static/img/editbar_italic.gif b/static/img/editbar_italic.gif deleted file mode 100644 index a0174026c0f429001f71030949085ec51ea70389..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 201 zcmZ?wbhEHb6krfwXc1vZOG_&#C}?eM?d$8CF=NKenKKtHTC{la;;mb^Zr{Fr@7}!! z4jedm@Zhmy$8O!ab?45V`}gmE{rdICk01a4|7RcqDEKD>eJPpqG%VM6Yk9F3IINq&@YRB2r^a`FhQ;j+E>$fK X`9d0Bq!^t27*|+LyOE>C!e9*mb-zd` diff --git a/static/img/editbar_outdent.gif b/static/img/editbar_outdent.gif deleted file mode 100644 index 4b9bf3897b1b4d1222e7d1b008c72b3fe92a4b3f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 99 zcmZ?wbhEHb6krfwSjfbXmX`Ma|Nqjil|ZEUPtdt2HL)Z$MWH;iBtya7(>H)Y@h1x- z7XuT64g(N?G%+yA_w=tkJ(po|&pIY!@ii6gm9j$LD;JARN^~=NaQm1CBZD;nTq7XW diff --git a/static/img/editbar_readonly.gif b/static/img/editbar_readonly.gif deleted file mode 100644 index 52edc037855b7f71824611055f5f4ea8fdc12678..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 166 zcmV;X09pS>Nk%w1VGsZi0OJn;Wo2b%W@dYPdwqRs zxZvR6;o;%u=jZ_CX>@2HM@dak03rDV0SW*Q04x9i000mG z5C8xKKG4ZYtGzherGWp*QW;F$3c{W^L_+XtR}*E&SB;|Kreu!QD&anVAVnb U29w6G)Uc3DD2;Z@twaC-J4a$mrT_o{ diff --git a/static/img/editbar_redo.gif b/static/img/editbar_redo.gif deleted file mode 100644 index 826a254711fe8fe66702cf3059ead717422f6eca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 232 zcmZ?wbhEHb6krfwXpvz^OH0eo&o3`8uc)Y~tgLKoY;0<3>g??7?(XjC>6tQR%Dj2= zmMvSheEISfD^_gUv}yOQUAuSh-m_=Vp+kp`96568)TuLP&Rn{5>Bfy4H*em2`}Xbs z|Nl$7R>G0uKSAfB)Wnk16ovB4k_-iRPu~Cr#h)yUTnzFIIt)MnatH%!zyr0ul+1ZA z*c5Y&cd3XnxFs)!f|N($dn}+S=RO+t=6E-`_uN+O(N7XD(d0 zaPi{BYuB#bx^?TeZQFM2*s*{A{(}b(9y@mI)TvXaPoKVU;lhYdhOb^d-v`= zc<|uavuAJKy!rU? z(9qD_+}zUA(%RbE*4EbE-rmvC(b?JA)z#JA-QCmE)7#tI*Vi{;!i0$vCr+9)Y08u- zQ>RXyK7IO(88c?ioH=XOtl6_?&zUo4-n@D9=g(ibaN*LWOINL0wPwwlb?eq`-n@D1 z)~!2s?AWzy*WSH*_wCzv`0(MQM~@ymcI^1^<0ns^ynOlcwQJXI-n@D1)~yE*9z1;b z@bTlvPo6w^`t<3uXU|@|c=7Akuiw9a|M~Oh@87@w{{8zuq=4c-LFb~>#FEq$h4Rdj z31pDc`A4D}2;3_t*iCS;?z-j`VJVs!6;wvO0KF;RU-Cqr5BS2`v_!rw($)HO8iG8p4PKUNR84ep8o7s6;rkrs2$f7JKA*PeyFzFy81FJ;BgNrLp v@bYl+Da`0pXk_9sm*Ra@$mG<-%r4|$anX6XvXgz*mW;s1?8@$q3=Gx)^D~3? diff --git a/static/img/editbar_underline.gif b/static/img/editbar_underline.gif deleted file mode 100644 index ec3cc4e824dec111aa7ffb8f698da40c789eaa5a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 223 zcmZ?wbhEHb6krfwXc1&cOG~S&s%ma-?(6I8@9&>BZQA0+i`TAQyM6oig9i^DJ9g~C zg$viNUAuSh-qWW~fByXW|NsBeu9d_i#eag%MX8A;sVNHOnI#zt?w-B@42nNl7`Yha z8FUzc0OSw`R(A!JzLd;)&lm9VZrP+N#BhT7g??7?(XjC>6tQR%Dj2= zmMvSheEISfD^_gUv}yOQUAuSh-m_=Vp+kp`96568)TuLP&Rn{5>Bfy4H*em2`}Xbs z|Nl$7R>G0uKSAfB)Wnk16ovB4k_-iRPu~Cr#h)yUTnzFIIt)MnatH&f-vhP2l+1Z) z#%3Pea}RuCXqYJB;4sx>!UV}VtyiLFa4;tI2OeTj(+GADRaF%TU8JnNilOWduM^adDbUF)>&J0IvFERR910 From 33ec98dd35a59026cffa68973e09d8d83e88d6e2 Mon Sep 17 00:00:00 2001 From: Peter 'Pita' Martischka Date: Wed, 10 Aug 2011 17:24:59 +0100 Subject: [PATCH 14/19] beauty --- static/css/pad.css | 24 +++++++----------------- 1 file changed, 7 insertions(+), 17 deletions(-) diff --git a/static/css/pad.css b/static/css/pad.css index 0df9d1257..99a4268ea 100644 --- a/static/css/pad.css +++ b/static/css/pad.css @@ -916,24 +916,14 @@ position: relative; } .ui-resizable-nw { - /*width:16px; - height:16px; - background-image:url('../../static/img/etherpad_lite_icons.gif'); - background-repeat: no-repeat; - background-position: 0px -455px; - cursor: nw-resize; - width: 22px; - height: 22px; - left: 2px; top: 1px; - background-size: 80% auto;*/ background-image: url("../img/nw-resize.png"); - background-repeat: no-repeat; - background-size: 100% auto; - cursor: nw-resize; - height: 22px; - left: 0; - top: 0; - width: 22px; + background-repeat: no-repeat; + background-size: 100% auto; + cursor: nw-resize; + height: 22px; + left: 0; + top: 0; + width: 22px; } .ui-resizable-ne From dc10985ba345e549c86338e13662ec4c1ee8a2ca Mon Sep 17 00:00:00 2001 From: Peter 'Pita' Martischka Date: Wed, 10 Aug 2011 17:31:20 +0100 Subject: [PATCH 15/19] beautify exporthtml --- node/utils/ExportHtml.js | 367 ++++++++++++++++++++++++--------------- 1 file changed, 223 insertions(+), 144 deletions(-) diff --git a/node/utils/ExportHtml.js b/node/utils/ExportHtml.js index e74e404ca..4cd4bbee7 100644 --- a/node/utils/ExportHtml.js +++ b/node/utils/ExportHtml.js @@ -13,27 +13,30 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + var async = require("async"); var Changeset = require("./Changeset"); var padManager = require("../db/PadManager"); - -function getPadPlainText(pad, revNum) { - var atext = ((revNum !== undefined) ? pad.getInternalRevisionAText(revNum) : - pad.atext()); - var textLines = atext.text.slice(0,-1).split('\n'); +function getPadPlainText(pad, revNum) +{ + var atext = ((revNum !== undefined) ? pad.getInternalRevisionAText(revNum) : pad.atext()); + var textLines = atext.text.slice(0, -1).split('\n'); var attribLines = Changeset.splitAttributionLines(atext.attribs, atext.text); var apool = pad.pool(); var pieces = []; - for(var i=0;i= 0) { + + props.forEach(function (propName, i) + { + var propTrueNum = apool.putAttrib([propName, true], true); + if (propTrueNum >= 0) + { anumMap[propTrueNum] = i; } }); - function getLineHTML(text, attribs) { + function getLineHTML(text, attribs) + { var propVals = [false, false, false]; var ENTER = 1; var STAY = 2; @@ -97,16 +116,18 @@ function getHTMLFromAtext(pad, atext) { // Just bold Bold and italics Just italics // becomes // Just bold Bold and italics Just italics - var taker = Changeset.stringIterator(text); var assem = Changeset.stringAssembler(); - function emitOpenTag(i) { + function emitOpenTag(i) + { assem.append('<'); assem.append(tags[i]); assem.append('>'); } - function emitCloseTag(i) { + + function emitCloseTag(i) + { assem.append(''); @@ -115,101 +136,123 @@ function getHTMLFromAtext(pad, atext) { var urls = _findURLs(text); var idx = 0; - function processNextChars(numChars) { - if (numChars <= 0) { + + function processNextChars(numChars) + { + if (numChars <= 0) + { return; } - var iter = Changeset.opIterator(Changeset.subattribution(attribs, - idx, idx+numChars)); + var iter = Changeset.opIterator(Changeset.subattribution(attribs, idx, idx + numChars)); idx += numChars; - while (iter.hasNext()) { + while (iter.hasNext()) + { var o = iter.next(); var propChanged = false; - Changeset.eachAttribNumber(o.attribs, function(a) { - if (a in anumMap) { + Changeset.eachAttribNumber(o.attribs, function (a) + { + if (a in anumMap) + { var i = anumMap[a]; // i = 0 => bold, etc. - if (! propVals[i]) { + if (!propVals[i]) + { propVals[i] = ENTER; propChanged = true; } - else { + else + { propVals[i] = STAY; } } }); - for(var i=0;i=0; i--) { - if (propVals[i] === LEAVE) { + for (var i = propVals.length - 1; i >= 0; i--) + { + if (propVals[i] === LEAVE) + { emitCloseTag(i); propVals[i] = false; } - else if (propVals[i] === STAY) { + else if (propVals[i] === STAY) + { emitCloseTag(i); } } - for(var i=0; i=0; i--) { - if (propVals[i]) { + for (var i = propVals.length - 1; i >= 0; i--) + { + if (propVals[i]) + { emitCloseTag(i); propVals[i] = false; } } } // end processNextChars - - if (urls) { - urls.forEach(function(urlData) { + if (urls) + { + urls.forEach(function (urlData) + { var startIndex = urlData[0]; var url = urlData[1]; var urlLength = url.length; processNextChars(startIndex - idx); - assem.append(''); + assem.append(''); processNextChars(urlLength); assem.append(''); }); @@ -218,7 +261,6 @@ function getHTMLFromAtext(pad, atext) { return _processSpaces(assem.toString()); } // end getLineHTML - var pieces = []; // Need to deal with constraints imposed on HTML lists; can @@ -228,79 +270,98 @@ function getHTMLFromAtext(pad, atext) { // so we want to do something reasonable there. We also // want to deal gracefully with blank lines. var lists = []; // e.g. [[1,'bullet'], [3,'bullet'], ...] - for(var i=0;i 0) { + if (line.listLevel || lists.length > 0) + { // do list stuff var whichList = -1; // index into lists or -1 - if (line.listLevel) { + if (line.listLevel) + { whichList = lists.length; - for(var j=lists.length-1;j>=0;j--) { - if (line.listLevel <= lists[j][0]) { + for (var j = lists.length - 1; j >= 0; j--) + { + if (line.listLevel <= lists[j][0]) + { whichList = j; } } } - if (whichList >= lists.length) { + if (whichList >= lists.length) + { lists.push([line.listLevel, line.listTypeName]); pieces.push('
        • ', lineContent || '
          '); } - else if (whichList == -1) { - if (line.text) { + else if (whichList == -1) + { + if (line.text) + { // non-blank line, end all lists - pieces.push(new Array(lists.length+1).join('
        • ')); + pieces.push(new Array(lists.length + 1).join('')); lists.length = 0; pieces.push(lineContent, '
          '); } - else { + else + { pieces.push('

          '); } } - else { - while (whichList < lists.length-1) { + else + { + while (whichList < lists.length - 1) + { pieces.push('
        '); lists.length--; } pieces.push('
      5. ', lineContent || '
        '); } } - else { + else + { pieces.push(lineContent, '
        '); } } - pieces.push(new Array(lists.length+1).join('
      6. ')); + pieces.push(new Array(lists.length + 1).join('')); return pieces.join(''); } -function _analyzeLine(text, aline, apool) { +function _analyzeLine(text, aline, apool) +{ var line = {}; // identify list var lineMarker = 0; line.listLevel = 0; - if (aline) { + if (aline) + { var opIter = Changeset.opIterator(aline); - if (opIter.hasNext()) { + if (opIter.hasNext()) + { var listType = Changeset.opAttributeValue(opIter.next(), 'list', apool); - if (listType) { + if (listType) + { lineMarker = 1; listType = /([a-z]+)([12345678])/.exec(listType); - if (listType) { + if (listType) + { line.listTypeName = listType[1]; line.listLevel = Number(listType[2]); } } } } - if (lineMarker) { + if (lineMarker) + { line.text = text.substring(1); line.aline = Changeset.subattribution(aline, 1); } - else { + else + { line.text = text; line.aline = aline; } @@ -308,37 +369,32 @@ function _analyzeLine(text, aline, apool) { return line; } -exports.getPadHTMLDocument = function(padId, revNum, noDocType, callback) { - padManager.getPad(padId, function(err, pad) +exports.getPadHTMLDocument = function (padId, revNum, noDocType, callback) +{ + padManager.getPad(padId, function (err, pad) { - if(err) + if (err) { callback(err); return; } - - var head = (noDocType?'':'\n')+ - '\n'+ - (noDocType?'': - '\n'+ - '\n'+ - '\n' + - '\n')+ - ''; + + var head = (noDocType ? '' : '\n') + '\n' + (noDocType ? '' : '\n' + '\n' + '\n' + '\n') + ''; var foot = '\n\n'; - getPadHTML(pad, revNum, function (err, html) { + getPadHTML(pad, revNum, function (err, html) + { callback(err, head + html + foot); }); }); } -function _escapeHTML(s) { +function _escapeHTML(s) +{ var re = /[&<>]/g; - if (! re.MAP) { + if (!re.MAP) + { // persisted across function calls! re.MAP = { '&': '&', @@ -346,53 +402,72 @@ function _escapeHTML(s) { '>': '>', }; } - return s.replace(re, function(c) { return re.MAP[c]; }); + return s.replace(re, function (c) + { + return re.MAP[c]; + }); } // copied from ACE -function _processSpaces(s) { + + +function _processSpaces(s) +{ var doesWrap = true; - if (s.indexOf("<") < 0 && ! doesWrap) { + if (s.indexOf("<") < 0 && !doesWrap) + { // short-cut return s.replace(/ /g, ' '); } var parts = []; - s.replace(/<[^>]*>?| |[^ <]+/g, function(m) { parts.push(m); }); - if (doesWrap) { + s.replace(/<[^>]*>?| |[^ <]+/g, function (m) + { + parts.push(m); + }); + if (doesWrap) + { var endOfLine = true; var beforeSpace = false; // last space in a run is normal, others are nbsp, // end of line is nbsp - for(var i=parts.length-1;i>=0;i--) { + for (var i = parts.length - 1; i >= 0; i--) + { var p = parts[i]; - if (p == " ") { - if (endOfLine || beforeSpace) - parts[i] = ' '; - endOfLine = false; - beforeSpace = true; + if (p == " ") + { + if (endOfLine || beforeSpace) parts[i] = ' '; + endOfLine = false; + beforeSpace = true; } - else if (p.charAt(0) != "<") { - endOfLine = false; - beforeSpace = false; + else if (p.charAt(0) != "<") + { + endOfLine = false; + beforeSpace = false; } } // beginning of line is nbsp - for(var i=0;i Date: Wed, 10 Aug 2011 17:48:36 +0100 Subject: [PATCH 16/19] fixed #61 --- node/utils/ExportHtml.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/node/utils/ExportHtml.js b/node/utils/ExportHtml.js index 4cd4bbee7..dce156ec8 100644 --- a/node/utils/ExportHtml.js +++ b/node/utils/ExportHtml.js @@ -402,10 +402,16 @@ function _escapeHTML(s) '>': '>', }; } - return s.replace(re, function (c) + + s = s.replace(re, function (c) { return re.MAP[c]; }); + + return s.replace(/[^\x21-\x7E\s\t\n\r]/g, function(c) + { + return "&#" +c.charCodeAt(0) + ";" + }); } // copied from ACE From d81255744536e5f23fff4c19f10c5fcdb60d7f69 Mon Sep 17 00:00:00 2001 From: Peter 'Pita' Martischka Date: Wed, 10 Aug 2011 18:06:22 +0100 Subject: [PATCH 17/19] fixed #73 --- static/js/chat.js | 31 ++++++++++++++++++++++--------- 1 file changed, 22 insertions(+), 9 deletions(-) diff --git a/static/js/chat.js b/static/js/chat.js index 3cd7e01b2..e3cfd5ad6 100644 --- a/static/js/chat.js +++ b/static/js/chat.js @@ -3,16 +3,29 @@ var chat = (function() var self = { show: function () { - $("#chaticon").hide("slide", { direction: "down" }, 500, function() + $("#chaticon").hide("slide", { + direction: "down" + }, 500, function () { - $("#chatbox").show("slide", { direction: "down" }, 750, self.scrollDown); - $("#chatbox").resizable({ handles: 'nw', start: function(event,ui){ - $("#editorcontainer").hide(); - }, stop: function(event,ui){ - $("#editorcontainer").show(); - self.scrollDown(); - }}); - + $("#chatbox").show("slide", { + direction: "down" + }, 750, self.scrollDown); + $("#chatbox").resizable( + { + handles: 'nw', + start: function (event, ui) + { + $("#editorcontainer").hide(); + }, + stop: function (event, ui) + { + $("#editorcontainer").show(); + + $("#chatbox").css({right: "20px", bottom: "0px", left: "", top: ""}); + + self.scrollDown(); + } + }); }); }, hide: function () From 13c10013b9fb0276225d8b67bd9fae08e5a92155 Mon Sep 17 00:00:00 2001 From: Peter 'Pita' Martischka Date: Wed, 10 Aug 2011 18:18:50 +0100 Subject: [PATCH 18/19] do the chat resize without hiding the pad text --- static/css/pad.css | 13 +++++++++++++ static/js/chat.js | 4 ++-- static/pad.html | 3 +++ 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/static/css/pad.css b/static/css/pad.css index 99a4268ea..163adc7cd 100644 --- a/static/css/pad.css +++ b/static/css/pad.css @@ -1072,3 +1072,16 @@ margin-top: 1px; { width:27px !important; } + +#focusprotector +{ + z-index: 100; + position: absolute; + bottom: 0px; + top: 0px; + left: 0px; + right: 0px; + background-color: white; + opacity:0.01; + display:none; +} diff --git a/static/js/chat.js b/static/js/chat.js index e3cfd5ad6..f617bdb32 100644 --- a/static/js/chat.js +++ b/static/js/chat.js @@ -15,11 +15,11 @@ var chat = (function() handles: 'nw', start: function (event, ui) { - $("#editorcontainer").hide(); + $("#focusprotector").show(); }, stop: function (event, ui) { - $("#editorcontainer").show(); + $("#focusprotector").hide(); $("#chatbox").css({right: "20px", bottom: "0px", left: "", top: ""}); diff --git a/static/pad.html b/static/pad.html index 72703331a..65944eee4 100644 --- a/static/pad.html +++ b/static/pad.html @@ -265,10 +265,13 @@ Use this link to share a read-only version of your pad: +
         
        +
        +
        From 3c46cce341516238a0439a081d178f526541d675 Mon Sep 17 00:00:00 2001 From: Peter 'Pita' Martischka Date: Wed, 10 Aug 2011 18:26:12 +0100 Subject: [PATCH 19/19] some small design changes --- static/css/pad.css | 5 +++-- static/pad.html | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/static/css/pad.css b/static/css/pad.css index 163adc7cd..7839ff43b 100644 --- a/static/css/pad.css +++ b/static/css/pad.css @@ -820,7 +820,6 @@ ul#colorpickerswatches li:hover #chatlabel { - cursor: default; font-size:13px; line-height:16px; font-weight:bold; @@ -850,6 +849,7 @@ ul#colorpickerswatches li:hover border-top-left-radius: 5px; border-top-right-radius: 5px; background-color:#fff; + cursor: pointer; } #chaticon a @@ -884,10 +884,11 @@ ul#colorpickerswatches li:hover #titlecross { - font-size:16px; + font-size:25px; float:right; text-align: right; text-decoration: none; + cursor: pointer; color:#555; } diff --git a/static/pad.html b/static/pad.html index 65944eee4..01a095d70 100644 --- a/static/pad.html +++ b/static/pad.html @@ -256,7 +256,7 @@ Use this link to share a read-only version of your pad:
        -
        Chat
        +
        Chat