From dac419289bea756e6b697c82572e5ebe028cceb3 Mon Sep 17 00:00:00 2001 From: Thibaut Courouble Date: Sun, 26 Nov 2017 17:33:11 -0500 Subject: [PATCH] Finish Bluebird scraper --- assets/images/docs-2.png | Bin 14773 -> 15136 bytes assets/images/docs-2@2x.png | Bin 35391 -> 36428 bytes assets/javascripts/news.json | 3 ++ .../templates/pages/about_tmpl.coffee | 5 +++ assets/stylesheets/global/_icons.scss | 1 + lib/docs/filters/bluebird/clean_html.rb | 29 +++++++++++++-- lib/docs/filters/bluebird/entries.rb | 34 +++++------------- lib/docs/scrapers/bluebird.rb | 13 +++---- public/icons/docs/bluebird/16.png | Bin 1133 -> 448 bytes public/icons/docs/bluebird/16@2x.png | Bin 1652 -> 1018 bytes 10 files changed, 51 insertions(+), 34 deletions(-) diff --git a/assets/images/docs-2.png b/assets/images/docs-2.png index 0aa1a1051970958a5ec97cca842cd9acae7e4445..6ef8e80905adcb39067aa3e9e6b129da56a68de1 100644 GIT binary patch delta 5337 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 diff --git a/assets/images/docs-2@2x.png b/assets/images/docs-2@2x.png index e6e018aaa7e9dcf535eb566b8232d1c41fe260a4..e79cbd6862075a10848d4435d0e144555197299d 100644 GIT binary patch delta 14628 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 F{{#1CTj~G+ delta 13580 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 JN^#@B{{!$Z?xO$z diff --git a/assets/javascripts/news.json b/assets/javascripts/news.json index dd82e94b..17376fc0 100644 --- a/assets/javascripts/news.json +++ b/assets/javascripts/news.json @@ -1,5 +1,8 @@ [ [ + "2017-11-26", + "New documentation: Bluebird" + ], [ "2017-11-18", "Added print & PDF stylesheet.\nFeedback welcome on Twitter and GitHub." ], [ diff --git a/assets/javascripts/templates/pages/about_tmpl.coffee b/assets/javascripts/templates/pages/about_tmpl.coffee index 40b96136..85cc62ea 100644 --- a/assets/javascripts/templates/pages/about_tmpl.coffee +++ b/assets/javascripts/templates/pages/about_tmpl.coffee @@ -112,6 +112,11 @@ credits = [ '2010-2016 Jeremy Ashkenas, DocumentCloud', 'MIT', 'https://raw.githubusercontent.com/jashkenas/backbone/master/LICENSE' + ], [ + 'Bluebird', + '2013-2017 Petka Antonov', + 'MIT', + 'https://raw.githubusercontent.com/petkaantonov/bluebird/master/LICENSE' ], [ 'Bootstrap', '2011-2017 Twitter, Inc.
2011-2017 The Bootstrap Authors', diff --git a/assets/stylesheets/global/_icons.scss b/assets/stylesheets/global/_icons.scss index fffc7e25..0f8c2aed 100644 --- a/assets/stylesheets/global/_icons.scss +++ b/assets/stylesheets/global/_icons.scss @@ -164,3 +164,4 @@ ._icon-nim:before { background-position: -5rem -2rem; @extend %doc-icon-2; @extend %darkIconFix !optional; } ._icon-vulkan:before { background-position: -6rem -2rem; @extend %doc-icon-2; @extend %darkIconFix !optional; } ._icon-d:before { background-position: -7rem -2rem; @extend %doc-icon-2; } +._icon-bluebird:before { background-position: -8rem -2rem; @extend %doc-icon-2; } diff --git a/lib/docs/filters/bluebird/clean_html.rb b/lib/docs/filters/bluebird/clean_html.rb index 92f10b41..6580a6aa 100644 --- a/lib/docs/filters/bluebird/clean_html.rb +++ b/lib/docs/filters/bluebird/clean_html.rb @@ -2,8 +2,33 @@ module Docs class Bluebird class CleanHtmlFilter < Filter def call - css('.post-content > p:first').remove - css('pre').attr('data-language', 'javascript') + @doc = at_css('.post') + + css('hr').remove + + css('.api-code-section').each do |node| + node.previous_element.remove + end + + css('.post-header', '.post-content', '.api-reference-menu', '.api-code-section', 'markdown', '.highlight', 'code code').each do |node| + node.before(node.children).remove + end + + at_css('> h2:first-child').name = 'h1' unless at_css('h1') + + css('.header-anchor[name]').each do |node| + node.parent['id'] = node['name'] + end + + css('pre').each do |node| + node.content = node.content + node['data-language'] = 'javascript' + end + + css('.info-box').each do |node| + node.name = 'blockquote' + end + doc end end diff --git a/lib/docs/filters/bluebird/entries.rb b/lib/docs/filters/bluebird/entries.rb index bebae289..522e4db4 100644 --- a/lib/docs/filters/bluebird/entries.rb +++ b/lib/docs/filters/bluebird/entries.rb @@ -26,41 +26,23 @@ module Docs done promise.config suppressunhandledrejections promise.onpossiblyunhandledrejection promise.bind promise.onunhandledrejectionhandled), - 'Progression migration': %(), - 'Deferred migration': %(), - 'Environment variables': %(), - "Beginner's Guide": %w(), - 'Error management configuration': %w(), - 'Anti-patterns': %w(), - 'Deprecated APIs': %w() } def get_name - name = at_css('h1.post-title') - if name.nil? - name = at_css('.post-content h2') - end - name.text + name = at_css('h1').content.strip + name << '()' if doc.to_html.include?("#{name}(") + name end def get_type - type = nil - TYPE_MAP.each do |k,v| - if k.to_s.casecmp(name.strip) == 0 - type = k - break - else - slug_end = slug.sub(%r(^docs/api/), '') - if v.include?(slug_end.downcase) - type = k - break - end + if slug.start_with?('api') + TYPE_MAP.each do |key, value| + return key.to_s if value.include?(slug.remove('api/')) end + else + 'Guides' end - - type.to_s end - end end end diff --git a/lib/docs/scrapers/bluebird.rb b/lib/docs/scrapers/bluebird.rb index bfa96a03..e5cd6b59 100644 --- a/lib/docs/scrapers/bluebird.rb +++ b/lib/docs/scrapers/bluebird.rb @@ -1,9 +1,10 @@ module Docs class Bluebird < UrlScraper - self.type = 'bluebird' - self.base_url = 'http://bluebirdjs.com' - self.root_path = '/docs/api-reference.html' - self.release = '3.5.0' + self.type = 'simple' + self.release = '3.5.1' + self.base_url = 'http://bluebirdjs.com/docs/' + self.root_path = 'api-reference.html' + self.force_gzip = true self.links = { home: 'http://bluebirdjs.com/', code: 'https://github.com/petkaantonov/bluebird/' @@ -11,10 +12,10 @@ module Docs html_filters.push 'bluebird/clean_html', 'bluebird/entries' - options[:container] = 'body .post' + options[:skip] = %w(support.html download-api-reference.html contribute.html) options[:attribution] = <<-HTML - © Petka Antonov
+ © 2013–2017 Petka Antonov
Licensed under the MIT License. HTML end diff --git a/public/icons/docs/bluebird/16.png b/public/icons/docs/bluebird/16.png index 5bbe4d72b24ebc5745b82be47884763c3d3e3133..cdbe752bfe0ff81ff6fc6bac6785803bb6295ace 100644 GIT binary patch delta 433 zcmV;i0Z#ty2*3l78Gi-<001BJ|6u?C0f$LMK~#7FV;~3ErA;%pO`ST~DshrC$(n7F zC+j(+Pd{yyI5CA}&6<9-96$rsS|?4~ui;zGO|k)|(cLN5NfUoq#`hKARAiYriP<)7 zMwnI7lq9Q^=^nP}vz@I|W(1hU^-ng5?s{(?+x^`%y2~D?0e@z(z3dhV6ZcrBO#g3} zIsd11`uy(}iBtZYM0fu;if9MnLqIHw+XYEerL0qD-SjM)^MCIA$p15Eh5QQ2tJ`Q8 z(KQpOu@Z>YFfEcQecqpdlD_|sc1isIzn$U3-!)A7IBf)) zXl5MQxzseK_kWf};^Z$t7yLI*nEc;6yXEk!Jpz@#)-lifF`d;EU&tOYjqUvpG~fp? zpw5`Z_N_II>1i~K=v4yAe_zbT`h5}`2TlX5lc#*ON}BZDII1%n=nX!D&?aV*;?^l^ z&VTEashc!>s@Ta&*KYX>f7qr?k7pnkcor==>ySBHlPYWjyi1m~yX4O2qr?Rk?gfij b$kh)3vUHeqzJ5b+00000NkvXXu0mjf6<*Zm literal 1133 zcmZ`(drVtp6hDmimVrDJH)i+8%#tBE9&PFKUdm&m(2jwOXQ4xS`xFsMN=d`!3}eX3 zd(hH$ZCP~=L!z6`Y);9HiY!5yiDszT{AbST7GiKFkalFt_1uw|><_=3?>mq0ch33F zxhHq9s$U0nfiBpsl) zA7BGbz4rmS1pq600MZYT))|^Rln)TISaq;gg#eNEBye*}ZQ%loS81Li>B+pNL8Zx^ zZ*&(~eIz}hYM++W4T|es;s#e<^$=-LSNIRIZ<(OumBFFl7zPX%8Cl_GubGUj^+^7^Wz5Kw}S0hZ|1^YO6cm z5^C8{n@p&+O`fiIWq-T9V4zV%F%W9-h{4(19x{&353kpCZeQ^;!^lpG$F({79` z)4R*t`d6-|Y+Q(q`nc;M-X;dClQfSa3`@YaV0A+6=)$L2k@twmBoPS_l+i;P*p^~m zL0zAMb|a?E{zf#!jZ6@c0I~0N?ATPs!6SK1LzodeiIJtc{!-h!N{g?kH7IIyY3%1v zKvk%9l{?-qX%8#SUNn| z6z#+_w%(xLU*-NgQpjHLt}+iJ7-)VQs{#Ke!)#nU-GhS!9KOu^h+!V&KDm+3+*)Ip zZ+gy1P+ef6*Uul{4cs_bkF+JRlZlJ@g!hC;TL8Y#1UQ)lat_3se#AFHjG?@&#P?^% z&W}*p+No~r0^n|8cg)wX$!Rq59GVIh@3;8mB!1i#r^Jn>Ynqbc+8sBH`rg>mbj$X7 zDJOh<`h6{zPD|sjyg&Zyt0?9X$>-G@+-NvT`h$K!SsIh&h1k_eEh(*ID6l( zB?dl=_Ai{f>sh|EHgY}d)Zk6U=RFU(Z>z5DnMt|lnQEx5ulr^B=bvOn9DXpMYx?yT zbvtSGua#B0i1^~z0Uq@+NeEs&7{f%it@KTkQd+f1#Np8t2aH+C6+0q_Ewp~hx$IBB~X hoK9y>Ye!p`k?u6-*zDHeYCa!9pixzpT-c}Y`xiP@kv0GT diff --git a/public/icons/docs/bluebird/16@2x.png b/public/icons/docs/bluebird/16@2x.png index cad3315b93f4678bcd10c5373f120ee522f73752..9ffae075b3af0473e9d5861b8d015d419bb482b1 100644 GIT binary patch delta 997 zcmVd$a0C+qP|6tM|sXZQI6jwqx72 zZ5wT)TsI=-wtF*bTOBZXmy7(@AHJ+I z_f5s$F#fQcSbsuwoN2g(fN6-trH870`sKqHm$o{fS(}c#P2TCyovW4ozE_c7h-d+^ zTS>$L#0kvmRHdUzm;u=T&9pU4At69OrmEi|vef}*+PhLJ?5C<=c1G;WF`zBY7!Z89W3cz5t?sK&nzS*XLN~zcc5q2I?9-m1~41cJB8Pozy1yKwMRj3F6+YoMu zya3>ftqvHu@3l-70ydtJew-hYAO@A>C|F$do0 z*=Jii=VuV{CGnLpQ>X-RC?hk!1Zxh+8VCFek=2|76dUFLIbg&-S0?~^0yKo3A4Kd1 z5TXD2|17H-V5$%?G;6gKt$HkjEoPVyYz1nqK!2^U75EME!2r$#(M%?8OU#al0T9d# zChO&@0uaOUrN^5t&b?q6YD%qakgcW}NYH(&0;0SRfLo$)B(Vb#;)^yO`!JOap9&BF z4R3rox8-Ryv%*h^W~CkdDcsxr@1FHB3mF(B)G0yTxI+#By$K0%7G za~>RDDzaQv??=i+x34f0RP}>+#rq=t0A6-^fMBLCef8*NMWl>p=T-rhQPH>20C;9z z1fW={lz(WD03w=eAbk4Xo68y`0Kj(y6!7a)(jWn9_9004R>004l5008;`004mK z004C`008P>0026e000+ooVrmw00006VoOIv0RI600RN!9r;`8x010qNS#tmY1p)v7 z1p)!VXgFa2000McNliru;R+898VI*{HIo1U1wKhcK~z}7y?>Tnh@DpzhM%?e{=Rc& zChg30CXEo4G*M9-OPi#kRg0#g^g@MRm{4O-tXfJV_*03ZHA1nK81Tl5A_!tlXfK3< z7aA>sR+~1HOl*u)DY2SKleU>8GiT1v_wBuw7bic4s*}OYtn1BspY^lfy@f@Nn>Rmz zYk`^Z@b2y0yMJZpjg98O7Iz=bIsZf!8({sN4}n9s(-|DOX6){=(foW$^|6%F-MAmp z#S~w+`9a*APJ6C#&G_?vts%rsB0@^_ad-bU zK=6x`kMkvb`yCIFnvR&@I9VMLCA2Fhet!RjbGLlzVREh!1oH&$EAf1P2s)Z`!Y%(P zrF66`OMfQLRexCk4xD-UI736D@yPxs?ERaz+1$)D)->LA*Y^<(fPh>7yt`ud4m|A; zcrQRoHD*3JJaTon*X~`Ce_nuGIBV9vlkVK?9q;+@CqL3Ud+M*2^HC9b5#bE(36TP1 z5M-rW-U$97cUz7dIVCdUX7*gS(>qtv0stW6mVa@#H&)&Doo0q=aM9Qk4V9>5oM3Lz z-J0%MEhj7+;J6#$Gw%EaxUhVe4bW?M=(gvmx}B>5G(<$BXe^qdp@}=@3Ac>pL{2r9 z^My*?9bhl;?0?EXFTl{qIGxs6jb-C?8X_T<3=Az}sI2K_rPFm%GO`(#Yuql110CR( zz<*bP_JRT4{plZIIT4CtOe9<%Vu8kzBEnraJ;I9RCz(37oR=HJ>_4#jse>n8`@BN5 zoLcVw0`L^@N1z2@LFNazdCM*=Rm8GM&NUhe1U{e|-mIa2+^omS)l=LU{>+99yq?Y{ zYW+t1w*Bg+O%G@^Gmph3c^#O1Wc#ZD)_;BUTc8)oa;^!n#NDDhW4Lb=4Ld}%bT=#~ zH1#NtckxlkvjP52&NJF-?HWKem}wxy{u3-z?El%<{%eYph2M79KL5enCTV}E5#lYj9%Zz+JyHCqh9e6D__&6! zUNoG$Jr3^uYTdhzw{T8_zu@LiSbt7GZ8X9^cRaS0jo~ml?pX%>>E^bY?#>1}XbbCr zs=lu%N)RQb8aKy1KMnFI_#yBUZZ@5BI^7(+s#E8TR$+aRzsZfbK`VCHBj~XUUJ~yuG3XN>?}<2RRA%L#DAh7r;J&i zaSOAk=@dIu0msj662y@6+z7~o%S&Ix;poFgPtRH##sdmeURK0000bbX`SQbYx+4Wjbwd zWNBu305UK!H!U$REipAzGBG+bHaajkEigAaFfiwiwM_s302y>eSaefwW^{L9a%BK_ icXuvnZfkR6VQ^(GZ*pgw?mQX*0000