diff --git a/assets/images/icons.png b/assets/images/icons.png index 3a1b610b..1a5f97e4 100644 Binary files a/assets/images/icons.png and b/assets/images/icons.png differ diff --git a/assets/images/icons@2x.png b/assets/images/icons@2x.png index 2ba54e2f..534dc4df 100644 Binary files a/assets/images/icons@2x.png and b/assets/images/icons@2x.png differ diff --git a/assets/javascripts/templates/pages/about_tmpl.coffee b/assets/javascripts/templates/pages/about_tmpl.coffee index fa13ae6c..7d009e9b 100644 --- a/assets/javascripts/templates/pages/about_tmpl.coffee +++ b/assets/javascripts/templates/pages/about_tmpl.coffee @@ -110,6 +110,11 @@ credits = [ '2014 Yehuda Katz, Tom Dale and Ember.js contributors', 'MIT', 'https://raw.github.com/emberjs/ember.js/master/LICENSE' + ], [ + 'Express', + '2009-2014 TJ Holowaychuk', + 'MIT', + 'https://raw.githubusercontent.com/visionmedia/express/master/LICENSE' ], [ 'Git', '2005-2014 Linus Torvalds and others', diff --git a/assets/javascripts/templates/pages/news_tmpl.coffee b/assets/javascripts/templates/pages/news_tmpl.coffee index 454d4f5e..61fd5e48 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 = [ - [ 1396742400000, # April 6, 2014 + [ 1399075200000, # May 3, 2014 + """ New Express documentation """, + ], [ + 1396742400000, # April 6, 2014 """ New Go documentation """, ], [ 1396137600000, # March 30, 2014 diff --git a/assets/javascripts/views/pages/express.coffee b/assets/javascripts/views/pages/express.coffee new file mode 100644 index 00000000..c26f106a --- /dev/null +++ b/assets/javascripts/views/pages/express.coffee @@ -0,0 +1,4 @@ +#= require views/pages/base +#= require views/pages/underscore + +app.views.ExpressPage = app.views.UnderscorePage diff --git a/assets/stylesheets/application.css.scss b/assets/stylesheets/application.css.scss index 6409e2a1..36cea34c 100644 --- a/assets/stylesheets/application.css.scss +++ b/assets/stylesheets/application.css.scss @@ -33,6 +33,7 @@ 'pages/coffeescript', 'pages/d3', 'pages/ember', + 'pages/express', 'pages/go', 'pages/jquery', 'pages/knockout', diff --git a/assets/stylesheets/global/_icons.scss b/assets/stylesheets/global/_icons.scss index bf2ee16c..f6eeb97c 100644 --- a/assets/stylesheets/global/_icons.scss +++ b/assets/stylesheets/global/_icons.scss @@ -53,3 +53,4 @@ ._icon-yii:before { background-position: -4rem -7rem; } ._icon-cpp:before { background-position: 0 -8rem; } ._icon-go:before { background-position: -1rem -8rem; } +._icon-express:before { background-position: -2rem -8rem; } diff --git a/assets/stylesheets/pages/_express.scss b/assets/stylesheets/pages/_express.scss new file mode 100644 index 00000000..9b388a9d --- /dev/null +++ b/assets/stylesheets/pages/_express.scss @@ -0,0 +1,8 @@ +._express { + padding-left: 1rem; + + h1, h2, h3 { margin-left: -1rem; } + h2 { @extend %block-heading; } + h3 { @extend %block-label, %label-blue; } + p > code { @extend %label; } +} diff --git a/lib/docs/filters/express/clean_html.rb b/lib/docs/filters/express/clean_html.rb new file mode 100644 index 00000000..4ad96619 --- /dev/null +++ b/lib/docs/filters/express/clean_html.rb @@ -0,0 +1,24 @@ +module Docs + class Express + class CleanHtmlFilter < Filter + def call + css('section').each do |node| + node.before(node.children).remove + end + + # Put id attributes on headings + css('h2 + a[name]').each do |node| + node.previous_element['id'] = node['name'] + node.remove + end + + # Remove code highlighting + css('pre').each do |node| + node.content = node.content + end + + doc + end + end + end +end diff --git a/lib/docs/filters/express/entries.rb b/lib/docs/filters/express/entries.rb new file mode 100644 index 00000000..55e81223 --- /dev/null +++ b/lib/docs/filters/express/entries.rb @@ -0,0 +1,21 @@ +module Docs + class Express + class EntriesFilter < Docs::EntriesFilter + def additional_entries + type = 'Application' + + doc.children.each_with_object [] do |node, entries| + if node.name == 'h2' + type = node.content + next + elsif node.name == 'h3' + name = node.content.strip + name.sub! %r{\(.+\)}, '()' + + entries << [name, node['id'], type] + end + end + end + end + end +end diff --git a/lib/docs/scrapers/express.rb b/lib/docs/scrapers/express.rb new file mode 100644 index 00000000..f6474bae --- /dev/null +++ b/lib/docs/scrapers/express.rb @@ -0,0 +1,19 @@ +module Docs + class Express < UrlScraper + self.name = 'Express' + self.type = 'express' + self.version = '4.1.1' + self.base_url = 'http://expressjs.com/4x/api.html' + + html_filters.push 'express/clean_html', 'express/entries', 'title' + + options[:title] = 'Express' + options[:container] = '#right' + options[:skip_links] = true + + options[:attribution] = <<-HTML + © 2009–2014 TJ Holowaychuk
+ Licensed under the MIT License. + HTML + end +end diff --git a/public/icons/docs/express/16.png b/public/icons/docs/express/16.png new file mode 100644 index 00000000..222fd388 Binary files /dev/null and b/public/icons/docs/express/16.png differ diff --git a/public/icons/docs/express/16@2x.png b/public/icons/docs/express/16@2x.png new file mode 100644 index 00000000..f1edfe4c Binary files /dev/null and b/public/icons/docs/express/16@2x.png differ