Update JavaScript documentation

Fixes #9
pull/29/head
Thibaut 11 years ago
parent da165074a3
commit 33bf960846

@ -7,15 +7,12 @@ module Docs
end
def root
css(*%w(#About_this_Reference+div #About_this_Reference
#Typed_array_constructors+ul #Typed_array_constructors
#Internationalization_constructors+ul #Internationalization_constructors
#Comments~* #Comments)).remove
css(*%w(#About_this_Reference+div #About_this_Reference #Comments~* #Comments)).remove
# Move "Global Objects" lists to the same level as the other ones
div = at_css '#Global_Objects + div'
div.css('h3').each { |node| node.name = 'h2' }
at_css('#Global_Objects').replace(div)
at_css('#Global_Objects').replace(div.children)
# Remove heading links
css('h2 > a').each do |node|
@ -25,9 +22,15 @@ module Docs
end
def other
# Remove "style" attribute
css('.inheritsbox', '.overheadIndicator').each do |node|
node.remove_attribute 'style'
end
# Remove <div> wrapping .overheadIndicator
css('div > .overheadIndicator:first-child:last-child').each do |node|
node.parent.replace(node)
end
end
end
end

@ -1,28 +1,17 @@
module Docs
class Javascript
class EntriesFilter < Docs::EntriesFilter
TYPES = %w(Array Boolean Date Function JSON Math Number Object RegExp String)
ADDITIONAL_ENTRIES = {
'operators/arithmetic_operators' => [
%w(++ .2B.2B_.28Increment.29),
%w(-- --_.28Decrement.29) ],
'operators/bitwise_operators' => [
%w(& .26_(Bitwise_AND)),
%w(| .7C_(Bitwise_OR)),
%w(^ .5E_(Bitwise_XOR)),
%w(~ .7E_(Bitwise_NOT)),
%w(<< <<_(Left_shift)),
%w(>> >>_(Sign-propagating_right_shift)),
%w(>>> >>>_(Zero-fill_right_shift)) ]}
TYPES = %w(Array Boolean Date Function Intl JSON Math Number Object RegExp String)
INTL_OBJECTS = %w(Collator DateTimeFormat NumberFormat)
def get_name
if slug.start_with? 'Global_Objects/'
name, method = *slug.sub('Global_Objects/', '').split('/')
name.prepend 'Intl.' if INTL_OBJECTS.include?(name)
if method
unless method == method.upcase || method == 'NaN'
method = method[0].downcase + method[1..-1] # e.g. Constructor => constructor
method = method[0].downcase + method[1..-1] # e.g. Trim => trim
end
name << ".#{method}"
end
@ -48,16 +37,26 @@ module Docs
object, method = *slug.sub('Global_Objects/', '').split('/')
if object.end_with? 'Error'
'Errors'
elsif INTL_OBJECTS.include?(object)
'Intl'
elsif method || TYPES.include?(object)
object
else
'Global Objects'
end
else
'Miscellaneous'
end
end
def additional_entries
ADDITIONAL_ENTRIES[slug] || []
def include_default_entry?
node = doc.at_css '.overheadIndicator'
# Can't use :first-child because #doc is a DocumentFragment
return true unless node && node.parent == doc && !node.previous_element
!node.content.include?('not on a standards track') &&
!node.content.include?('removed from the Web')
end
end
end

@ -14,18 +14,12 @@ module Docs
/Deprecated_Features
/Deprecated_and_obsolete_features
/Functions_and_function_scope
/Functions_and_function_scope/Strict_mode
/Global_Objects/Iterator
/Global_Objects/Number/toInteger
/Global_Objects/ParallelArray
/Global_Objects/Proxy
/Global_Objects/uneval
/Reserved_Words
/arrow_functions
/rest_parameters)
options[:skip_patterns] = [/Intl/, /Collator/, /DateTimeFormat/, /NumberFormat/]
# Duplicates
options[:skip].concat %w(
/Global_Objects

Loading…
Cancel
Save