From a812cc8d0a093735662bf7a5f9c99995d800ae61 Mon Sep 17 00:00:00 2001 From: James Shih Date: Fri, 7 Aug 2015 13:30:41 +0800 Subject: [PATCH] Add Phalcon documentation --- lib/docs/filters/phalcon/clean_html.rb | 14 ++++++++++++++ lib/docs/filters/phalcon/entries.rb | 20 ++++++++++++++++++++ lib/docs/scrapers/phalcon.rb | 23 +++++++++++++++++++++++ public/icons/docs/phalcon/16.png | Bin 0 -> 1188 bytes public/icons/docs/phalcon/16@2x.png | Bin 0 -> 2251 bytes public/icons/docs/phalcon/SOURCE | 1 + 6 files changed, 58 insertions(+) create mode 100644 lib/docs/filters/phalcon/clean_html.rb create mode 100644 lib/docs/filters/phalcon/entries.rb create mode 100644 lib/docs/scrapers/phalcon.rb create mode 100644 public/icons/docs/phalcon/16.png create mode 100644 public/icons/docs/phalcon/16@2x.png create mode 100644 public/icons/docs/phalcon/SOURCE diff --git a/lib/docs/filters/phalcon/clean_html.rb b/lib/docs/filters/phalcon/clean_html.rb new file mode 100644 index 00000000..9ec58102 --- /dev/null +++ b/lib/docs/filters/phalcon/clean_html.rb @@ -0,0 +1,14 @@ +module Docs + class Phalcon + class CleanHtmlFilter < Filter + def call + @doc = at_css('.body') + + # Remove unnecessary things + css('.headerlink', '#what-is-phalcon', '#other-formats', '#welcome h1', '#welcome p', '#table-of-contents h2').remove + + doc + end + end + end +end diff --git a/lib/docs/filters/phalcon/entries.rb b/lib/docs/filters/phalcon/entries.rb new file mode 100644 index 00000000..9793f97a --- /dev/null +++ b/lib/docs/filters/phalcon/entries.rb @@ -0,0 +1,20 @@ +module Docs + class Phalcon + class EntriesFilter < Docs::EntriesFilter + def get_name + node = css('h1').first + name = node.content.strip + node.remove + name + end + + def get_type + if slug.start_with?('reference') + 'Reference' + else + 'API' + end + end + end + end +end diff --git a/lib/docs/scrapers/phalcon.rb b/lib/docs/scrapers/phalcon.rb new file mode 100644 index 00000000..ff79cf3e --- /dev/null +++ b/lib/docs/scrapers/phalcon.rb @@ -0,0 +1,23 @@ +module Docs + class Phalcon < UrlScraper + self.name = 'Phalcon' + self.slug = 'phalcon' + self.type = 'phalcon' + self.base_url = 'https://docs.phalconphp.com/en/latest/' + self.root_path = 'index.html' + self.links = { + home: 'https://phalconphp.com/', + code: 'https://github.com/phalcon/cphalcon/' + } + + html_filters.push 'phalcon/clean_html', 'phalcon/entries', 'title' + + options[:root_title] = 'Phalcon' + options[:only_patterns] = [/reference\//, /api\//] + + options[:attribution] = <<-HTML + © 2012–2015 the Phalcon Team
+ Licensed under the Creative Commons Attribution License 3.0. + HTML + end +end diff --git a/public/icons/docs/phalcon/16.png b/public/icons/docs/phalcon/16.png new file mode 100644 index 0000000000000000000000000000000000000000..ef92e6ba969e208b9f2b0697fe17910e2d06ac16 GIT binary patch literal 1188 zcmeAS@N?(olHy`uVBq!ia0vp^d_XL~!3-n?z4mbcDVB6cUq=Rpjs4tz5?O(Kg=CK) zUj~LMH3o);76yi2K%s^g3=E|P3=FRl7#OT(FffQ0%-I!a!@$7!JHRKz6{z6+%R4}1 zZ)NN5>IP(ZdwXAac_(B^!}%At&E++VHcu_sH2L)XtN;K1UvqwM-;TwHKHl1Y^`tu( zxH-AZ{BR1W>%z;sKm;-B(34A>UY!M+=I#PA5QvUGySnNAiS&{@Hy2lT7gz59KZy8+ zS9h16-eRAFOO-mQ;S-*Dwwi_Rx6m6ScxOvLb z3%lo^*}n76sof9H?Rj&hU}b;v-bHIKADDS~{lt^&I}R>u-Z?*OX=h?t&bliHkK8z$ z*IYSi>FiyXk4-qcvHje-uFD(67#N~clg!ohOf~gA{Jcx1w63|ZuWr};)YfuaLvt59 zNB@L~#90j`Tc$0#uqz@vseaFbkc4PAXBQ7|ub8TwnuCivkE~d@Z8b1#^X9ZK`G3>F z(k8i~xc=zU>8CdBzIfC#z&CzMjgzf?Oi@PpzPbA!UO069v`c_j^1SAw&#&#hea1I5 zaM{icNm*$gZtk8w-oSv$nA;i@6y)aS7LpO4HnTBjac5e2eq2RP*7WAO9doA~S=)4I z>C}r`*WNs`iBPbm@ z@yXXIqK98U{`&uUIp2IsImdOsKTTI)WZ>owy!d^WA*21s-{)ZG(iWYf_!=a1)zif>gyVX00t2&~S|O)rnwXeIf2dcK+caN4xkJg}0U<$Q zfuX_dpG{1*?%G;f^7RX^LyWWXV>#jA&2h!t-U|JPPwiS?f9Qzk+7d)ALp9aA9S++&k$$F)^=dQg9)zP&W8^v z|6py{G%@g^;l@JmN5VprCpF#?aa?$1%a@*|r;RpmYK%z~Y@2gu&!48Jt*%D}#HUZ0 zHZ?pXEcCj=jzwEbzw-9_o=pmBq^H00)|WTsW())4&Z$0VQz wNstY}`DrEPiAAXljw$&`sS2LCiRr09sfj6-g(p*iMF#_er>mdKI;Vst09vpPNdN!< literal 0 HcmV?d00001 diff --git a/public/icons/docs/phalcon/16@2x.png b/public/icons/docs/phalcon/16@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..6356d3adc615ee9401e26b84c631f86a5b5cfd31 GIT binary patch literal 2251 zcmZ`*dpOgL7yk}r5td7GjV^Q7NQk*D-i&DGp6g^Zw+%z?mljD#rt&VbBKO5m$XpXK zm$y_Xx8x0#VKH~_`t$e4?>W!se4giX&gVJL`Rkl?ly?Ei@(MrkfrIYh8@4F>?tlYaoZUSbl-75Rxs8w>s^Fu#DB1X=M1 zSK`k@nwvRT_Eg`;1-XBa=t<JZ6Fb9hO#cG#k(33b* z4|6xGBN`L|qS-BaLxm;PCZkB*<^n_*#N!)`04suIdh(}hXPI{%NX4$_b3#mBh8U_4t&XejBry!iD!l;DBhnMdl zUp)tOdoP38yiuT+ypy-FM@2VB=6GsR0ouk=PeJ}bB3~gW%&DCIZ?S|tZ(w2lG9^jf z4f+-_ZvTQ=<2P@TxF=Fs*N$sH*KSqhq_TEB>$5=245Irjm#- z%`JB5>REEhM^JUH0txCkaL@iCqTkP}^b%WMLDQB8nrxjk1v;D6dGDr9SNbVdaBO9x zf7i!abgPTf>l|VqdR|jzFFKfH%R+Syvo4g&B(0{4k3$1P4IvN&s=iMaE<0QB>(#;- zol;9Jma`~;@RW$7KP}g%9nuWw`2eYh1gXF7S=wFA)5|+^#AhqM@i$HF2!iQkH4!6z z->PJ^6|074G#BI~>-V9-D!>7-`x+=k@bgOjr;|EJsPu8JbW$cOkb;v~u?uvJK&7dT4 zd$Hk3z8iZ!cXHB*bs|D&0@HP5^()1Ym%}t5QK{m+K~meO)bp*-ahkhb(6!(M4U`)@ z&d=vWlVP5*CTBm%#C03u=`YdmKZu>H_)O2%+3}w05A-Cw7EQah(k@~XM$7T3!@bvjpt+(7f!g(^~@5UAcgE*zp0%L)Y04e>jiq$rM8M$ zBBz#Bx4JKIz~FXw``AL`f7Jn{U-hN_iOF>38%?8jjuAF9_^Y6wfPma%$y z?AY635pv0ibA?WGVMxbI;Wa4LJ&oJ}nr8%C$xjLL_FF z2_{{n#8DgVj}4BtQ@1*zL`Hc#0Nv6|0SSS3r~H+5x=h(ktD5j3N13dKNSnlv?}qqN z+TPl)IPt@#fn@^l;dk#^A~sXHMTjH1Q!^3Gtk18)Ia6K9`8a1Uxc#gE`6rl`TTH7xFd0Q)RQg%!Dw~bIxH69*ctQ6@_ zu-jgY!7rn_wd+X_^py47la zJYPBD=v|$Rxn0KoBxzt4owL5KLN!3R7xsT2cz(v{LCw*_rxg-N~heXRl0BUsfli>(o1@e%_3y^fcT!`7)k-GVN!mH4m=* zEt4NpP*7m0;@|kiF)DWFLp5zKM~{O|b7_nHL5Mn``#1A4tTF;xUTyRnzAc?kwKFL* z9NZYgVk&+9(hqwdH~Ox%)p%>mSlvi89UvBsL`}#EJ#cIwIayMcdMo>~4l%y=exvVM z#tSx$@Zo7w%xn0=6Bs>2_>}^h^wi^2jzxyOYs?eHMWbmU^0?qnzEoM;?*`?#H#6yW zqGDH>t}TF9=Hs1S{rDk#teJ}FjD?(y{aCbidnoC;3gi23B{Ocpr(fqx6%LG-oYr(! z{S7?`CI!wv)RW;O*WIiquO^UH3*tEqaq8aA&XT!_VG5moLG^M*d+k%PLLT{2>y zVcbT{fP9tmw}(~q<>}gd`f%o`mo|1VSBjK3{H@GYb^olK+_?LMlccgl#;??8c+*g! znrGc$7oHc$v{00aahNEaT9T`p0WSPlu-@S^)gj+c_iX*u$(oZ05F6GY0VM_THKp`nrPud^u-Xd23NzdTmrOVTIV!i`Wi4j2Q8R^&RGL( zEj5_F0StEHxvA#=7=rP>IKSxsZ?Iq8xW_d}{h45o_ajDO!mxmuFWv{MfDFd?W6@ZQ VZ*=He?4J(