diff --git a/.gitignore b/.gitignore index 8b222826..9c439451 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,5 @@ public/fonts public/docs/**/* !public/docs/docs.json !public/docs/**/index.json +.idea +log diff --git a/assets/javascripts/templates/pages/about_tmpl.coffee b/assets/javascripts/templates/pages/about_tmpl.coffee index fef9a024..bc477a74 100644 --- a/assets/javascripts/templates/pages/about_tmpl.coffee +++ b/assets/javascripts/templates/pages/about_tmpl.coffee @@ -210,6 +210,11 @@ credits = [ '2010-2018 Michael Bostock', 'BSD', 'https://raw.githubusercontent.com/d3/d3/master/LICENSE' + ], [ + 'Dart', + '2012 the Dart project authors', + 'CC BY-SA', + 'https://creativecommons.org/licenses/by-sa/4.0/' ], [ 'Django', 'Django Software Foundation and individual contributors', diff --git a/assets/javascripts/vendor/prism.js b/assets/javascripts/vendor/prism.js index 3dc04a14..a99402d9 100644 --- a/assets/javascripts/vendor/prism.js +++ b/assets/javascripts/vendor/prism.js @@ -2113,3 +2113,27 @@ Prism.languages.yaml = { 'punctuation': /---|[:[\]{}\-,|>?]|\.\.\./ }; +Prism.languages.dart = Prism.languages.extend('clike', { + 'string': [ + { + pattern: /r?("""|''')[\s\S]*?\1/, + greedy: true + }, + { + pattern: /r?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/, + greedy: true + } + ], + 'keyword': [ + /\b(?:async|sync|yield)\*/, + /\b(?:abstract|assert|async|await|break|case|catch|class|const|continue|default|deferred|do|dynamic|else|enum|export|external|extends|factory|final|finally|for|get|if|implements|import|in|library|new|null|operator|part|rethrow|return|set|static|super|switch|this|throw|try|typedef|var|void|while|with|yield)\b/ + ], + 'operator': /\bis!|\b(?:as|is)\b|\+\+|--|&&|\|\||<<=?|>>=?|~(?:\/=?)?|[+\-*\/%&^|=!<>]=?|\?/ +}); + +Prism.languages.insertBefore('dart','function',{ + 'metadata': { + pattern: /@\w+/, + alias: 'symbol' + } +}); diff --git a/assets/stylesheets/application-dark.css.scss b/assets/stylesheets/application-dark.css.scss index 4500f90f..5d3dcac5 100644 --- a/assets/stylesheets/application-dark.css.scss +++ b/assets/stylesheets/application-dark.css.scss @@ -45,6 +45,7 @@ 'pages/crystal', 'pages/d', 'pages/d3', + 'pages/dart', 'pages/dojo', 'pages/drupal', 'pages/elixir', diff --git a/assets/stylesheets/application.css.scss b/assets/stylesheets/application.css.scss index f7321135..4d54b548 100644 --- a/assets/stylesheets/application.css.scss +++ b/assets/stylesheets/application.css.scss @@ -45,6 +45,7 @@ 'pages/crystal', 'pages/d', 'pages/d3', + 'pages/dart', 'pages/dojo', 'pages/drupal', 'pages/elixir', diff --git a/assets/stylesheets/pages/_dart.scss b/assets/stylesheets/pages/_dart.scss new file mode 100644 index 00000000..87159057 --- /dev/null +++ b/assets/stylesheets/pages/_dart.scss @@ -0,0 +1,12 @@ +._dart { + @extend %simple; + + dl:not(.dl-horizontal) dt, .multi-line-signature { + @extend %note, %note-blue; + padding: 1px 0.5rem 2px 0.5rem; + + .features { + float: right; + } + } +} diff --git a/lib/docs/filters/dart/clean_html.rb b/lib/docs/filters/dart/clean_html.rb new file mode 100644 index 00000000..6032a994 --- /dev/null +++ b/lib/docs/filters/dart/clean_html.rb @@ -0,0 +1,32 @@ +module Docs + class Dart + class CleanHtmlFilter < Filter + def call + # Move the title into the main content node in the v1 docs + title = at_css('h1.title') + unless title.nil? + name = title.children.last.content.strip + kind = title.at_css('.kind').content + at_css('.main-content').prepend_child("