diff --git a/assets/images/icons.png b/assets/images/icons.png index 5340b31d..ee772616 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 814076d1..e4ec763a 100644 Binary files a/assets/images/icons@2x.png and b/assets/images/icons@2x.png differ diff --git a/assets/javascripts/news.json b/assets/javascripts/news.json index b5f0aca4..0ff676c6 100644 --- a/assets/javascripts/news.json +++ b/assets/javascripts/news.json @@ -1,6 +1,6 @@ [ [ "2015-02-15", - "New io.js and Yii 1.1 documentations" + "New io.js, Lua and Yii 1.1 documentations" ], [ "2015-02-08", "New dark theme\nClick the icon in the bottom left corner to activate.\nFeedback welcome :)" diff --git a/assets/javascripts/templates/pages/about_tmpl.coffee b/assets/javascripts/templates/pages/about_tmpl.coffee index a5818880..89aeb866 100644 --- a/assets/javascripts/templates/pages/about_tmpl.coffee +++ b/assets/javascripts/templates/pages/about_tmpl.coffee @@ -200,6 +200,11 @@ credits = [ '2012-2015 The Dojo Foundation', 'MIT', 'https://raw.github.com/lodash/lodash/master/LICENSE.txt' + ], [ + 'Lua', + '1994–2015 Lua.org, PUC-Rio', + 'MIT', + 'http://www.lua.org/license.html' ], [ 'Marionette.js', '2014 Muted Solutions, LLC', diff --git a/assets/stylesheets/application-dark.css.scss b/assets/stylesheets/application-dark.css.scss index a8a4d877..b7818aee 100644 --- a/assets/stylesheets/application-dark.css.scss +++ b/assets/stylesheets/application-dark.css.scss @@ -46,6 +46,7 @@ 'pages/laravel', 'pages/less', 'pages/lodash', + 'pages/lua', 'pages/marionette', 'pages/markdown', 'pages/maxcdn', diff --git a/assets/stylesheets/application.css.scss b/assets/stylesheets/application.css.scss index 9e246856..5ae93479 100644 --- a/assets/stylesheets/application.css.scss +++ b/assets/stylesheets/application.css.scss @@ -46,6 +46,7 @@ 'pages/laravel', 'pages/less', 'pages/lodash', + 'pages/lua', 'pages/marionette', 'pages/markdown', 'pages/maxcdn', diff --git a/assets/stylesheets/global/_icons.scss b/assets/stylesheets/global/_icons.scss index e5662b40..171fa2e4 100644 --- a/assets/stylesheets/global/_icons.scss +++ b/assets/stylesheets/global/_icons.scss @@ -86,3 +86,4 @@ %icon-light { background-position: 0 -14rem; } %icon-light-white { background-position: -1rem -14rem; } ._icon-iojs:before { background-position: -2rem -14rem; } +._icon-lua:before { background-position: -3rem -14rem; } diff --git a/assets/stylesheets/pages/_lua.scss b/assets/stylesheets/pages/_lua.scss new file mode 100644 index 00000000..2d8a7897 --- /dev/null +++ b/assets/stylesheets/pages/_lua.scss @@ -0,0 +1,10 @@ +._lua { + padding-left: 1rem; + + h1, h2 { margin-left: -1rem; } + h2 { @extend %block-heading; } + h3 { @extend %block-label, %label-blue; } + h4 { font-size: inherit; } + + .apii { float: right; } +} diff --git a/lib/docs/filters/lua/clean_html.rb b/lib/docs/filters/lua/clean_html.rb new file mode 100644 index 00000000..d6be3d12 --- /dev/null +++ b/lib/docs/filters/lua/clean_html.rb @@ -0,0 +1,31 @@ +module Docs + class Lua + class CleanHtmlFilter < Filter + def call + css('hr', 'h1 img', '.footer').remove + + css('[name]').each do |node| + node['id'] = node['name'] + node.remove_attribute('name') + end + + css('h1 > a[id]', 'h2 > a[id]', 'h3 > a[id]').each do |node| + node.parent['id'] = node['id'] + node.before(node.children).remove + end + + 3.times { at_css('h1[id="1"]').previous_element.remove } + + css('.apii').each do |node| + node.parent.previous_element << node + end + + css('pre').each do |node| + node.content = node.content.remove(/\A\s*\n/).rstrip.strip_heredoc + end + + doc + end + end + end +end diff --git a/lib/docs/filters/lua/entries.rb b/lib/docs/filters/lua/entries.rb new file mode 100644 index 00000000..502ad757 --- /dev/null +++ b/lib/docs/filters/lua/entries.rb @@ -0,0 +1,29 @@ +module Docs + class Lua + class EntriesFilter < Docs::EntriesFilter + def additional_entries + type = nil + + doc.children.each_with_object [] do |node, entries| + if node.name == 'h1' + type = node.content.strip + type.remove! %r{.+\u{2013}\s+} + type.remove! 'The ' + type = 'API' if type == 'Application Program Interface' + end + + next if type && type.include?('Incompatibilities') + next if node.name == 'h2' && type.in?(%w(API Auxiliary\ Library Standard\ Libraries)) + + if node.name == 'h2' || node.name == 'h3' + name = node.content + name.remove! %r{.+\u{2013}\s+} + name.remove! %r{\[.+\]} + name.gsub! %r{\s+\(.*\)}, '()' + entries << [name, node['id'], type] + end + end + end + end + end +end diff --git a/lib/docs/scrapers/lua.rb b/lib/docs/scrapers/lua.rb new file mode 100644 index 00000000..81ad81c5 --- /dev/null +++ b/lib/docs/scrapers/lua.rb @@ -0,0 +1,17 @@ +module Docs + class Lua < UrlScraper + self.type = 'lua' + self.version = '5.3' + self.base_url = 'http://www.lua.org/manual/5.3/' + self.root_path = 'manual.html' + + html_filters.push 'lua/clean_html', 'lua/entries' + + options[:skip_links] = true + + options[:attribution] = <<-HTML + © 1994–2015 Lua.org, PUC-Rio.
+ Licensed under the MIT License. + HTML + end +end diff --git a/public/icons/docs/lua/16.png b/public/icons/docs/lua/16.png new file mode 100644 index 00000000..86c695f8 Binary files /dev/null and b/public/icons/docs/lua/16.png differ diff --git a/public/icons/docs/lua/16@2x.png b/public/icons/docs/lua/16@2x.png new file mode 100644 index 00000000..6a2ea4db Binary files /dev/null and b/public/icons/docs/lua/16@2x.png differ diff --git a/public/icons/docs/lua/SOURCE b/public/icons/docs/lua/SOURCE new file mode 100644 index 00000000..75627919 --- /dev/null +++ b/public/icons/docs/lua/SOURCE @@ -0,0 +1 @@ +http://lua-users.org/wiki/LuaLogo