History

Update JavaScript documentation

Closes #332.

Thibaut Courouble committed 10 years ago

Commit 35df0411 parent 28e693d3 files · +22 −6Browse files

Unified · Split

3 files
  1. lib/docs/filters/javascript/entries.rb +15 −3
  2. lib/docs/filters/mdn/clean_html.rb +2 −1
  3. lib/docs/scrapers/mdn/javascript.rb +5 −2
lib/docs/filters/javascript/entries.rb+15−3
@@ -1,15 +1,16 @@
1module Docs1module Docs
2 class Javascript2 class Javascript
3 class EntriesFilter < Docs::EntriesFilter3 class EntriesFilter < Docs::EntriesFilter
4 TYPES = %w(Array ArrayBuffer Boolean DataView Date Function Intl JSON Map4 TYPES = %w(Array ArrayBuffer Atomics Boolean DataView Date Function
5 Math Number Object Promise RegExp Set SIMD String Symbol TypedArray5 Generator Intl JSON Map Math Number Object Promise Reflect RegExp
6 WeakMap WeakSet)6 Set SharedArrayBuffer SIMD String Symbol TypedArray WeakMap WeakSet)
7 INTL_OBJECTS = %w(Collator DateTimeFormat NumberFormat)7 INTL_OBJECTS = %w(Collator DateTimeFormat NumberFormat)
8 8
9 def get_name9 def get_name
10 if slug.start_with? 'Global_Objects/'10 if slug.start_with? 'Global_Objects/'
11 name, method, *rest = *slug.sub('Global_Objects/', '').split('/')11 name, method, *rest = *slug.sub('Global_Objects/', '').split('/')
12 name.prepend 'Intl.' if INTL_OBJECTS.include?(name)12 name.prepend 'Intl.' if INTL_OBJECTS.include?(name)
13 name.prepend 'SIMD.' if html.include?("SIMD.#{name}")
13 14
14 if method15 if method
15 unless method == method.upcase || method == 'NaN'16 unless method == method.upcase || method == 'NaN'
@@ -18,6 +19,15 @@ module Docs · 2 unmodified lines
18 name << ".#{([method] + rest).join('.')}"19 name << ".#{([method] + rest).join('.')}"
19 end20 end
20 21
22 if name.exclude?('.prototype')
23 path = name.split('.')
24 if ((node = at_css('.syntaxbox') || at_css('code')) && node.content =~ /(?:\s|\A)[a-z\_][a-zA-Z\_]+\.#{path.last}/) ||
25 ((node = at_css('.standard-table')) && node.content =~ /\.prototype[\[\.]#{path.last}/)
26 path[-2] = path[-2][0].downcase + path[-2][1..-1]
27 name = path.join('.')
28 end
29 end
30
21 name31 name
22 else32 else
23 name = super33 name = super
@@ -45,6 +55,8 @@ module Docs · 21 unmodified lines
45 'Errors'55 'Errors'
46 elsif INTL_OBJECTS.include?(object)56 elsif INTL_OBJECTS.include?(object)
47 'Intl'57 'Intl'
58 elsif name.start_with?('SIMD')
59 'SIMD'
48 elsif method || TYPES.include?(object)60 elsif method || TYPES.include?(object)
49 object61 object
50 else62 else
lib/docs/filters/mdn/clean_html.rb+2−1
@@ -7,7 +7,8 @@ module Docs · 6 unmodified lines
7 '.breadcrumbs', # (e.g. CSS/animation)7 '.breadcrumbs', # (e.g. CSS/animation)
8 '.Quick_links', # (e.g. CSS/animation)8 '.Quick_links', # (e.g. CSS/animation)
9 '.todo',9 '.todo',
10 '.draftHeader']10 '.draftHeader',
11 '.hidden']
11 12
12 def call13 def call
13 css(*REMOVE_NODES).remove14 css(*REMOVE_NODES).remove
lib/docs/scrapers/mdn/javascript.rb+5−2
@@ -12,7 +12,6 @@ module Docs · 11 unmodified lines
12 /About12 /About
13 /Code_comments13 /Code_comments
14 /Deprecated_Features14 /Deprecated_Features
15 /Deprecated_and_obsolete_features
16 /Functions_and_function_scope15 /Functions_and_function_scope
17 /Global_Objects/Iterator16 /Global_Objects/Iterator
18 /Global_Objects/Proxy17 /Global_Objects/Proxy
@@ -35,7 +34,11 @@ module Docs · 16 unmodified lines
35 /Operators34 /Operators
36 /Statements)35 /Statements)
37 36
38 options[:skip_patterns] = [/additional_examples/i, /noSuchMethod/i]37 options[:skip_patterns] = [
38 /additional_examples/i,
39 /noSuchMethod/i,
40 /Deprecated_and_obsolete_features/
41 ]
39 42
40 options[:fix_urls] = ->(url) do43 options[:fix_urls] = ->(url) do
41 url.sub! 'https://developer.mozilla.org/en-US/docs/JavaScript/Reference', Javascript.base_url44 url.sub! 'https://developer.mozilla.org/en-US/docs/JavaScript/Reference', Javascript.base_url