浏览代码

Add Chai documentation

Thibaut 11 年之前
父节点
当前提交
46f6db4a90

二进制
assets/images/icons.png


二进制
assets/images/icons@2x.png


+ 5 - 0
assets/javascripts/templates/pages/about_tmpl.coffee

@@ -90,6 +90,11 @@ credits = [
     'cppreference.com',
     'CC BY-SA',
     'http://en.cppreference.com/w/Cppreference:Copyright/CC-BY-SA'
+  ], [
+    'Chai',
+    '2011-2014 Jake Luer',
+    'MIT',
+    'https://github.com/chaijs/chai/blob/master/README.md#license'
   ], [
     'CoffeeScript',
     '2009-2014 Jeremy Ashkenas',

+ 4 - 1
assets/javascripts/templates/pages/news_tmpl.coffee

@@ -24,7 +24,10 @@ newsItem = (date, news) ->
   result
 
 app.news = [
-  [ 1402790400000, # June 15, 2014
+  [ 1404172800000, # July 1, 2014
+    """ New <a href="/chai/">Chai</a> documentation """,
+  ], [
+    1402790400000, # June 15, 2014
     """ New <a href="/requirejs/">RequireJS</a> documentation """,
   ], [
     1402704000000, # June 14, 2014

+ 4 - 0
assets/javascripts/views/pages/chai.coffee

@@ -0,0 +1,4 @@
+#= require views/pages/base
+#= require views/pages/underscore
+
+app.views.ChaiPage = app.views.UnderscorePage

+ 1 - 0
assets/stylesheets/application.css.scss

@@ -30,6 +30,7 @@
 
 @import 'pages/angular',
         'pages/c',
+        'pages/chai',
         'pages/coffeescript',
         'pages/d3',
         'pages/ember',

+ 1 - 0
assets/stylesheets/global/_icons.scss

@@ -59,3 +59,4 @@
 ._icon-laravel:before       { background-position: 0 -9rem; }
 ._icon-haskell:before       { background-position: -1rem -9rem; }
 ._icon-requirejs:before     { background-position: -2rem -9rem; }
+._icon-chai:before          { background-position: -3rem -9rem; }

+ 13 - 0
assets/stylesheets/pages/_chai.scss

@@ -0,0 +1,13 @@
+._chai {
+  padding-left: 1rem;
+
+  > h1, > h2, h3 { margin-left: -1rem; }
+  > h2 { @extend %block-heading; }
+  h3 { @extend %block-label, %label-blue; }
+  h4 { font-size: 1em; }
+
+  code { @extend %label; }
+  blockquote { @extend %note; }
+
+  li.tag span { margin-right: 5px; }
+}

+ 24 - 0
lib/docs/filters/chai/clean_html.rb

@@ -0,0 +1,24 @@
+module Docs
+  class Chai
+    class CleanHtmlFilter < Filter
+      def call
+        @doc = at_css('.documentation .rendered')
+
+        if root_page?
+          at_css('h1').content = 'Chai Assertion Library'
+        end
+
+        css('> article', '.header').each do |node|
+          node.before(node.children).remove
+        end
+
+        # Remove code highlighting
+        css('pre').each do |node|
+          node.content = node.content
+        end
+
+        doc
+      end
+    end
+  end
+end

+ 22 - 0
lib/docs/filters/chai/entries.rb

@@ -0,0 +1,22 @@
+module Docs
+  class Chai
+    class EntriesFilter < Docs::EntriesFilter
+      def get_name
+        at_css('h1').content
+      end
+
+      def get_type
+        subpath.start_with?('/guide') ? 'Guides' : nil
+      end
+
+      def additional_entries
+        css('.antiscroll-inner a').each_with_object [] do |node, entries|
+          id = node['href'].remove('#') + '-section'
+          node.content.strip.split(' / ').uniq { |name| name.downcase }.each do |name|
+            entries << [name, id, self.name]
+          end
+        end
+      end
+    end
+  end
+end

+ 23 - 0
lib/docs/scrapers/chai.rb

@@ -0,0 +1,23 @@
+module Docs
+  class Chai < UrlScraper
+    self.name = 'Chai'
+    self.type = 'chai'
+    self.version = '1.9.1'
+    self.base_url = 'http://chaijs.com'
+    self.root_path = '/api/'
+    self.initial_paths = %w(/guide/installation/)
+
+    html_filters.push 'chai/entries', 'chai/clean_html'
+
+    options[:container] = '#content'
+    options[:trailing_slash] = true
+
+    options[:only_patterns] = [/\A\/guide/, /\A\/api/]
+    options[:skip] = %w(/api/test/ /guide/ /guide/resources/)
+
+    options[:attribution] = <<-HTML
+      &copy; 2011&ndash;2014 Jake Luer<br>
+      Licensed under the MIT License.
+    HTML
+  end
+end

二进制
public/icons/docs/chai/16.png


二进制
public/icons/docs/chai/16@2x.png


+ 1 - 0
public/icons/docs/chai/SOURCE

@@ -0,0 +1 @@
+http://chaijs.com/