From b8c8a42f868fa261b26d24bd25fd48af29139a33 Mon Sep 17 00:00:00 2001 From: Thibaut Courouble Date: Sun, 26 Nov 2017 18:55:05 -0500 Subject: [PATCH] Finish Homebrew scraper --- assets/images/docs-2.png | Bin 15491 -> 15956 bytes assets/images/docs-2@2x.png | Bin 37437 -> 38686 bytes assets/javascripts/news.json | 2 +- .../templates/pages/about_tmpl.coffee | 5 +++ assets/stylesheets/global/_icons.scss | 1 + lib/docs/filters/brew/clean_html.rb | 9 ----- lib/docs/filters/brew/entries.rb | 14 -------- lib/docs/filters/homebrew/clean_html.rb | 19 +++++++++++ lib/docs/filters/homebrew/entries.rb | 32 ++++++++++++++++++ lib/docs/scrapers/brew.rb | 22 ------------ lib/docs/scrapers/homebrew.rb | 24 +++++++++++++ public/icons/docs/brew/16.png | Bin 672 -> 0 bytes public/icons/docs/brew/16@2x.png | Bin 1462 -> 0 bytes public/icons/docs/brew/SOURCE | Bin 23281 -> 0 bytes public/icons/docs/homebrew/16.png | Bin 0 -> 551 bytes public/icons/docs/homebrew/16@2x.png | Bin 0 -> 1349 bytes public/icons/docs/homebrew/SOURCE | 1 + 17 files changed, 83 insertions(+), 46 deletions(-) delete mode 100644 lib/docs/filters/brew/clean_html.rb delete mode 100644 lib/docs/filters/brew/entries.rb create mode 100644 lib/docs/filters/homebrew/clean_html.rb create mode 100644 lib/docs/filters/homebrew/entries.rb delete mode 100644 lib/docs/scrapers/brew.rb create mode 100644 lib/docs/scrapers/homebrew.rb delete mode 100644 public/icons/docs/brew/16.png delete mode 100644 public/icons/docs/brew/16@2x.png delete mode 100644 public/icons/docs/brew/SOURCE create mode 100644 public/icons/docs/homebrew/16.png create mode 100644 public/icons/docs/homebrew/16@2x.png create mode 100644 public/icons/docs/homebrew/SOURCE diff --git a/assets/images/docs-2.png b/assets/images/docs-2.png index f60694b4c7113fe45a6210810207b2799681c91e..cee86d69e5be1ed6b6864df58803e1306d805595 100644 GIT binary patch delta 6188 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 delta 5119 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 E0D0~2mH+?% diff --git a/assets/javascripts/news.json b/assets/javascripts/news.json index b99986f7..c93f8ed9 100644 --- a/assets/javascripts/news.json +++ b/assets/javascripts/news.json @@ -1,7 +1,7 @@ [ [ "2017-11-26", - "New documentations: Bluebird and ESLint" + "New documentations: Bluebird, ESLint and Homebrew" ], [ "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 9156cb82..8dfd77ef 100644 --- a/assets/javascripts/templates/pages/about_tmpl.coffee +++ b/assets/javascripts/templates/pages/about_tmpl.coffee @@ -302,6 +302,11 @@ credits = [ '2005-2016 Haxe Foundation', 'MIT', 'http://haxe.org/foundation/open-source.html' + ], [ + 'Homebrew', + '2009-present Homebrew contributors', + 'BSD', + 'https://raw.githubusercontent.com/Homebrew/brew/master/LICENSE.txt' ], [ 'Immutable.js', '2014-2016 Facebook, Inc.', diff --git a/assets/stylesheets/global/_icons.scss b/assets/stylesheets/global/_icons.scss index 26ed1cab..b4b433f1 100644 --- a/assets/stylesheets/global/_icons.scss +++ b/assets/stylesheets/global/_icons.scss @@ -166,3 +166,4 @@ ._icon-d:before { background-position: -7rem -2rem; @extend %doc-icon-2; } ._icon-bluebird:before { background-position: -8rem -2rem; @extend %doc-icon-2; } ._icon-eslint:before { background-position: -9rem -2rem; @extend %doc-icon-2; } +._icon-homebrew:before { background-position: 0 -3rem; @extend %doc-icon-2; } diff --git a/lib/docs/filters/brew/clean_html.rb b/lib/docs/filters/brew/clean_html.rb deleted file mode 100644 index 59b893d7..00000000 --- a/lib/docs/filters/brew/clean_html.rb +++ /dev/null @@ -1,9 +0,0 @@ -module Docs - class Brew - class CleanHtmlFilter < Filter - def call - doc - end - end - end -end diff --git a/lib/docs/filters/brew/entries.rb b/lib/docs/filters/brew/entries.rb deleted file mode 100644 index fdfdfd2b..00000000 --- a/lib/docs/filters/brew/entries.rb +++ /dev/null @@ -1,14 +0,0 @@ -module Docs - class Brew - class EntriesFilter < Docs::EntriesFilter - def get_name - at_css('h1').content - end - - def get_type - name - end - - end - end -end diff --git a/lib/docs/filters/homebrew/clean_html.rb b/lib/docs/filters/homebrew/clean_html.rb new file mode 100644 index 00000000..5bf6aa29 --- /dev/null +++ b/lib/docs/filters/homebrew/clean_html.rb @@ -0,0 +1,19 @@ +module Docs + class Homebrew + class CleanHtmlFilter < Filter + def call + css('hr') + + css('div.highlighter-rouge').each do |node| + lang = node['class'][/language-(\w+)/, 1] + node['data-language'] = lang if lang + node.content = node.content.strip + node.name = 'pre' + node.remove_attribute('class') + end + + doc + end + end + end +end diff --git a/lib/docs/filters/homebrew/entries.rb b/lib/docs/filters/homebrew/entries.rb new file mode 100644 index 00000000..03650ad9 --- /dev/null +++ b/lib/docs/filters/homebrew/entries.rb @@ -0,0 +1,32 @@ +module Docs + class Homebrew + class EntriesFilter < Docs::EntriesFilter + def get_name + name = at_css('h1').content.strip + name.remove! %r{\(.*} + name + end + + CONTRIBUTOR_SLUGS = %w( + How-To-Open-a-Homebrew-Pull-Request + Formula-Cookbook + Acceptable-Formulae + Versions + Node-for-Formula-Authors + Python-for-Formula-Authors + Migrating-A-Formula-To-A-Tap + Rename-A-Formula + How-to-Create-and-Maintain-a-Tap + Brew-Test-Bot + Prose-Style-Guidelines) + + def get_type + if CONTRIBUTOR_SLUGS.include?(slug) + 'Contributors' + else + 'Users' + end + end + end + end +end diff --git a/lib/docs/scrapers/brew.rb b/lib/docs/scrapers/brew.rb deleted file mode 100644 index ac3cc3e5..00000000 --- a/lib/docs/scrapers/brew.rb +++ /dev/null @@ -1,22 +0,0 @@ -module Docs - class Brew < UrlScraper - self.name = 'Homebrew' - self.type = 'brew' - self.release = '1.3.6' - self.base_url = 'https://docs.brew.sh' - self.root_path = '/' - self.links = { - home: 'https://brew.sh', - code: 'https://github.com/Homebrew/brew' - } - - options[:container] = ->(filter) { filter.root_page? ? '#home' : '#page' } - - html_filters.push 'brew/entries', 'brew/clean_html' - - options[:attribution] = <<-HTML - Homebrew was created by Max Howell.
- Licensed under the BSD 2-Clause License. - HTML - end -end diff --git a/lib/docs/scrapers/homebrew.rb b/lib/docs/scrapers/homebrew.rb new file mode 100644 index 00000000..0298dd9b --- /dev/null +++ b/lib/docs/scrapers/homebrew.rb @@ -0,0 +1,24 @@ +module Docs + class Homebrew < UrlScraper + self.name = 'Homebrew' + self.type = 'simple' + self.release = '1.3.6' + self.base_url = 'https://docs.brew.sh/' + self.links = { + home: 'https://brew.sh', + code: 'https://github.com/Homebrew/brew' + } + + html_filters.push 'homebrew/entries', 'homebrew/clean_html' + + options[:container] = ->(filter) { filter.root_page? ? '#home' : '#page' } + + options[:skip_patterns] = [/maintainer/i, /core\-contributor/i] + options[:skip] = %w(Kickstarter-Supporters.html) + + options[:attribution] = <<-HTML + © 2009–present Homebrew contributors
+ Licensed under the BSD 2-Clause License. + HTML + end +end diff --git a/public/icons/docs/brew/16.png b/public/icons/docs/brew/16.png deleted file mode 100644 index 0f58b0a1fd2f19ab265ffe7ffe325e09fef3820b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 672 zcmV;R0$=@!P)7({0xd~I zK~y-)ol?zfl5rgWJUXAJId^ELRuG%m!9%7*jmW{;B!bq1!`WOewJh6w<@x#TG?}J@`kcORpAX+RpffC!_okNionSDC ze}!t{rt^u!2KXZaK!m{ZG6X?DHk-?)(_7+Ut(yaZ z01**+yj;do&0`v^ zAs2pXUWLU!BYHmCZEse<#PEihr@9h0A%d~^}3`ZRsl&BG#bFhP8}CVuK}g+*i3Cj zTrSrvW6Zc;-_tIj-~}xjH9)EW90!Y`ALsawpr2MKc>PHL2|*BaT?Kl3l>=ZUK;oOR zM!f;l3Xm9`01z)0i_P3$BPjb+0IL8}wKY-AV{m9l>+yKzjYcB?C_4&hb;m)wUx2;s z)`u-;pw}B@N~Kb8I-M>6l_JM5Kf zp-`|aQ=6qvdwN9*!#$s?rdoKrKOGFG{C4~8CycSxgM>dLNdTc@k4hE*0000N4E7TRwQZ4sveRpL%^AMUx| zJ?HnGKi@qUf|HHF86cAXNj_?7`9b8bDGdUjOcDwxz;Qo99 zBoq}D|M}VRhBleZ8N~2SE0q)%xz`)>gJ`*@As|7_-@o(P-qxjTT z^oI{0el$nf*-y2hQmI0pCj|u+6&1p4HjA0WVzE4?tE;Q?u3x`i0L!1Z4fCq2tDF1# zdTBcDv4&(46BAKKM?QS(X|N->rcaIk>v7(9?C6;lC!4Nl^Y~IA_l_Fya{H%!&P&+k0qiY!u1K$s#T; z4j}}!wYB#;J3EsBcd!5&jYb158(ufa#=V5f+$_;AoLbOS1&2OZN?dd(=DpDX6c!dr zMx&9wzCQBu@+d7W)n{gAZUSoOT!aAttyT-JVF*!zECeQ94-H6g)YQ-D;ty%DECiVs zyc1l!c#*WUv?KZX`D?ds-RjK9$N)$VstW=D3WWkDMnJv*gaD6|=>$LDk@)1uLB^En z5UK#zAO?d0;1{6LVzG1vK4?J$C=?0}fN&4{007~67y++GaAJp+_X`$qu<#GO4+J=E z=yW;&9YA+?_g#R@%*>Ra0SpF%8UVKgLVN&B0{~bQCgbzn>AaE><}>LY3IJ#U91h1F zfTX0P;8PG2=r6Y&Nv;G*f=TCN>x2k2whUZ0{GZ|&zxM9HzyMmU)(|v+TCMh#wcB5W zLV(9T!^t8;xO^=i6&0oPYkMpfOCTyzPyi7T5i!0R7y-Ewyb~ZiGoNjKfcW_MKm_`F zdwYqEjpe@+^sE5k;o)IZ5s)c;EjZhxZ0AgShQT za+SXYX9ftQpt7=ZNli^n&%nUI-s0k7Y&ILfcrYhnq(-Ch@5+u40%_v@oFh6rT`|#5ce)4gaFwruQ`1H2M!$I*s)_ffZu`EpyvTV6X-%o zU*Idgz=fC|bns5Xq<0)#F? z3QL6OEKo*IZ{a}I4?gQal9`^KetqA*eWIyrkEKaBMI`A#fH5bGG0s!%sP7yKI QG5`Po07*qoM6N<$f*jqImH+?% diff --git a/public/icons/docs/brew/SOURCE b/public/icons/docs/brew/SOURCE deleted file mode 100644 index 85aa2a146f3bb41964859d17084e45a01a903742..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23281 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 Ef9jnt`Tzg` diff --git a/public/icons/docs/homebrew/16.png b/public/icons/docs/homebrew/16.png new file mode 100644 index 0000000000000000000000000000000000000000..833e457cd249561a0546453902967bd833364de5 GIT binary patch literal 551 zcmV+?0@(eDP)P^uG#I{wSON9pz(l#gD#C5KLPZ8%j79j_tIzWe*OCA55(NaU^3(8?K`;t@GmTiry$Rz%Q$xIIARzU?b>x%;y1cRqk*go7cSu9 z#fz9Zb0%axeE1NesASR7tGh^%B3-RkD}LAg`}cpo=j7y|K!E~neWtK_&Dtnt_izYj zmLUG{1f1Nx1hUqzU4Kz2`LtMt;|y?digCX);(@n3-1afQ}i4%@iOxHQK2?%+N=r-3(I7A@nLdW)|cee p%+Jv=?44uBj&Vhc79IV!;VU~!TR5=2{dNEV002ovPDHLkV1ibs4ix|Z literal 0 HcmV?d00001 diff --git a/public/icons/docs/homebrew/16@2x.png b/public/icons/docs/homebrew/16@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..3128178e748e050eef3eb96ed7662ca2a2be5afd GIT binary patch literal 1349 zcmV-L1-kl)P)eaTHT-Ua3+qP}nwh`54np-<J|Z5#+MsZ1^- zV~M}SkX?KBp-|x>pyiw-ljxIwgl0>YF2{j`;mDuA02dK4dyX6rlO|32jugJ=)xkuB zB1MW~ztIG(&cFrSY1F7O|7RC}kV-Xb*2KxvXHm3RaYT$1X)!5?m}F$}8%aaGaH2)a zR_M^NlgyhpA5>};X#38P(9p~6J9I$v7A+AgR;+!rEt>enBrjRA6l@nS;nbP4U@bN~ z&YUyj^rz*|+s~c90F_Gpm=vDq(Lo6kCOmAXaPtKVhq(2?K@<1PF!75>*rsheRIXA5 z6)ILlzX1bq-eUbO@buYpFohq&n6cxqbN3!t?GEI~k@FHM-0AiJqFCzGsi7ze7>!1Q zzWw^cXbQ*N`3qpCE}uGmIvO=<1f$W2?%lhi|A2w0QL`2+-05;BkvMJIw3e+~x8hqe zsZ{7llTNGEqC|-jC||xjzNK^L&S=%D74qcC^F+`n3tvf+B*}jKgq}Tn;#- z3L-8UNBBXtlP6CCFRlWHbinPIc)hniEHg47d`ub~9-9UQa);p7t=qU@v7uOw6kxV* z-!40K>V(mwM`P5eQ3wnSyumLo;RCI%U%w7KJOyPf6>xDnpqL-eTj%jT|_FELy8ptydsuxxes%Nnoz(p{&meT$%~Fqtw>|HiV%@!9-xnmM#Ho zQ3Ee;f`^TVPY~I%WjpezfQ7C)Fp@vZ#hQtG~AAmquxkh{w99DriT!eKvG7X)0;Y{MhdD6>(mEGR?AWn2q#(*1IB)qv*pR54QqN_2h}>x`17k!90EX6b^?2 zdcB?}ABXo4UXpIkoH<~Wbs0F=ee2mx1;BLd*pWkP%=~xPaUqoC$JmCjrj~zRP?|5PXuC9l)%z->N@uRi{z|Eb&>jyu6 zsBi&+!VlD$GG#i^yLWGxOeT23y?gh-6OW!BkNHIwHEPrdq;MwxxRr=PRwhTKNRh%& zq)3tD^nAENA1C+f)~$Q5YSpS2=>s%8a^%QM`NkpD!bAQA;diCMfPkd?00000NkvXX Hu0mjf`%8&F literal 0 HcmV?d00001 diff --git a/public/icons/docs/homebrew/SOURCE b/public/icons/docs/homebrew/SOURCE new file mode 100644 index 00000000..f7c36907 --- /dev/null +++ b/public/icons/docs/homebrew/SOURCE @@ -0,0 +1 @@ +https://github.com/Homebrew/brew/tree/master/docs/img \ No newline at end of file