From 76412b3fba0e7fc0738de023b5e35d9e4c5c5abf Mon Sep 17 00:00:00 2001 From: Thibaut Date: Sun, 22 Mar 2015 12:11:15 -0400 Subject: [PATCH] Add mocha documentation --- assets/images/icons.png | Bin 28320 -> 28401 bytes assets/images/icons@2x.png | Bin 75473 -> 75642 bytes assets/javascripts/news.json | 3 ++ .../templates/pages/about_tmpl.coffee | 5 +++ .../javascripts/views/pages/javascript.coffee | 1 + assets/stylesheets/global/_icons.scss | 1 + assets/stylesheets/pages/_base.scss | 3 +- lib/docs/filters/mocha/clean_html.rb | 15 ++++++++ lib/docs/filters/mocha/entries.rb | 34 ++++++++++++++++++ lib/docs/scrapers/mocha.rb | 23 ++++++++++++ public/icons/docs/mocha/16.png | Bin 0 -> 176 bytes public/icons/docs/mocha/16@2x.png | Bin 0 -> 270 bytes 12 files changed, 84 insertions(+), 1 deletion(-) create mode 100644 lib/docs/filters/mocha/clean_html.rb create mode 100644 lib/docs/filters/mocha/entries.rb create mode 100644 lib/docs/scrapers/mocha.rb create mode 100644 public/icons/docs/mocha/16.png create mode 100644 public/icons/docs/mocha/16@2x.png diff --git a/assets/images/icons.png b/assets/images/icons.png index 0ac4c714ddb33d1c5336e4306c93a10b28169bfa..10f469f51969b282187b6bb6d680d0f2d08ec035 100644 GIT binary patch delta 9417 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 P00000NkvXXu0mjf{=_yi delta 9336 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 =+FJ= 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

H8^@ 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 Y08`5v;<>B-2LJ#707*qoM6N<$f`0M>8UO$Q diff --git a/assets/javascripts/news.json b/assets/javascripts/news.json index b43ec46f..dfd65939 100644 --- a/assets/javascripts/news.json +++ b/assets/javascripts/news.json @@ -1,5 +1,8 @@ [ [ + "2015-03-22", + "New mocha documentation" + ], [ "2015-02-22", "Improved HTTP documentation", "New Minitest documentation" diff --git a/assets/javascripts/templates/pages/about_tmpl.coffee b/assets/javascripts/templates/pages/about_tmpl.coffee index ddb69f1c..791f2be6 100644 --- a/assets/javascripts/templates/pages/about_tmpl.coffee +++ b/assets/javascripts/templates/pages/about_tmpl.coffee @@ -225,6 +225,11 @@ credits = [ 'Ryan Davis, seattle.rb', 'MIT', 'https://raw.githubusercontent.com/seattlerb/minitest/master/README.txt' + ], [ + 'Mocha', + '2011-2015 TJ Holowaychuk', + 'MIT', + 'https://raw.githubusercontent.com/mochajs/mocha/master/LICENSE' ], [ 'Modernizr', '2009-2014 Modernizr', diff --git a/assets/javascripts/views/pages/javascript.coffee b/assets/javascripts/views/pages/javascript.coffee index 2cffbd49..00fc0ba6 100644 --- a/assets/javascripts/views/pages/javascript.coffee +++ b/assets/javascripts/views/pages/javascript.coffee @@ -20,6 +20,7 @@ app.views.ExpressPage = app.views.GruntPage = app.views.LodashPage = app.views.MarionettePage = +app.views.MochaPage = app.views.ModernizrPage = app.views.MomentPage = app.views.MongoosePage = diff --git a/assets/stylesheets/global/_icons.scss b/assets/stylesheets/global/_icons.scss index 088eb94a..033fdf0f 100644 --- a/assets/stylesheets/global/_icons.scss +++ b/assets/stylesheets/global/_icons.scss @@ -97,3 +97,4 @@ ._icon-lua:before { background-position: -3rem -7rem; @extend %darkIconFix !optional; } ._icon-clojure:before { background-position: -4rem -7rem; } ._icon-symfony:before { background-position: -5rem -7rem; } +._icon-mocha:before { background-position: -6rem -7rem; } diff --git a/assets/stylesheets/pages/_base.scss b/assets/stylesheets/pages/_base.scss index bdd55500..a544e8af 100644 --- a/assets/stylesheets/pages/_base.scss +++ b/assets/stylesheets/pages/_base.scss @@ -19,6 +19,7 @@ } ._lodash, -._sinon { +._sinon, +._mocha { @extend %simple; } diff --git a/lib/docs/filters/mocha/clean_html.rb b/lib/docs/filters/mocha/clean_html.rb new file mode 100644 index 00000000..7532cf53 --- /dev/null +++ b/lib/docs/filters/mocha/clean_html.rb @@ -0,0 +1,15 @@ +module Docs + class Mocha + class CleanHtmlFilter < Filter + def call + doc.child.remove until doc.child['id'] == 'installation' + + css('pre').each do |node| + node.content = node.content + end + + doc + end + end + end +end diff --git a/lib/docs/filters/mocha/entries.rb b/lib/docs/filters/mocha/entries.rb new file mode 100644 index 00000000..6dfb4bcd --- /dev/null +++ b/lib/docs/filters/mocha/entries.rb @@ -0,0 +1,34 @@ +module Docs + class Mocha + class EntriesFilter < Docs::EntriesFilter + ENTRIES = { + 'asynchronous-code' => ['done()'], + 'hooks' => ['before()', 'after()', 'beforeEach()', 'afterEach()', 'suiteSetup()', 'suiteTeardown()', 'setup()', 'teardown()'], + 'exclusive-tests' => ['only()'], + 'inclusive-tests' => ['skip()'], + 'usage' => ['mocha'], + 'bdd-interface' => ['describe()', 'context()', 'it()'], + 'tdd-interface' => ['suite()', 'test()'], + 'exports-interface' => ['exports'], + 'qunit-interface' => ['QUnit'], + 'require-interface' => ['require'], + 'browser-setup' => ['setup()'], + 'mocha.opts' => ['mocha.opts'], + 'suite-specific-timeouts' => ['timeout()'] + } + + def additional_entries + ENTRIES.each_with_object [] do |(id, names), entries| + type = case id + when 'hooks' then 'Hooks' + when /interface/ then 'Interfaces' + else 'Miscellaneous' end + + names.each do |name| + entries << [name, id, type] + end + end + end + end + end +end diff --git a/lib/docs/scrapers/mocha.rb b/lib/docs/scrapers/mocha.rb new file mode 100644 index 00000000..803c3aba --- /dev/null +++ b/lib/docs/scrapers/mocha.rb @@ -0,0 +1,23 @@ +module Docs + class Mocha < UrlScraper + self.name = 'mocha' + self.type = 'mocha' + self.version = '2.2.1' + self.base_url = 'http://mochajs.org/' + self.links = { + home: 'http://mochajs.org/', + code: 'https://github.com/mochajs/mocha' + } + + html_filters.push 'mocha/entries', 'mocha/clean_html', 'title' + + options[:container] = '#content' + options[:title] = 'mocha' + options[:skip_links] = true + + options[:attribution] = <<-HTML + © 2011–2015 TJ Holowaychuk
+ Licensed under the MIT License. + HTML + end +end diff --git a/public/icons/docs/mocha/16.png b/public/icons/docs/mocha/16.png new file mode 100644 index 0000000000000000000000000000000000000000..b78709df4d739e52592dee614148b0de1effc2ee GIT binary patch literal 176 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`<(@8%Ar_~T6Bd}g@Y(e2tyj^y zS6*fJuFQP%ho{9cXM%(W-}-0oMAX$6JYskFBhOyP5Y+7d+1_SW;t%;Y#f0?7+a(XH zYTRr5_0!%{Vg-95gT@38Q-&4n4_Q4tCZ{lX@PFl5aD!WfUFqmWk3y$KUO~&e(v;X4 Z7|!b_He9Ir7YcL&gQu&X%Q~loCIG7&KRN&a literal 0 HcmV?d00001 diff --git a/public/icons/docs/mocha/16@2x.png b/public/icons/docs/mocha/16@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..93e534d7a3872a1126d2394d25a4871db12683df GIT binary patch literal 270 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyx&b~Ru0Xmw#jQ8lr7O|3GsU?p z8G$-sY&c_XhtXP~2ELLYzhDMML;H}%eaCOyeDmq^uagsH1%NV5o-U3d6}Q$-_T+0& z;BigWaBjW#e}|e&V9T@oirf2^eBLPPtvG!W^Uc&7>MvF7TYaZAW*pm*{PSR5NBGPY z@`pF*JTUj3qPp?AK9|3~r|>0P`M{073b6~+SYkPRPwbj7JD_Bt!owELgozt`Ei_EB scIa%$t1x)+8o7wxD