diff --git a/assets/images/icons.png b/assets/images/icons.png index 6ae6b697..e1d524af 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 17f5bd0e..edc05b05 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 2479f574..5828cd57 100644 --- a/assets/javascripts/templates/pages/about_tmpl.coffee +++ b/assets/javascripts/templates/pages/about_tmpl.coffee @@ -192,6 +192,11 @@ credits = [ '2009-2014 The Dojo Foundation', 'MIT', 'https://raw.github.com/lodash/lodash/master/LICENSE.txt' + ], [ + 'Marionette.js', + '2014 Muted Solutions, LLC', + 'MIT', + 'http://mutedsolutions.mit-license.org/' ], [ 'Markdown', '2004 John Gruber', diff --git a/assets/javascripts/templates/pages/news_tmpl.coffee b/assets/javascripts/templates/pages/news_tmpl.coffee index 3368fd0f..cac5eaf4 100644 --- a/assets/javascripts/templates/pages/news_tmpl.coffee +++ b/assets/javascripts/templates/pages/news_tmpl.coffee @@ -34,7 +34,7 @@ newsItem = (date, news) -> app.news = [ [ 1413676800000, # October 19, 2014 - """ New SVG documentation """, + """ New SVG and Marionette.js documentations """, ], [ 1413590400000, # October 18, 2014 """ New nginx documentation """, diff --git a/assets/javascripts/views/pages/marionette.coffee b/assets/javascripts/views/pages/marionette.coffee new file mode 100644 index 00000000..ea7d3a3f --- /dev/null +++ b/assets/javascripts/views/pages/marionette.coffee @@ -0,0 +1,4 @@ +#= require views/pages/base +#= require views/pages/underscore + +app.views.MarionettePage = app.views.UnderscorePage diff --git a/assets/stylesheets/application.css.scss b/assets/stylesheets/application.css.scss index 3eeb2919..9ce677c5 100644 --- a/assets/stylesheets/application.css.scss +++ b/assets/stylesheets/application.css.scss @@ -45,6 +45,7 @@ 'pages/laravel', 'pages/less', 'pages/lodash', + 'pages/marionette', 'pages/markdown', 'pages/maxcdn', 'pages/mdn', diff --git a/assets/stylesheets/global/_icons.scss b/assets/stylesheets/global/_icons.scss index 4cf1a85a..34e29200 100644 --- a/assets/stylesheets/global/_icons.scss +++ b/assets/stylesheets/global/_icons.scss @@ -67,3 +67,4 @@ ._icon-xpath:before { background-position: -3rem -10rem; } ._icon-nginx:before { background-position: -4rem -10rem; } ._icon-svg:before { background-position: 0 -11rem; } +._icon-marionette:before { background-position: -1rem -11rem; } diff --git a/assets/stylesheets/pages/_marionette.scss b/assets/stylesheets/pages/_marionette.scss new file mode 100644 index 00000000..c76c50cd --- /dev/null +++ b/assets/stylesheets/pages/_marionette.scss @@ -0,0 +1,7 @@ +._marionette { + padding-left: 1rem; + + > h1, > h2 { margin-left: -1rem; } + > h2 { @extend %block-heading; } + > h3 { @extend %block-label, %label-blue; } +} diff --git a/lib/docs/filters/marionette/clean_html.rb b/lib/docs/filters/marionette/clean_html.rb new file mode 100644 index 00000000..e1337dd5 --- /dev/null +++ b/lib/docs/filters/marionette/clean_html.rb @@ -0,0 +1,30 @@ +module Docs + class Marionette + class CleanHtmlFilter < Filter + def call + root_page? ? root : other + doc + end + + def root + at_css('p').remove + end + + def other + css('#source + h2', '#improve', '#source', '.glyphicon').remove + + css('pre > code').each do |node| + node.before(node.children).remove + end + + css('h2', 'h3').each do |node| + id = node.content.strip + id.downcase! + id.remove! %r{['"\/\.:]} + id.gsub! %r{[\ _]}, '-' + node['id'] = id + end + end + end + end +end diff --git a/lib/docs/filters/marionette/entries.rb b/lib/docs/filters/marionette/entries.rb new file mode 100644 index 00000000..37cad2e8 --- /dev/null +++ b/lib/docs/filters/marionette/entries.rb @@ -0,0 +1,12 @@ +module Docs + class Marionette + class EntriesFilter < Docs::EntriesFilter + def get_name + name = at_css('h1').content.strip + name.remove!(/Marionette./) + name = name[0].upcase + name.from(1) + name + end + end + end +end diff --git a/lib/docs/scrapers/marionette.rb b/lib/docs/scrapers/marionette.rb new file mode 100644 index 00000000..e8311cc2 --- /dev/null +++ b/lib/docs/scrapers/marionette.rb @@ -0,0 +1,27 @@ +module Docs + class Marionette < UrlScraper + self.name = 'Marionette.js' + self.slug = 'marionette' + self.type = 'marionette' + self.version = '2.2.1' + self.base_url = 'http://marionettejs.com/docs/' + self.root_path = 'current' + + html_filters.push 'marionette/clean_html', 'marionette/entries' + + options[:container] = '#content' + + options[:skip] = %w(/readme.html) + options[:skip_patterns] = [/\A\/v\d/] + + options[:fix_urls] = ->(url) do + url.sub! %r{marionette([^\/#\?]*)\.md}, 'marionette\1' + url + end + + options[:attribution] = <<-HTML + © 2014 Muted Solutions, LLC
+ Licensed under the MIT License. + HTML + end +end diff --git a/public/icons/docs/marionette/16.png b/public/icons/docs/marionette/16.png new file mode 100644 index 00000000..01df077f Binary files /dev/null and b/public/icons/docs/marionette/16.png differ diff --git a/public/icons/docs/marionette/16@2x.png b/public/icons/docs/marionette/16@2x.png new file mode 100644 index 00000000..c1269e03 Binary files /dev/null and b/public/icons/docs/marionette/16@2x.png differ diff --git a/public/icons/docs/marionette/SOURCE b/public/icons/docs/marionette/SOURCE new file mode 100644 index 00000000..a5d77e17 --- /dev/null +++ b/public/icons/docs/marionette/SOURCE @@ -0,0 +1 @@ +https://github.com/marionettejs/marionettejs.com