From c17932e8119800827bb5dcc5cdbf00e2b3c09f00 Mon Sep 17 00:00:00 2001 From: Thibaut Courouble Date: Sun, 6 Mar 2016 17:19:20 -0500 Subject: [PATCH] Finish Ansible scraper --- assets/images/icons.png | Bin 41348 -> 41883 bytes assets/images/icons@2x.png | Bin 107057 -> 108379 bytes assets/javascripts/collections/types.coffee | 2 +- assets/javascripts/news.json | 2 +- .../templates/pages/about_tmpl.coffee | 5 ++ assets/stylesheets/global/_icons.scss | 1 + lib/docs/filters/ansible/clean_html.rb | 16 ++--- lib/docs/filters/ansible/entries.rb | 65 +++++------------- lib/docs/filters/codeigniter/clean_html.rb | 1 + lib/docs/scrapers/ansible.rb | 31 ++++----- public/icons/docs/ansible/16.png | Bin 471 -> 620 bytes public/icons/docs/ansible/16@2x.png | Bin 946 -> 1274 bytes public/icons/docs/ansible/SOURCE | 1 + 13 files changed, 48 insertions(+), 76 deletions(-) create mode 100644 public/icons/docs/ansible/SOURCE diff --git a/assets/images/icons.png b/assets/images/icons.png index 097c584c763ffecb18610e68572ec813e8e06209..41d823f26ca9af90392fb467f3d775e188934588 100644 GIT binary patch delta 12214 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 z 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 Ef{;tRk^lez delta 11675 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%0ABos z#d7zlq=iX@ogw3?POx+DzyWPNhKRit42#=fcJ~Hyi>=`0jg9^5O+#Y}*QnZQifm14R3*cVK4@PQCpHCXi>wg~6{ttZ(4A9zMa}$(je4 z7tK2Gr$tANXcNOdrw|*vK2CGrvDK~$fPYj=sG|3GmItwNMcHEmUBM$o05lZ{6o&BJ zfKz3Lt#Q|+%Uh`aFU{M07=^kD-Yu0?!cy&(xt-zm^C%g@YX!iv;#MJW*NOA~&@_M`2Y~41MSy;a4+Xn=|<+FRI68siL^|+1+l2oeFU}}n{ z!7MR1hoY=3P(>wK&tZ*~l}cgoLbL=^Q^>k}890ebOX1p*rLe)p1r}o)9u+;KNB0~< z;AaS{u{61*$_or-FCbe|2U9@=J6cQLAGNtv4^(j9Z{y%T)z;CaJAZYL5G?tl zwruQO{OSvU#j$o@GZh8*Z3HFxEw78tIAZw=K~Ek8)${!L04)5%3HyMZGcrAJ6j*~a zk`;P^&(^OG&z~@Ez(WpzF`->AV>o;lzkk3q5KV)jVFs5MF9ubWwqXM-kc76&6nK6s z5PlDnljZIwu5)$)-jq5Xfu9&up%jc>P$rnY{2u&- z;_Vs$uo7($l_pa8`8~?BYq`FMl_;PaRPi4DA&% zhw8x$lt3ZRl0RyTt0&Y5fFoU?AWVq!|6FPSurSsxA2Z04QsbOe-U=$sZ8@2SA(ZU2 z<2*nG5L6R>WORRkP&^DFr-$==)*y}5lS*N54&Y+~puV2gWy!u@cZSjwfD{I=YKhY@ z3JX=J2CS5X!ttp&MubNLP?p-)(_jmvkMoh-jWu*zo2mwU^0Y*QK#@gl{bAv zhX_iNNP#eqY6UTga*Mn}sb`hA?>D2fU+`V-UZ2kgEaCMMSG)*kZz}ix3_V{xA4Kan zl^|edIhvmlmO5jkSOWl_z2j-#0+S!3c=dr5Xurto_r25I(ti=3r^@)PdrXFG>|K3% zq3L-#^Mh$13V&_v-3PupA=>RGZ!~@mS5H_Q0E#`mxpt60$ywY!S1`-I67Q`knyvOw zS{jFSr##acN>+3Gf65@JI{Y}JXW6~5zOiS+IIP;p3+)ja@GJ(ck;VXQ+O%q(--#c8 z1ZCpG?D>WBkbg3KIBdjlc9p3athTa-U0u7v^%W~H)Ggrw6OE@A*RH{GeFHH#nH-__ z7tcQzS;q-vg=P8M(EeHl|-)G?AR z&kJnBBcN;Q`$Zd0ZEuPXO@A_9BBP5$=Dwb#rBgEk6u&D( zZST*;%U#yRGOa;TidoJ z=ql_4p??us2&xTIr@N(%2bvSC!iOiX7 z5BD21GGCQrGF#|dd?ppT#xpf!qHnNB9ssQj%v=%b%9+w%WLK+FzgnwQxg~NDnH+F%1D`RLvv2+;R#V=^z#&LF$ z=rO+FohzK3J(In|RFI{a#RE{y5_p;3 z3->*-cv=I|2z_4h^yS;#&0Lg?#z(JhxBPQ{-JVmXmwJO`9BSQiSLa7YnSWra zDP*Ysw*Y+Xlv=*d7NN%n9@-M@37%sMrPJ&|^n)W54tLDR8|*YbuU+-zYuF?-Dv7ci zT{_+2R^_jlMaJnbdBd^&ZHNpY(mr6%1^_kyP>E>V6~gNzKm4V$g3+S#rn8S|q6-gz zk8zLh27c}v8qjC%(Mc?pD|O+8y?+-~^!%6y^LRtbYlBc0s?j#XJ9f_QyeTn-l39Xx zap0=LdQBW_ zSSi){p=G$W#z{f&@Rx3}<+n z{g3PaRivvP7W%Z7THfdg&5SP1ELq*DF%2`Y5xUN#y+OGEq-oK0EP{H@aM%91Aue~T z02picM^T(jJJz88q<{R_e@NsJ=0>p|)W3^%0&4{`s8E_0000 e.length > 0 - GUIDES_RGX = /(^|[\s\(])(guide|guides|tutorial|reference|getting\ started)($|[\s\):])/i + GUIDES_RGX = /(^|[\s\(])(guide|guides|tutorial|reference|playbooks|getting\ started)($|[\s\):])/i _groupFor: (type) -> if GUIDES_RGX.test(type.name) diff --git a/assets/javascripts/news.json b/assets/javascripts/news.json index a3d123ae..8bfb83d1 100644 --- a/assets/javascripts/news.json +++ b/assets/javascripts/news.json @@ -1,7 +1,7 @@ [ [ "2016-03-06", - "New documentation: TensorFlow and Haxe" + "New documentation: TensorFlow, Haxe and Ansible" ], [ "2016-02-28", "New documentations: CodeIgniter, nginx Lua Module and InfluxData" diff --git a/assets/javascripts/templates/pages/about_tmpl.coffee b/assets/javascripts/templates/pages/about_tmpl.coffee index 6c31b62d..b1e4c7e1 100644 --- a/assets/javascripts/templates/pages/about_tmpl.coffee +++ b/assets/javascripts/templates/pages/about_tmpl.coffee @@ -79,6 +79,11 @@ credits = [ '2010-2016 Google, Inc.', 'CC BY', 'https://creativecommons.org/licenses/by/4.0/' + ], [ + 'Ansible', + '2012-2016 Michael DeHaan', + 'GPLv3', + 'https://raw.githubusercontent.com/ansible/ansible/devel/COPYING' ], [ 'Apache HTTP Server', '2016 The Apache Software Foundation', diff --git a/assets/stylesheets/global/_icons.scss b/assets/stylesheets/global/_icons.scss index 5fe32cbf..68f368e6 100644 --- a/assets/stylesheets/global/_icons.scss +++ b/assets/stylesheets/global/_icons.scss @@ -131,3 +131,4 @@ ._icon-influxdata:before { background-position: -5rem -10rem; @extend %darkIconFix !optional; } ._icon-tensorflow:before { background-position: -6rem -10rem; } ._icon-haxe:before { background-position: -7rem -10rem; } +._icon-ansible:before { background-position: -8rem -10rem; @extend %darkIconFix !optional; } diff --git a/lib/docs/filters/ansible/clean_html.rb b/lib/docs/filters/ansible/clean_html.rb index 089d4d10..2aa4a4aa 100644 --- a/lib/docs/filters/ansible/clean_html.rb +++ b/lib/docs/filters/ansible/clean_html.rb @@ -2,16 +2,16 @@ module Docs class Ansible class CleanHtmlFilter < Filter def call - # Remove 'Permalink to this headline' - css('.headerlink').remove - # Make proper table headers - css('th.head').each do |node| - node.name = 'th' + @doc = at_css('#page-content') + + css('blockquote > div > pre:first-child:last-child', 'blockquote > div > ul:first-child:last-child').each do |node| + node.ancestors('blockquote').first.before(node).remove end - css('table').each do |node| - node.remove_attribute('border') - node.remove_attribute('cellpadding') + + css('a > em').each do |node| + node.before(node.children).remove end + doc end end diff --git a/lib/docs/filters/ansible/entries.rb b/lib/docs/filters/ansible/entries.rb index 66582f58..e809073c 100644 --- a/lib/docs/filters/ansible/entries.rb +++ b/lib/docs/filters/ansible/entries.rb @@ -1,62 +1,29 @@ module Docs class Ansible class EntriesFilter < Docs::EntriesFilter - TYPES = { - 'intro' => 'Basic Topics', - 'modules' => 'Basic Topics', - 'common' => 'Basic Topics', - 'playbooks' => 'Playbooks', - 'become' => 'Playbooks', - 'test' => 'Playbooks', - 'YAMLSyntax' => 'Playbooks', - 'list' => 'Module Categories', - 'guide' => 'Advanced Topics', - 'developing' => 'Advanced Topics', - 'galaxy' => 'Advanced Topics' - } - - HIDE_SLUGS = [ - 'playbooks', - 'playbooks_special_topics', - 'list_of_all_modules.html', - 'modules_by_category', - 'modules' - ] - def get_name - node = at_css('h1') - name = node.content.strip - case - when name.empty? - super - when slug.eql?('modules_intro') - name = 'Modules' - when name.eql?('Introduction') - name = '#Introduction' - when name.eql?('Getting Started') - name = '#Getting Started' - when name.eql?('Introduction To Ad-Hoc Commands') - name = 'Ad-Hoc Commands' - end + name = at_css('h1').content.strip + name.remove! "\u{00B6}" + name.remove! %r{ \- .*} + name.remove! 'Introduction To ' + name.remove! %r{ Guide\z} name end def get_type - if HIDE_SLUGS.include?(slug) - type = nil + if slug.include?('module') + if name =~ /\A[a-z]/ && node = css('.toctree-l2.current').last + "Modules: #{node.content.remove(' Modules')}" + else + 'Modules' + end + elsif slug.include?('playbook') + 'Playbooks' + elsif slug.include?('guide') + 'Guides' else - akey = slug.split('_').first - type = TYPES.key?(akey) ? TYPES[akey] : 'Modules Reference' + 'Miscellaneous' end - type - end - - def additional_entries - [] - end - - def include_default_entry? - true end end end diff --git a/lib/docs/filters/codeigniter/clean_html.rb b/lib/docs/filters/codeigniter/clean_html.rb index 9b2da1e8..7621ad81 100644 --- a/lib/docs/filters/codeigniter/clean_html.rb +++ b/lib/docs/filters/codeigniter/clean_html.rb @@ -16,6 +16,7 @@ module Docs css('table').each do |node| node.remove_attribute 'border' + node.remove_attribute 'cellpadding' end css('.section').each do |node| diff --git a/lib/docs/scrapers/ansible.rb b/lib/docs/scrapers/ansible.rb index 72c184c4..c8d44b9d 100644 --- a/lib/docs/scrapers/ansible.rb +++ b/lib/docs/scrapers/ansible.rb @@ -1,30 +1,27 @@ module Docs class Ansible < UrlScraper self.name = 'Ansible' - self.type = 'ansible' - self.release = '2.1.0' - self.base_url = 'http://docs.ansible.com/ansible/' - self.root_path = 'intro.html' + self.type = 'sphinx' + self.release = '2.0.1' + self.base_url = 'https://docs.ansible.com/ansible/' self.links = { - home: 'http://docs.ansible.com', + home: 'https://www.ansible.com/', code: 'https://github.com/ansible/ansible' } - html_filters.push 'ansible/clean_html', 'ansible/entries' + html_filters.push 'ansible/entries', 'ansible/clean_html', 'codeigniter/clean_html' - options[:title] = 'Ansible' - options[:container] = '#page-content' - options[:skip] = [ - 'glossary.html', - 'faq.html', - 'community.html', - 'tower.html', - 'quickstart.html' - ] + options[:skip] = %w( + glossary.html + faq.html + community.html + tower.html + quickstart.html + list_of_all_modules.html) options[:attribution] = <<-HTML - © Michael DeHaan
- Licensed under the GNU General Public License v.3. + © 2012–2016 Michael DeHaan
+ Licensed under the GNU General Public License version 3. HTML end end diff --git a/public/icons/docs/ansible/16.png b/public/icons/docs/ansible/16.png index fc4fd3fb6dfb0562348aed95e2cd43fcb4246be4..b6f2cd5b951b0ea8d3caa881f90565a28f5a5ca2 100644 GIT binary patch delta 606 zcmV-k0-^oa1MCEl8Gi-<001BJ|6u?C0y9ZOK~#9!T~oV?B2f@s-wzyAP!R(~oj^1- za5oS?!PIOv@)P`k*)Q19Oc>BWK`>eq4a}5TV--wH##vht#7OPgx?87c8rKV_>sHk{ zb?ZL*i!tnm#rS5k+3FUH<;~%6XdaJ8!<=I;$T3XK{lpCtgMS#x>2xZW%O%$9^(w2? zsyO}^9B}W8xOtU<-ELP5kk2f-aQqWs|H9pzQJAd)*DQj8s)iV%YbupeY*nk(QseO$ zb94gnmAO}Np)vPth(XlD;V>)#AAdebDMgh^Mf_wkiQE-kU^~!a^~TNWDx1v;xn8f+ z`};es*J~OMhkp`#e0+oj_iT2-pBWrf_WS+BtqOTQpHsizr{^EfYPa7}p-_-`JRS%4 zVs!C_0y{W3taLgpq^Ivsr0Y7h+imeTn+h*fGTCI>1L?RKLtyy3OCl-rck<8_Cw1404so88&wOS=j(-h9(a5zw{ zRwHn^Q=FH%g$AxDkw{3e+wIcvc%)LPB&(InWm+zmavPJ$L<;zPzH=ZDz_wrH8Xq1W z-~jq;HdCX~NW}Sk9#$}&PHC}N$YFyU3Wekv&4+|wFc`cPi$$Gp!+ZfEh# zDw><&=2ygkpD2jHh1y&Z+|9kO`!u2StNiE+eD5zKW~4g s`yv=$S=?aaZ-xe7&apajjQ=$M0GN?6JvXZ>m;e9(07*qoM6N<$g6A(FRsaA1 delta 456 zcmV;(0XP2a1lI$Q8Gix*005AYXf^-<010qNS#tmY08an_08as9iv8CB00D_fL_t(| zoRw0)>j7aHe-0(*(1~=E-=pmY7Ku{I!scHvD7(dKxfG*IHz=FzrYo|m%OFxxR^&%r zJ>S87U+*z_w&(NXdEfW>ybL13FJ+;dx= zao;0Dp^&PoL}nOdS!Ni9h&YaOyWOO9I2`l&{B787w=B!jQ~UkCEXyr zm7cU(txBbmAb$v&rdcfSHKtN2L^Q1x0CKsUuIrsnCzHu&npP|pKezU}5^2ZdajjPK z`Fyk4Y_V8Or&B^zt5xIC&1Ulj34(Aq9PD;G0N8A{ZnvxJdL$BgvBTleFzokxr_%`l z$z-xnDA4DZ%VnPD0U(h`JRXmCaEhYP!F?3VvdiVtltDBijz%Mo$MdZYhr=XhlK~M= yr&GJ#PN&m>Kp+?l=JWYpuXnv(X$|x1_x=O9@Au-~)ONoB0000yLOn(w!Hni=1r+o)`X_2YcxHr_gbx1OR9=^YDH?S@4mIQ zwGARms;jFH)YQ~mm-ZtF+M?Sp?ZqPXuyt@Cuk^&M_BbI}A%BvH#bV``5!i|&%hA`y zd{y!m0`{u_r3fr-Ba#=%1yY1q-+9}SpzklhBKFIY50lPkETBR_T(Wc!j@TwG1-1oC zcUmxqlH*0>lLat|jsy}hi~vOD+r;B>)3aw!)2B}#)1gBLBmH1wY+E|cX%U-=J}2TF zISd1U3_x6w|9?uPk*MXIGwkxt+9P(QTeogXwsPf4bL!M7Gk^Yk z{ifcv=YXu~Xkl~fQbWR7VXp+D;Qjjb)AyV?bIjw%kIV9yUAuOvZt&p2QBi;}Nq=z$ zUp1cD&g5}BbM6NX8l)ua)~_>QhXcuE(u^B7PW8Qd^?xce3a(h#DX|$_#YYs&f*&~_ zIY7I2@2+pi@4x?UKwc~s^}S@t64ehIHjGhtkrT_w-$y>etdAOf|Ni|I{Hw3NQqp_( z@0mk~4r%-P_3NQ?ojZ4q$_1{9|G@u(PFApq>mUbt|f zl0YtAylAFQovM1s)@@rE8S0QXHmTh%2JeSn2RM4nCF(u^k?9~Q6bkxIBogL}FTT)! zO-)TEl}g#U!J46w@Hya}0*-#jkRkd;hLafKzkK({G}vSGu9(21*8ubMk|?r3}Gu3el44933<-9p55kI-SS2M977piiDW zF>k;9w(3TX90@yZ|M0^P_@_3xTu$HrC4c@iBSwtSeStVEM3y7Q8o=&_^v-MV#aot{peI)zcHudm1Sz>cD;2LDh)fa#Rt1h~DM5xr)Sfqe7LHw5J9 zHB!Te4-cp8%$YNx{go?MD(nx=W>jfAuB)pnV|3`SWy==q`{wlN(;(o%gXD;oy?xtI(i$D3TuiU7AREF}oq zmcH~RS2H&!@Qg#b7D>Lsl delta 935 zcmV;Y16cg}39<)}8Gix*008_L?V|ty010qNS#tmY08an_08as9iv8CB00U%6L_t(| zoVAuuNGeej#_x+2LnRheFtPN$1RB9#F? zpRYns-WO6th7=yuJNTpKJfJ`RS+S-aKR;g6UWKs|Wylr%J zR2ty%c<>z<8yhP)S5{UqHj*UI&d$mK*=)9%^@pxRJP#}c%_Vz?kG#ZVV61Ur3NG1_NJkKW*35Ou(3&(8zE?Ch*uRc~+aKY$DT<=k z>)qbo1^|o2B3U>yGgAVXoSc;OEiNtsz|zuEaet+yr6n8=7n>Fc1SAW$wzf(Dhlht> zO)8b@`T1E81cSlwdA+W#ZewGkQ22GXU`VIaC4gKmr`PMtd?O~{O-MWs@CeSIwf$mjF;KWCLH zzJK0w007+F+-NkK-=s4P!?LU_pwRIje2@#$>-CS1k7a=pAN^o3h`9sg)YH=wi^aaC zNslcL4-W$a164*V6pHET>1;MD86`V-iJ}+?1p4~=Fhd4KQBJ4x>gq}^1ON!AH2mJ) z-X0$xMZDzB1XlO{Q)ga=_D+7M1Z%o%e(;ou_x4iG&5qSUr002ov JPDHLkV1kk!v1kAQ diff --git a/public/icons/docs/ansible/SOURCE b/public/icons/docs/ansible/SOURCE new file mode 100644 index 00000000..8f848334 --- /dev/null +++ b/public/icons/docs/ansible/SOURCE @@ -0,0 +1 @@ +https://www.ansible.com/logos