From 81c9bfa874b175d61436bc882049cb2921304d8f Mon Sep 17 00:00:00 2001 From: Thibaut Date: Sun, 15 Feb 2015 11:20:48 -0500 Subject: [PATCH] Add Lua documentation --- assets/images/icons.png | Bin 27303 -> 27382 bytes assets/images/icons@2x.png | Bin 69573 -> 70304 bytes assets/javascripts/news.json | 2 +- .../templates/pages/about_tmpl.coffee | 5 +++ assets/stylesheets/application-dark.css.scss | 1 + assets/stylesheets/application.css.scss | 1 + assets/stylesheets/global/_icons.scss | 1 + assets/stylesheets/pages/_lua.scss | 10 ++++++ lib/docs/filters/lua/clean_html.rb | 31 ++++++++++++++++++ lib/docs/filters/lua/entries.rb | 29 ++++++++++++++++ lib/docs/scrapers/lua.rb | 17 ++++++++++ public/icons/docs/lua/16.png | Bin 0 -> 154 bytes public/icons/docs/lua/16@2x.png | Bin 0 -> 814 bytes public/icons/docs/lua/SOURCE | 1 + 14 files changed, 97 insertions(+), 1 deletion(-) create mode 100644 assets/stylesheets/pages/_lua.scss create mode 100644 lib/docs/filters/lua/clean_html.rb create mode 100644 lib/docs/filters/lua/entries.rb create mode 100644 lib/docs/scrapers/lua.rb create mode 100644 public/icons/docs/lua/16.png create mode 100644 public/icons/docs/lua/16@2x.png create mode 100644 public/icons/docs/lua/SOURCE diff --git a/assets/images/icons.png b/assets/images/icons.png index 5340b31ddf4e8c903ac334b069121c5207256512..ee77261617939fe15497e5e7cb4ef9c0dfb60fd0 100644 GIT binary patch delta 8563 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

C7h#rKsX@mS2`H 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 delta 8498 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 diff --git a/assets/images/icons@2x.png b/assets/images/icons@2x.png index 814076d150e4f5978122492aa647f94250d1bedf..e4ec763a8e1cf65d9846db62dcacd92da6cf3968 100644 GIT binary patch delta 8059 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 JPDHLkV1lx|gzW$T delta 7323 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 B7={1< 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 0000000000000000000000000000000000000000..86c695f848247e65c0f742d1d0c539338f99ec91 GIT binary patch literal 154 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`iJmTwAr-fdP7LHaV8G#QyUYD^ znk<*nm)@ywmNzzNbh7!ny670|hv_ap;@r2F{qP%EUX2=aCzdYFtdzNbPPpc+kTc3= z+wo}5Zo|_F3ZM2d{@0(l{?BgN@E5l;7jSp279<~K&8H1;*pUXO@geCxY C>^B(z literal 0 HcmV?d00001 diff --git a/public/icons/docs/lua/16@2x.png b/public/icons/docs/lua/16@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..6a2ea4dba75fe14f0aa25998554c8d069a6ad1db GIT binary patch literal 814 zcmV+}1JV46P)_IT9u;c(jg-cj{{UGlcJ8M?8tMf0(~zC{y>>D;>CuU;U9 zK$0NNLT86umeX`)RZ4&)rQ`{P?V%uqQmkY9N zCYY7sg3|)r?&KS*@q5{60XXO`8j|ll97cXRMb2@sseAqCqX1(&<5MfUfLw(C2Sou9 zl`cBq{X#P^?CHFQG zxpsh*fsR_iYDyWS{$CN|@TWg8<4HRuID}D%}IsgCw07*qoM6N<$g2!xyV*mgE literal 0 HcmV?d00001 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