From 2bf94f54910048dce4632edcbafd9df2175817c8 Mon Sep 17 00:00:00 2001 From: Thibaut Date: Sun, 22 Nov 2015 13:33:13 -0500 Subject: [PATCH] Add Flow documentation --- assets/images/icons.png | Bin 35596 -> 36054 bytes assets/images/icons@2x.png | Bin 94618 -> 95576 bytes assets/javascripts/news.json | 2 +- .../templates/pages/about_tmpl.coffee | 2 +- assets/stylesheets/global/_icons.scss | 1 + assets/stylesheets/pages/_react.scss | 2 +- lib/docs/filters/react/clean_html.rb | 8 +++++-- lib/docs/filters/react/entries.rb | 4 ++-- lib/docs/scrapers/flow.rb | 22 ++++++++++++++++++ public/icons/docs/flow/16.png | Bin 0 -> 511 bytes public/icons/docs/flow/16@2x.png | Bin 0 -> 974 bytes 11 files changed, 34 insertions(+), 7 deletions(-) create mode 100644 lib/docs/scrapers/flow.rb create mode 100644 public/icons/docs/flow/16.png create mode 100644 public/icons/docs/flow/16@2x.png diff --git a/assets/images/icons.png b/assets/images/icons.png index ab0eaf7c6b8fd886845c13f00952f501f632b823..8b054317dd07e526710835af6892726761ed0eed 100644 GIT binary patch delta 6283 zcmV;67K3IXDS1&9rxvKpfN)o`>_RfcAjcH95xNof-m=8pa6d^K|H=M^H73C4o!y~q7zi^Lw_iMdqobj!tc+EdS^}1 z8Cm4Pix}c}fIxe?+9llNti^9C%=w%-lL}|fZ2#B)cDvPV-dDSZGpO0Xt6{AV)v?iW zCfV?|hP$2Ry$L);?Fm2vuSWn`K=HhMF1TF3G6dQc>)R)!cy*{~&FX(pHJJlaDpQ^I zo(*keL$;lL$^DXhPJjOfPJgc- zd-`$)2Lh;$*(@g;vZX%q-mo*bR8#^`5jaw%0CEcdC$W+31kHc#wD+uU6Z$NL%6Quj zmGQG=RHiy=BOArOZ@8u7?Ul*kY^z}qY}NQY<5gm@Iqmdkdqb)o75K;}7wC3M|_7J@%fv32|u?hWl57Z*wUEXBUt67RSRaPS8{CUcZ{lL}{F4(6IMz%>H|V3!My637C*1Zb=l;C7P=Qey>ZzpjEGYE|(K z8wtb3%=N~1bHRU1o{prnTb}UG$-^&WTV@BR$jr}Zz!jkxrrOUGmbACR=83dZ)3u2sZS4S z7xr?5t5ZkhVa?1JmgRq15qNyE+B1=#1Lkg5KaaaAvK%(L`7$>fx<-Hl z1*#}a5nxZI0C+Ht-`BX@ULEC`s%!*Qm1S>!A_!?zlBaw5ugDVuXjGD?d->1L6Ot_0 zv9lAvv)AvTyWG0_5L@T(p?l$cAjGPY;P`QiAJQ+T%a482si)_EX~5wM*AsX7fIfQkm+yY!oEC zWLG;j0E;S2b+hAb_tsn-iX*M6@dEDGhUd zTs!Uvu`NvVB*zKgd{&MF7=ERX1C~>lZonyVFH8a@ zSddVL&)s+6%;lT-;p%PKS8iK{UHxfStnRKaIo&L0PFKRB-d*l&4VZt8f|+ild|8jx z>FpFVJ14TGJ_;!U0#DHeD^qIk0lpqa!4kg(6!nr)S+Pw~-gHY74s=bO^2Ulx6K+}2 zKR#HU_z_#@wSIGDiq&v&_`rXKhYuXUTro?oDout(z5cRdp|=s&)> z{si;bK#kg;jtRj=H$Hz6U6`!e5$r91n1OiufJz6N$4P0Pcs<`^+$Wv2q90R;Tg7#z6ax&|a5?PhGcTh+{ln zpBIh63!-}74lWFPiPK5a;j}Y7Ih`zjPCMO;SDg%h_U^$=Ox1txTmd2JVGh_E@JN-5 z!s>!f>AI7o-P;s}1swNZbIHOh&b#oITdKu-tG90H%niP?GRgkMWs*6svUak0)g?2X ztp!h{HnL%$wkl*K2ii^^zcOQ!#)Xz9enkYA*izi}ld4kus)FXz>PXorIyco&V=1$J z^$*I^k-ViOPgsBc2juB`)AubUdBSq8&oV94keeR#6M;u+8&d@D%qmR&CJ*kZ2OwCT za*vx9=*2xl7-R!E?Hv}JR_ba_E6tnJPB!QC;s+>2rnlNlp&&yJpbn{GU3VdvNQeCU zX~Q-cq!L`DgFF+Rn5%V=x6$T=yun^chSb)nzuj1%HFAI1e9f5B4B>q=3xF#E>`qp{ zw`8tHIQtt7d+ap0zdt2Uce=CTPt6l5&(od$v-5$UsydeV%0|Xv>-77{1mxz<%WQL0q4U$N`HUm?h>+LpKbbFxp6~4@0g)E4>seQ zm;%!$0MjM{)}&g171OEO;B|@)V8Pxe>oC=0WxXpfH;CnW5ZdH`T;Uhoe}gE(N8dE4 zsj2aI^s*0y=v+HeDpMV`k&PmR&jhgk+W9Y!U27^iaH&CDbhCz!M2(D$hOzbfO%G|-k9KHst=g!-{2JF zu0-@MN`;?7qCQ%hBRVL}7Fzau06Sr#V{?Dmw;0IC$UtOdBpoM4w-J$2nd+#GY{<3~ z!lwe*aJ5P2__d~QtA9Bq&Hu4xyQ7QCNPS)X6^8oyMWz-Oh6<)J-R62Ry=YSeE(T9Z z%(L5+ONd+Sms3Am_~WFH=E2p{|76ho==YS_>hC!5^WN_+0Jtv$&BB{+!lS+=th;~R z!t!%rx2|3XA1vPc1@&i|G3$tQzf$~ z2ry-8q5&8Q0XIkRBK81`2|xn|pdmQ9+{;rNB+V6-phyGK93dElK(Qv3+oTe8+ef)- zW5D!bmS9A`1dv>$S@#We^x7v`Tf%?N-&N+685-wSn)FIvBVnZg_ELHSV17ois*8=!*~$N! z3!@RXm@#(Q?Qd2j1SN&g-?s-5h5x$d+<)og%+(MbWAE}hu&TUcl{fO9t(Xx zv=*FKMaQ71AMZ^lN5_~g7ckhj{I?^Yxdz~52V`sqD)#_+JAsu;0at%HfNMPgBQ1XP zgBb%*L69|W0CT-%DAFVV+uO6%*GVO!uOCT-Aq>tI6o}f|vxQat4!~i^Z5;khgZdNjS!e>ABY_9^fu^%SMKRD&51elTR=b0jH3Wa4HV+?6jlgviY}a~G znkOt`AW9!*X%2167R^S!$e#gu38k7~0M_;^00|^I(?lYXz{kf2DJdz~y?ZwuvP1Qx zRHiy=qw8DAmanJ2Pv+mOpDR3D6Ovji!IUXecpIxlc32qii>1jyaPW1%w_wRaCoOhx zwGyb%UHbwcdXRs<0GJq=H7?ja_OOj$aqH}fOJFs20T$@5fZh1z@SYQRqF7SiqbvR} z=Ex@>N7Unkz)GklU%78x*4|;7*8;twwy!>ltRMG&@DVJ{J_g&|OAjU%0)~ZBSeIic z^(6qiMm|3`Kqdv^Bf&?!#;neaJ?Bmb+?^f+XxKA=ZP|b7W2Lzo(`DI02L{~bM=Tg& z^TMMj8&9s7w1xp#L*MN7D*#hdQ^8Jf!hit-U~g|vw`1~`!<;{Vo|MXb-GT)R$cEse zKEDAl>Ri!3;__2>EnMY{IUY;l7`F~-F@Z1UsFjaI*G-qnQVmPFf8g`{2r`b@3ndmPJ zR&D7iEi*E_)^=D(H9m_wg~=6wMLD3K_XwXvHDE}`=*Z;*lS7aQ-s1X`P)dcaWp#6Ne}3M{*E&AnnS!lI^ROr9{2nmwBBce9H7$qZ)s~ z*V|xZ1N$z<*FNH)mtDZGGei!sQkjnxv%C?wDh%tKL$GF1AUx*y!@^pyeiX&iO z0Tj;-{->8sNUf)Bz}-b=D`BNJ9}CQ!5aJz)b<0EGHhV2xXNa-P!W+viedhP*hC^#( zK8~ovpy1lJ$%Xgt9=VFv)asKDRpO4{nUE)wnih4ys95$yj*!puS;|*AzH0!=iU0$R z$M8|KtH*#`yBfT#_Ga&T1mAy?0OqIZpxuy5|AuFrls#1(l5~%q-nv);H`rvG-yA z$x3)^{|0NywwKulczi`ivGr~Q?7ItAl)k!Pv2E1r9#$cRE3E_WyIOzyVxFEeW@$UX z!D0p6X03(GbRRJH3^qcx`#VQW?a`YgocLtqH?;5^`mwe3-ktk%D%x9w zISjtSHs}?$J^=s^pQSEf${<_s14!EefA%yO59qTxUG|)B2VA@WUc40mG-3cM2m@{i zgRmaEc?cg+?vK5neC&UMMa>VhMZ@|ffV9M>udk1^v@{3=0-6g_nUu;@M`f}hTcvqG z!|~$>Po8VDbzXwF+O2Top`;UK@CopP&64?-#pT#~`q5AQB_fE~i9gjp2Wk$f)Sr`q7c~7~o%p zw*qT!>+HsD9ZJg-wlM(Pk94;u__~4(Q*9t^2k`JAaBx4cB_7Dn1#aD90A7^4U>`u2 z*&3MwhGyWp$%9`Kf-gntY+cm*TeKN?v{+1QyViDOroKCd*Z5cTbpk>N+df)acf zb+TntTw}|)#PcvM2Ln)Q-rb(Trx0+kr-?S;|04WV4%M;1iD7e1gZbpzNrD=Xgs~z-IEO#cKpSc-ff?&c3 zd$DW2xH|Pv?9sd(wcy@M%v13E+lH?b%#wohPM4-1 z#J>D06ia`~kh&!UIT?AfUFkUmSxH$#xo60z$ive{h8;dXDy9Kr6Muv#@#iLs0$5R7 z4*)h2e574-J|i8#K$|`F!3P|AObrbIZK^l!9Q{a}IVIAXB^*ifLI&JnX|AxH)`z7M z;X|4SGARA}3xA5+vHGOSw`1|6;ET4d4r9FbZTWkA&rc0wE5ENBY-nxx=CUYCU-W-T z^vl+$-d(@<`e5S{1X*W6=}B13_0D79 zH8Jg6USmo*K3?VN7Czu0@E*fwFzG7OSnj`E{tq|-tG=3plUx7*002ovPDHLkV1ixn BI3)l8 delta 5822 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 IM6N<$f^VyOqW}N^ diff --git a/assets/images/icons@2x.png b/assets/images/icons@2x.png index 48e2828abcf1b7c3e6be451b2cfe406ec0ef4f47..df16b36d96f0b65b29b077cb45db4fcbeebcd42f 100644 GIT binary patch delta 9886 zcmV;PCSlo{;|1921&|{GbsvExwIu=dPJdNhS^K~9WhT=nnaND1q#8@wm}U|I5mCy8 zD;)(3iUmbfR1~ozBGpERC>rbqq&GVz8Vl8m1q8c*T|_At-v3&Md-UXTQ9v-y|ND5K z=Y7uMoW1v*XD0d0+Iz3P&adnODrMF_Yh{DI-fhR^&{riOd_x7fw^WhdJE{orO@B4; z{aPCF{jU3c1V9;{Qk0l}tS4x@NG`MSiIxox zI6%HYu9OY(tD!0GO^OsR$t=9~lYi&Sto`2Tz_0F$5#b+I|FHapt%Ba~|JQ?09fIr^ zkm{r84>%HJ^XUx!o7V4qg!i-7Iq+H?xxDdx%r){odSA%VAD6YFBW(rr?moY394DrX z+t9s>u);rkofH4f&&A(Swa;$Dj6jg?H@b!c`|BQ6=PJgvjZ@u-_ z+aG-J!DjOHu3fvLBhA0Tzs0{P>i`v$7whDgT`-V!szZxoZd{gP8aZpr&gl8u6|(=2 zg&}>uhJD{57}ECuUGHLu9_UJ@tDWe6z+gQxU-cV3NM&2T_NOb^hCM)K1HgI!nXXoR zZ%9|NrQrj*=EA~gIxGxrWPhFd<>A+*OPAXWrkmhN<)&hW4=|_*If2SOlNF6n>%^c7N)YfX`M1KWp)7 zz-I7~RaZ;VMpdvf@{qMci2d}{xem+`xo1ivygRT;l~S?e@&MlN;MdvoXm zH*?=xp)=Q&FLjNc@_&M3zH;^I)wc;w8_AIPCV^|pl`B_%-`4-E1k^v!IOEB8CF3f~ z%F4FU*xk7uL2o}td~D5;pTvX6Qt;Voi2T@A^tY)_qZNG_e4<78k&Qu7V1cZas!Pz> zRU5A}QP!#U(etLgIyyQ?Pfy3)yLWN;@L^1yIu+fzb!*a&pMUYYLx&D=TkgYspF16v zy`Zv6OMgexUJvp;a_!;kh4bQye+Y>!KGaRxu2-*KzcDp3>L)igUL`k_+sRrlPcq2f zj|-UMpWj0KB6a zerzfHq|@H#z|YYJhz=)*0fAoh+*lgc#aeKz;Jb zC%Aa=BIy62v2^KDWM*c9b>_?&$mMdeop68l>{+n54S%=2cI_JXuF#Jx*@ zEvP68BJfp{k#pnRgX9Z`PH!(h@MH4XgMSux11aL`EjKh?BR4X>EjN+}o0^)orJy6j z8Vo+Q{4$WQz61bXN26YmMo(x|hyVWZgilJ$04wKw*AtK zH6F=-Zhz~zj zuzAAqH;b>{h+)Vz=j&zV^?Qr&)F&OPN>hPPv5v)k1{xU|ePL{996{hKC&Sp#aG%`9=HFhi^iiLtdP9|bif8yI^-eA5 zbAOn}ZUNxlARorF)#UeE(1+i@@UHx-B^zA_f8kuC=rRHZ|FMUn%gB27K|YT?Yyyfx zXRhtq)^XonmTmL?iX6D5p1D_e@p{#@vhs%e_wJ&uu1@gH+jr`ZmfU(Y``{xe((4vJ zZ@ex+xuK46r>b&_uid|Ly{!IbMLB~N?0*|H_VJ4qb-su0Ju*(MyVEB{IaUCm81dQn zQ;YieDw*=KZPnqYw%%t(ecYV!M5j+sKLudU0F=V7(M{L+wEu?PhOgCZ@BLX_qIMy6 z=mP0|p12`N2LwUXC+eUfrO#t!qV`Z(r#c3JQBhI2aN&Z+cdJ&df~e@|XpPfi?tdE@ z8QJatJYH7(Us~(i%iwE--&v%W97TNb!3PN!4o;v5?-RL^(K2HrG5P8^KAx-*)BX9RF~EQ$V)G$D^R=?f|2Ahr;mRLmMU- z&aIwi>T@sDeZ6^G$Ntpo^sC*1bAKz|BM9~k&##U=aN$nzl^eC!$|~xM%OBLNI{x_H zz_i-O1}RFIq}Cmlr`CSn?19>)$NxxU-DRMD5R|K2wCmihvzKl>rs%T%{MDOvTTkDw zR3zN0?h$zwI$JAptrH$-KaKqQsZD$JrSRj(?>X?30&qN@=#&b87KV-RGk;eBkZmqU zlPPYzRv&`fv4&*r5&~Tr0S(56+@zHRYd@u|~Zw-TWcjpEVo4^|(GuL`#(f5VhTHv8uaE>p5i=l;gm*+H?tUGZ( z;_$VbqxRH1?3b*BJgp8UDx0R(j%#kHZb5m|Xq(TQ8WDOA@1JITu zKtl=m*m8{kWGNH1OzV@iA0m~bz2*VPrl~N9tQEA(2 z49q@t5TZc&yA%ojb9lonyMThoIqSEC&RX+%n>XT?AML?V5`X>vifnWZKV5BT<(u&Zi}?y76oko<J_SnkMY6)@2nw?8d_HmSV`r;i_m)1wM}YOiVCnf+L()dBZI&qJN$uzrEwv2R!R&9y-*|5jt41 zHYhbU^$!_wyF3<6Tz1Mq&jo{fkA+3gkudvcBuw6OfC)ix#JAIK2hCi4B+7Hcik1AC z%r;1$qQ~yRIeVlK{4lJbPG@s@r6QwV9e@wzY0803Dv1W?nbG=RZI2KJXf8eu&7*PX z8ga7PB!5j=!+jZm{Szu1K8-qk|DQoQ50=n-wIt`JsV>(2$n@UJ9XNUrsC_D_y}dnHNl8h_&dwH66Mvp31|x5Xa39u?AwymmfcfPmpA-0Q zityWiJ`aIw!!d012r<%A0kH9EHNqZaSIot<RG#)WxSSdFxgG}JTvxD$XaSK`J@ zgZP-#SQo{d%cG54>CnVDSbs4JycTHsfdg!M(jLMW6EWVvqbkB{-Nk6%OZi*$%C!8w_FtB=)BPdy9kO(*eXWIm0P z*U)>z^?Ro2B18oU-tC`Q8TyB1M?6D9a?h#YC)w$h*qUH6)C9;(0_ti3sqWkcD$0PW zhj=2T5*RxSaCOoQKmmGe9P46uZO5`Q0z z;d3UzbfBVG-rvxYlAwS6TmZIFFFI~pLDf;?GRQWsN(hcwzIBJ)=Pvi06w~0K?*iMe z#=!E^(J=dX1cqr(grlw-?7wt@v+?YzRlXYwvkzpOv}rSB#i73u_{t;z#77Y)s`cXT zN&zO=G_CfMBE9x&v2WLqod43s$A5!~Nrfo7as#yK0msDf#9* z8%w)i49fjVos`3;o=KkbJoA^J;>1?IZ}6C41iA%N>xASeJhdm6ZY6&PX(Oi_yf zZ3F;{;A6KCfFcC7t!T&hA%jf>U`?!cPkvXOsM8h6T7Bx0v~?&!`kUGWEq^y*V-14c<@PD%jC(ELDL|dIC0|1rbbp)7T=3gVz&4$<0Bo7o1%GeRab2&Niw~bhfloI? zXg7FjuUrW0xm|Qi*8KoFDykfy)iA)}7~MiGwWdRqJAl$lNdwiJL2rdzje2}#d3Ha1PB!E4s6 z0jqD{zQS{FZ*R`jXMgiOKjU}OwnATV99vskVQf0%$-mWN0M6g_z4PvpyxRSRIhZ(g zGK>reeufOb#&y2IE~<6D)Nr^F_@*QT!_nUzw!`f)e!}?6tK-&tlsqi|XB$9;mbjw; zh?c3tz`816!}OTtn@ScrEzcS7k0Htt{U*c3+8y@aI>Y+EV}FF{@B}k=xD1>HCqsgu zo*Nu`Pia^%Ch*+8^!HGF{0M@s zUIND1GyEheFMq1@z2XTE3j=yjV<^beCTIYlIPGNsGW^Jj<^c!|6>Vw~bSxWEb#5yO za1sDU@me2UpSZpegtzPBwQtjANhbhX0>HSqIN=D=XP#MU;9f zOhiNkSjEM~;)aN59$Wa0*x1+>0dQ1e(Ca}z#e3~LlYf2B&BGl={SAbuZy-f{wqu41 z>wHs_LNP5p0@KnWFg-2=Gedo_Bq|tjds3@^Dmu2Yu=29-4bx5lwp=k@F|UU&{62kU z!1|Kuwu?$Q=g+$57`WQa5~jVjpF2@B=!!|!9++Y?4=!f2G0w;x;|ykEvSI<|jS479 z-kdqJlz)yXwrV#xAosPdA$hwc5ab=(TCI)O9~-3ubAGsksp%IWPrNTggOh`DWdW&X>@KZb2 zE3ug5tf2l=)c|NM1t7!k*#P7!*!2n8lNyryWPcLSl9UNLf+@n=RvWK@U9*-Y8Xb%oq{P*KA4;Q9p>*_iy4_wn7eZ|mL1rJ zjeo~>W5=mOI8t(wQ)J5XZWehReQ@TDHceIAF8yC}3JgHMJ;sgjTB92@du36?qVF$^ zH=cFRAbA-+iT%Hd=g(+Q4A!|mJ2|9058p|GWdMlaYDhYy*o(I6%1nojq@q_^c&&x>B>whBa zRI>o&jSD_=iJm=sHi-cF>@Q2q=^HU(1k}aP#N0tvQBjfl=@1^9LCe4OOaO*vg#I?O zwBY@`vh!w{r+!NE&WwTg!Oif`i-&(f0s;yW5q=^a+fHR+f9Wyg(J?rx1OsZ1gI7=0 zXOw1V#1$RT&nU|H?Mnn8!w0_<0Dl>NAhpN1%VvJ(x@3A}dGOp-C8PD-Diz&EVBm)% zVE64fn(ETJpRpUwk2&-XZ|z zLx1~yDAJWB@*UOPWNK=1!oxz305%GESP4O!)&Qn`r0^3hiTqjsK!vdiex`J<0wDR> z<*$0ZMnKDGND{zS-Ds_vx)uRY=ae|kBRXAD72o&YvQ9OXbOVI*`8avm($W&*b2~db zu=qp=OIKG{c<$@#i<+7mHhf5>K>H4R2_hv56Dp;+vF(#%L#zB>g$F&o6BzV6nQ{GB`B4K z0C-QS$WX@0G^j~s7k_hIVD1z#{Q+3En4r~H1N<0xYSACtbbuNFPXgBFfI`mjlR%Jc zN&tM0?k0ZmIz@szdGn)%02DVqZqRc#K3XU1RP$0VeZ?iOSVxW=5egZkq@;+uz`|PK z-o1ODwEyU%j|7W<@7c45qebDK7Qs0shQ|%e@U#IBB zAB!c?J05^i_`Q4pO5xXD01S2A_!sYS!5QA;gUbnmm)wVYRSoJj7B*jwhRs)_Vewx_ zxI21c?gVdmPJi};|I8IwuUc$lkoXWr$<=pEQkB-t0?)kbtG9 z7WHWWpSj8=1DZyFRw4k!$gkx9WFbxWuLQx}ph&PO0DpB>2?Y}xp(k3{2*IAd+NPwG>-iE8H?L+Tka!@#^N!bnFly& zT|l8*LMVLpZovA2UAMDJ3kr{1JXIQZbXT?O8hlDiDu3|Mwr!Ew$qq3EiLZBTx{7A_wZZK&Rb}|KcVe{Pr0_SqMy)vLHF|l)qH#f2 zW{p_@G&@hZ6{cNMd>f5QwV;(STZjJ%RR#p;1PtyQtNFY|vR0_aieqo_$q*5MU$5njjDH$l%d4UEm%7G;<~j^Wsx9jgexj~x zaE=)LF)S-M`V#>tKr_AmIBkAt{76!h;s)ki&dM23)A4<0GAJ5 z&77hbGInG@@Y<+L2hQi?W?4);I9sou7y?g*l z;n&^(^cuhH@AHN&J37x{X$2KLz3wq=aepmMZ3%wkF<5IXhV>gyHAJ1@K6(M7gVrJ< zAR57oA`v({7@jVEv?<~V_hDXe8|;ZG1VLH{#AJ)P@hiPn{-HISA+#Gj{%I;qAx&kA z$mbu@w6)P<@38_)=Z0e8DxDSjU!8v}-z>o9#R9ChUwToW)a{yXehybK3ThVBf zrT}EH)loSt_1r!-MS1lExqmt#5ju(T05wRNq`i(#jMR4mupI!%DJu*+_2&euCv^Z< zuU-ujKT~hVeK}>OMF6B~GOtkz&7Yq2ZCKho`DpO)A(?^Ep*UD_495wAx!2AhW?v#^ zZ3~58b{ql<67Klr#}68yqw^k(`2nv7cHkPI{>uem$4`NI4ba0XFn`_M(*F)Yu-s#a zpVHmlTL9W9gDJ51!hrxd7Q+WPV}zj#+(*!6$S7}2AGQEf?IH+fcH;wN`jvOgXf$7kCfK=n}J&FLA$`x`G$ME@nBY%VEz%wE0=C;%OZ)X-~ z<8aAwI8U1d$2qQ;pRt;v!T2*CiBaDg4H#g|K{JHc~D z`hy}zcntG_-+$B)MES;e%i5rBAvu=nIet{_MX48EP~)@v+=Gi(Zzyk7lt0{X;{N^d z`>Lxc&#zv6`YUdJG$&X~;V0(!@zn@8^yAabkS!ayq!lMRH-#VP_;KVn(OIYpL(&95 z3HaCp1cO@C$Q6u4ag$R|Izs&li|qDj&d zA{|x{n&9^hRd~*_bsb&o6tno=*frjmu)%--y!~rSmLH5oenk<2*F=IUK*Ms#AWV(+ zzZY;Ue)ag3UVmsy1lU#xc02$(J`IMoble(i-%(LNdW{Ip@fsCeHG4<^rrUU9)-XR| zhj)UdyMJ&JWQ?gR!EhqRDyFE`{uT+5qW6RqST-vP(M#9k`=E`F)&_63ZBw1Vkb>?6 zy?taz%@vtkPX;@6@S4eUdDgiukMY6)IJM6fSjonlz!EUI%06{Y=%dHdz`uQD8=+T~QfKqpK zB7ZcVqmE33_ILUI1D{b*Nq*zL+p*R^?%MbMu?U&H2H^{0uqI$LmbiywqU}sfu$m4R z>ltvdnT{z#X9;V8q24QzvLypaThb64lYos;v4vY=65nrYwdk%Px$YwP)bstih2)p@ zPpqn?O%e4J8Me|Sz0Qw^X;B2o;8Q>0p?~NHOc@81mOzw{AYG6TByI;bZvb}h1g>29 zd2PV`S)4lY6o3{MfSduy&{J8?CICK1)v?;$2!e$S!PWp!)jq8*PTN4%skQ;|(@#Ie z<;$0a4Gup)KOrZOb^iQ$(6m%+$M?cB7Ps;D_ve0W9-}=fLjQ`^7)|Bc^1lra^?&-y znC}*R?(@?&J8R^^v#X`w|_z6`!5lIEd7@Sz>Yi$ z#~+mPbzC`P@yLk%(O$7<<03M!H9Q5$>vke_^G>8}&BWU9P4IU2hqs46{O2t};KJot zG}9Mhfl)|}OGj#K1`;-;Abwqv?|+MYHnUq$j=oszK;7L#^UDmA9@TP^G!;*UQSxIc z0BaTLc<=cDlumuslbnqkiyMp_0%WF%wf~w|(RpCOd|;wv7nsk{TUasxCGay7-LgEu z?Rwp5I((L))fh>C%@rJJxv~*x0}T4E%9RHBEyX)+TPrrtkh%(Uf@!x0gsD^WhE2AGQOS`{Z{1gU>RZ;-% zZpruryrw5SM2j090}TKLdCCM}<2vA20Z>*3R8#;Lih-Rw0H4Kxtqow%AF#Ir!onKu z1r&{)5^p1DiKYxr)05mgEn4Xxv zZt3-aV~O>iKd!$$H7&d}zVOHOlooR-;b5jNwb?n)%EG~UL%`>RolXG0z_>o6SLygT zMy9OwO}HH&xf7Wie!#BSAF(TbKXxVV!|v29q{OCUO?V6f<}X9U(v{f0DFNHo#bI;I z)@xhW#hJ<4L7Wn!X@4#7!?0r&UwvO%+aoleizY|`xJQv*-J^v7yhGNU=Vz|rln2{P zPVEMAf-~K7WJm7|4d|*$cIFKa1H(oe8mocN?5T~-DrK!uO@h|PRP6Ku*ZFG+04bla z0m(Xa)d`e!s#yST{sjTJS=Ms>iay5lpMe%;akFAWPg6mJ(|@z~td5?N5;FdHMajHl z*BX8PpwN^lZC8= zBiIvv0DF^vL{`QD?92QC@f(t{eSH%4@BRV1Gxi`eW!LE)DLX6yv`^$g<4`2{d)gHq z(Jd(VqNG&TO@BJ-R!c_Dm1i*^;o&vYROKN3Ec}l9v=D&%HI%i|knSQUi?#gZYz@cT z*b26E!$TVNN#JMB04$KTQd|d+c7BU$w`+eX1t49USXeWR*Q)0eA~gxx{y=9W*hFu= z_14>6x^%hyvf;05|Qxp?%p@4gR|F@}x~RRI|5&&+O(If4nDRBK+)>(ljit|X6T7#@QF6Bf{}%XtPOe; z-&?CDsqZIzPbKiTP^8Dl;~r~tqSiwKVHH8MhEigDWu4LtL5{}A*I&l8mw&6Z@Drmz zPKf54!LeSiQn~!U0C=U~)`f4f(D+^2UcGw#Mt|0+b{Den>m!*3itOFTlh5W~xO(hh zVa1U>`PYjJFBa08Z#ta@^1N~R#y0?7%76dw2W5ZJBkXuQedTSNNhUrNz}E&*wD&c^ zZU|iukngHTep2v>_5Aq0`N&T_*N@FnpJ?+31i)MvnN5eGg^jFJzo`BnzS4X~$|8(l Q01E&B07*qoM6N<$f*QAK{Qv*} delta 8920 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 m02V_<-5JW7x;(jFtNt&0Dd%;VvFIoO0000Dojo" + "New documentations: Dojo and Flow" ], [ "2015-11-08", "New documentations: Elixir and Vagrant" diff --git a/assets/javascripts/templates/pages/about_tmpl.coffee b/assets/javascripts/templates/pages/about_tmpl.coffee index 9229442c..c2c51db6 100644 --- a/assets/javascripts/templates/pages/about_tmpl.coffee +++ b/assets/javascripts/templates/pages/about_tmpl.coffee @@ -325,7 +325,7 @@ credits = [ 'MIT', 'https://raw.githubusercontent.com/kriskowal/q/v1/LICENSE' ], [ - 'React, React Native', + 'React, React Native, Flow', '2013-2015 Facebook Inc.', 'CC BY', 'https://raw.githubusercontent.com/facebook/react/master/LICENSE-docs' diff --git a/assets/stylesheets/global/_icons.scss b/assets/stylesheets/global/_icons.scss index 0995380f..5414aec4 100644 --- a/assets/stylesheets/global/_icons.scss +++ b/assets/stylesheets/global/_icons.scss @@ -119,3 +119,4 @@ ._icon-elixir:before { background-position: -4rem -9rem; @extend %darkIconFix !optional; } ._icon-vagrant:before { background-position: -5rem -9rem; } ._icon-dojo:before { background-position: -6rem -9rem; } +._icon-flow:before { background-position: -7rem -9rem; } diff --git a/assets/stylesheets/pages/_react.scss b/assets/stylesheets/pages/_react.scss index 1b7c6740..22ca64e6 100644 --- a/assets/stylesheets/pages/_react.scss +++ b/assets/stylesheets/pages/_react.scss @@ -3,7 +3,7 @@ > h3 { @extend %block-label, %label-blue; } > h4 { @extend %block-label; } - code { @extend %label; } + p code { @extend %label; } blockquote { @extend %note; } span.platform { float: right; } diff --git a/lib/docs/filters/react/clean_html.rb b/lib/docs/filters/react/clean_html.rb index 25b3b8bb..40d8e93b 100644 --- a/lib/docs/filters/react/clean_html.rb +++ b/lib/docs/filters/react/clean_html.rb @@ -2,7 +2,7 @@ module Docs class React class CleanHtmlFilter < Filter def call - @doc = at_css('.inner-content') + @doc = at_css('.inner-content, article.withtoc') if root_page? at_css('h1').content = context[:root_title] @@ -16,10 +16,14 @@ module Docs css('.highlight').each do |node| node.name = 'pre' - node['data-lang'] = node.at_css('[data-lang]')['data-lang'] + node['data-lang'] = node.at_css('[data-lang]').try(:[], 'data-lang') || 'js' node.content = node.content end + css('table.highlighttable').each do |node| + node.replace(node.at_css('pre.highlight')) + end + css('.prism').each do |node| node.name = 'pre' node['data-lang'] = node['class'][/(?<=language\-)(\w+)/] diff --git a/lib/docs/filters/react/entries.rb b/lib/docs/filters/react/entries.rb index d1002e70..938bda5e 100644 --- a/lib/docs/filters/react/entries.rb +++ b/lib/docs/filters/react/entries.rb @@ -18,8 +18,8 @@ module Docs end def get_type - link = at_css('.nav-docs-section .active') - section = link.ancestors('.nav-docs-section').first + link = at_css('.nav-docs-section .active, .toc .active') + section = link.ancestors('.nav-docs-section, section').first type = section.at_css('h3').content.strip type = REPLACE_TYPES[type] || type type += ": #{name}" if type == 'Components' diff --git a/lib/docs/scrapers/flow.rb b/lib/docs/scrapers/flow.rb new file mode 100644 index 00000000..6859cea2 --- /dev/null +++ b/lib/docs/scrapers/flow.rb @@ -0,0 +1,22 @@ +module Docs + class Flow < React + self.type = 'react' + self.version = '0.18' + self.base_url = 'http://flowtype.org/docs/' + self.root_path = 'about-flow.html' + self.links = { + home: 'http://flowtype.org/', + code: 'https://github.com/facebook/flow' + } + + options[:container] = '.content' + options[:root_title] = 'Flow Documentation' + options[:only_patterns] = nil + options[:skip] = %w(coming-soon.html) + + options[:attribution] = <<-HTML + © 2013–2015 Facebook Inc.
+ Licensed under the BSD License. + HTML + end +end diff --git a/public/icons/docs/flow/16.png b/public/icons/docs/flow/16.png new file mode 100644 index 0000000000000000000000000000000000000000..c6e99872bd851dd56edf7375fdad60efe8ebf2b5 GIT binary patch literal 511 zcmV{XuHWKiEED0pQ>F=5&=?*vATa-w?mJByS zN+#vy43@{(Q0#G%04I^L|Go)$YjCe%2JA?W12wvLtl$V{JfvBmkub}oyt!CCpuzV; zkWR$zJXuhkG z_KZzz;6smZ1AMnDjeH8T9@-x%l;@ZsK+2n7(y)TwU8N%mr0CARCo*&($T`ftfxNV} zr{~KbLx6j)By?dv(n~$66HWON0q`B*j7=bB-arrFf${a&&t&sKKc7P-hP(&ZGA1cV zVg;LiZEaNZo;ELJIAJu82^bi~U)ekmbUpi5dJR?KN380zqObq}002ovPDHLkV1m+7 B>A2!bcYOB4^{x-&hq zSrbk2Klng`C_Yj25)@4~JCE-6>)F|zjl1H$L>(w*=oz|xUG-JfB>t;Qr8mv-Ioa`7 zA$*ICdL}#d7Xj$Fyq^rb3_0;f9eJFbR9SXA;B2sDo=FA)@KI)&5;k+OcKi?InJ!Xe zyF1-XPq)wMgnE!v>b_AnX)^@~B{)+uYs>_k9&2xiO=4j4$I_v%;pj6Qz+p|38bUa1 zCNRm-wn7A)>=O>1QbYQ*zXk{)5D{2DFxlaDi*2uT*jMG$hEPLDNiMRHWVFt%x+Xp6 z^Vo#GTjZ=t@9u0E0;k%K5Pz!yA$*fLp*SsiQyZRdWBr>NO;u>74Ckq#(4S`K!kk=`CHvuO8{zk-&~d6F<+%qi*=R2X=?y_V;|!c_tjkRyv)hVi6v}cl~(Rucsc$ZUBSni{Q-x#1NdU zL@Rw7buwA9DgaKiYAl|B8ak*-L6cX(Os+;rJ*$MM5rKPfTJxVl=E785Zb|)xG+hgb z2@TN*K=ggizejhqUV@q4bx6l^y=lDwQ7Urn`&)L5^$^wzK-8ZChe@4+XtK6`xfa