Add Enzyme documentation

pull/882/head
Jasper van Merle 6 years ago
parent bec78bf6ed
commit 552b526509

@ -255,6 +255,11 @@ credits = [
'2017 Yehuda Katz, Tom Dale and Ember.js contributors',
'MIT',
'https://raw.githubusercontent.com/emberjs/ember.js/master/LICENSE'
], [
'Enzyme',
'2015 Airbnb, Inc.',
'MIT',
'https://raw.githubusercontent.com/airbnb/enzyme/master/LICENSE.md'
], [
'Erlang',
'2010-2017 Ericsson AB',

@ -0,0 +1,34 @@
module Docs
class Enzyme
class CleanHtmlFilter < Filter
def call
@doc = at_css('.page-inner > section')
# Clean headers
css('h1').each do |node|
node.content = node.content
end
# Make headers on reference pages bigger
if subpath.include?('ReactWrapper') || subpath.include?('ShallowWrapper')
css('h4').each do |node|
node.name = 'h2'
end
end
# Make code blocks detectable by Prism
css('pre').each do |node|
cls = node.at_css('code')['class']
unless cls.nil?
node['data-language'] = cls.split('-')[1]
end
node.content = node.content
end
doc
end
end
end
end

@ -0,0 +1,33 @@
module Docs
class Enzyme
class EntriesFilter < Docs::EntriesFilter
def get_name
name = at_css('.page-inner h1').content
if name.include?('(')
until_parenthesis = name[0..name.index('(')]
if until_parenthesis.include?(' ')
until_parenthesis[0..-3]
else
until_parenthesis + ')'
end
else
name
end
end
def get_type
active_level = at_css('.chapter.active')['data-level']
# It's a parent level if it contains only one dot
if active_level.count('.') == 1
at_css('.chapter.active > a').content
else
parent_level = active_level[0..active_level.rindex('.') - 1]
at_css(".chapter[data-level=\"#{parent_level}\"] > a").content
end
end
end
end
end

@ -0,0 +1,20 @@
module Docs
class Enzyme < UrlScraper
self.type = 'simple'
self.release = '3.6.0'
self.base_url = 'https://airbnb.io/enzyme/'
self.root_path = 'index.html'
self.links = {
code: 'https://github.com/airbnb/enzyme'
}
html_filters.push 'enzyme/entries', 'enzyme/clean_html'
options[:skip] = %w(CHANGELOG.html docs/future.html CONTRIBUTING.html)
options[:attribution] = <<-HTML
&copy; 2015 Airbnb, Inc.<br>
Licensed under the MIT License.
HTML
end
end
Loading…
Cancel
Save