From ec0e9f0b448d3c7382ba809ce183bfb806ceed11 Mon Sep 17 00:00:00 2001 From: Thibaut Date: Sun, 15 Jun 2014 10:38:25 -0400 Subject: [PATCH] Add RequireJS documentation --- assets/images/icons.png | Bin 19770 -> 20043 bytes assets/images/icons@2x.png | Bin 50387 -> 51028 bytes .../templates/pages/about_tmpl.coffee | 5 +++ .../templates/pages/news_tmpl.coffee | 5 ++- .../javascripts/views/pages/requirejs.coffee | 11 ++++++ assets/stylesheets/application.css.scss | 1 + assets/stylesheets/global/_icons.scss | 1 + assets/stylesheets/pages/_requirejs.scss | 10 +++++ lib/docs/filters/requirejs/clean_html.rb | 22 +++++++++++ lib/docs/filters/requirejs/entries.rb | 35 ++++++++++++++++++ lib/docs/scrapers/requirejs.rb | 29 +++++++++++++++ public/icons/docs/requirejs/16.png | Bin 0 -> 309 bytes public/icons/docs/requirejs/16@2x.png | Bin 0 -> 693 bytes public/icons/docs/requirejs/SOURCE | 1 + 14 files changed, 119 insertions(+), 1 deletion(-) create mode 100644 assets/javascripts/views/pages/requirejs.coffee create mode 100644 assets/stylesheets/pages/_requirejs.scss create mode 100644 lib/docs/filters/requirejs/clean_html.rb create mode 100644 lib/docs/filters/requirejs/entries.rb create mode 100644 lib/docs/scrapers/requirejs.rb create mode 100644 public/icons/docs/requirejs/16.png create mode 100644 public/icons/docs/requirejs/16@2x.png create mode 100644 public/icons/docs/requirejs/SOURCE diff --git a/assets/images/icons.png b/assets/images/icons.png index 01e9dda810b0efebed303f030ff4b6d6a5d8cdec..a9977a6511699b14d92ca2c4f8385ef3adb7eb4a 100644 GIT binary patch delta 10354 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ξ%EnA%6`VISgy5@88%=;7mPD3DyP9%o|Ls&HMhB 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 Qx&QzG07*qoM6N<$f}%Hqy8r+H delta 10079 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 BtD*n^ diff --git a/assets/images/icons@2x.png b/assets/images/icons@2x.png index 483e2bd224403e05d7934f720bdda7866bc37d42..d90516678dcccce56e6543c06a83e8fe729544ac 100644 GIT binary patch delta 10302 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 Q0RR9107*qoM6N<$f)LUw2mk;8 delta 9656 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 diff --git a/assets/javascripts/templates/pages/about_tmpl.coffee b/assets/javascripts/templates/pages/about_tmpl.coffee index 807646f4..8e4a50df 100644 --- a/assets/javascripts/templates/pages/about_tmpl.coffee +++ b/assets/javascripts/templates/pages/about_tmpl.coffee @@ -210,6 +210,11 @@ credits = [ '2009-2014 Salvatore Sanfilippo', 'CC BY-SA', 'http://creativecommons.org/licenses/by-sa/4.0/' + ], [ + 'RequireJS', + '2010-2014 The Dojo Foundation', + 'MIT', + 'https://raw.githubusercontent.com/jrburke/requirejs/master/LICENSE' ], [ 'Ruby', '1993-2014 Yukihiro Matsumoto', diff --git a/assets/javascripts/templates/pages/news_tmpl.coffee b/assets/javascripts/templates/pages/news_tmpl.coffee index ec995de1..5dcede7c 100644 --- a/assets/javascripts/templates/pages/news_tmpl.coffee +++ b/assets/javascripts/templates/pages/news_tmpl.coffee @@ -24,7 +24,10 @@ newsItem = (date, news) -> result app.news = [ - [ 1402704000000, # June 14, 2014 + [ 1402790400000, # June 15, 2014 + """ New RequireJS documentation """, + ], [ + 1402704000000, # June 14, 2014 """ New Haskell documentation """, ], [ 1400976000000, # May 25, 2014 diff --git a/assets/javascripts/views/pages/requirejs.coffee b/assets/javascripts/views/pages/requirejs.coffee new file mode 100644 index 00000000..26b448a2 --- /dev/null +++ b/assets/javascripts/views/pages/requirejs.coffee @@ -0,0 +1,11 @@ +#= require views/pages/base + +class app.views.RequirejsPage extends app.views.BasePage + afterRender: -> + for el in @findAllByTag 'pre' + language = if el.textContent.match(/^\s* .sect').remove + css('h1 + .note').remove if root_page? + + css('.section', 'pre > code').each do |node| + node.before(node.children).remove + end + + css('h2', 'h3', 'h4').each do |node| + next unless link = node.at_css('a[name]') + node['id'] = link['name'] + link.before(link.children).remove + end + + doc + end + end + end +end diff --git a/lib/docs/filters/requirejs/entries.rb b/lib/docs/filters/requirejs/entries.rb new file mode 100644 index 00000000..f2e95d5f --- /dev/null +++ b/lib/docs/filters/requirejs/entries.rb @@ -0,0 +1,35 @@ +module Docs + class Requirejs + class EntriesFilter < Docs::EntriesFilter + def get_name + at_css('h1').content + end + + def get_type + 'Guides' + end + + def additional_entries + return [] unless root_page? + + entries = [] + type = nil + + css('*').each do |node| + if node.name == 'h2' + type = node.content + elsif node.name == 'h3' || node.name == 'h4' + entries << [node.content, node['id'], type] + end + end + + css('p[id^="config-"]').each do |node| + next if node['id'].include?('note') + entries << [node.at_css('strong').content, node['id'], 'Configuration Options'] + end + + entries + end + end + end +end diff --git a/lib/docs/scrapers/requirejs.rb b/lib/docs/scrapers/requirejs.rb new file mode 100644 index 00000000..a35f36d0 --- /dev/null +++ b/lib/docs/scrapers/requirejs.rb @@ -0,0 +1,29 @@ +module Docs + class Requirejs < UrlScraper + self.name = 'RequireJS' + self.type = 'requirejs' + self.version = '2.1.4' + self.base_url = 'http://requirejs.org/docs/' + self.root_path = 'api.html' + self.initial_paths = %w( + optimization.html + jquery.html + node.html + dojo.html + commonjs.html + plugins.html + why.html + whyamd.html) + + html_filters.push 'requirejs/clean_html', 'requirejs/entries' + + options[:container] = '#content' + options[:follow_links] = false + options[:only] = self.initial_paths + + options[:attribution] = <<-HTML + © 2010–2014 The Dojo Foundation
+ Licensed under the MIT License. + HTML + end +end diff --git a/public/icons/docs/requirejs/16.png b/public/icons/docs/requirejs/16.png new file mode 100644 index 0000000000000000000000000000000000000000..b516defd1eaa84dfff5feaaa663b64a8df8fd4e9 GIT binary patch literal 309 zcmV-50m}Y~P)Hmiz!C(wxgT&Ab>4j<5h58dLF|BIO|1VySSTRTr$pDZZEfm{9wtVt- z#%TaZE~ozpsw;rR4Vb{G_)NIs?`4Mn|6bzV+D8u+1P0V&n6|WC{Xt z0;SQY3rh==u_dI(L4jb5BOy(oUQ(twGvUb2=aDp?$CaG{1Li}^j6#g|00000NkvXX Hu0mjf;fH@1 literal 0 HcmV?d00001 diff --git a/public/icons/docs/requirejs/16@2x.png b/public/icons/docs/requirejs/16@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..ba6706e7cd761588045539f815e285ca20ca707b GIT binary patch literal 693 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dy&jWlyT!FOq#vi)te?ySYhCgt& z?z-PP>;CAi{iVL~zxJyC3iJQ#t^cFD;g1ejvB8=jmaG2j0u`+Pt+O7<1d!|>y>)*; z+Bf_*-uxe8;Q#YHKt^lh(gR63|DE*zS1bPi#`Me8WMcKKXa4TDLxZ0Cx&8mj)Y7!< zg`ex?$jJXo#I0An{r{cmw~Mj&f_pBDpMLhRHd+1U|9^&0o;Ehi-?}e+_`gbVV)e{> z!Tw)7EIk%Jd=TV&D>V44yXF5H#R)aDU-`Pc^m8>?^YuV-?t{*NB%oK7OM?7@8B~6C zo(O;S^UKBAM!Y;6b7sAMp~^Yqyzl=;-45cHv90(HaH@#wbr0$B>G+)=AH& zH97FKI)?^q*nKTGr22hsb^ZV6Hz)USDOdgZ$FtKs-AJX8!CCXf)S{hA;v&q8II8a0 z30-G>V3?n5=I_@D2^z5t%sNhfZlpHS<28oI3Kci!%wAK!dCt`o+p@Tp(q-?nS_ z=6$_9Nkx~x!{y+%$E`1NJg2;9RQmO~@wnlP#ac;%bKl8Vsq?J#;!^PZ`}331mKDjK z0Uz$@%y<#q+qU&{$5A#})=L!@KGJJD1iNKQE-5_z=zc11>+$6mT;1DvuaFkV=pMYD5{u9w<}CtrdR?3WY?99?mJ)hdluSEKH7T&aINt9sRQ<;<19 PNMZ1F^>bP0l+XkK2WeT2 literal 0 HcmV?d00001 diff --git a/public/icons/docs/requirejs/SOURCE b/public/icons/docs/requirejs/SOURCE new file mode 100644 index 00000000..3ebf1b6e --- /dev/null +++ b/public/icons/docs/requirejs/SOURCE @@ -0,0 +1 @@ +http://requirejs.org/