Add Sequelize documentation

pull/1107/head
Waldir Pimenta 5 years ago
parent dd0cc071dc
commit 2bdf3a05d0

@ -701,6 +701,11 @@ credits = [
'2010-2018 Christian Johansen',
'BSD',
'https://raw.githubusercontent.com/sinonjs/sinon/master/LICENSE'
], [
'Sequelize',
'2014—present Sequelize contributors',
'MIT',
'https://raw.githubusercontent.com/sequelize/sequelize/master/LICENSE'
], [
'Socket.io',
'2014-2015 Automattic',

@ -0,0 +1,33 @@
module Docs
class Sequelize
class CleanHtmlFilter < Filter
def call
# Clean up the home page
if root_page?
# Remove logo
css('.manual-user-index > div > div.logo').remove
# Convert title to proper H1 element
at_css('.manual-user-index > div > div.sequelize').name = 'h1'
# Remove badges (NPM, Travis, test coverage, etc.)
css('.manual-user-index > p:nth-child(4)').remove
# Remove image cards pointing to entries of the manual
css('.manual-cards').remove
end
# Add syntax highlighting to code blocks
css('pre > code[class^="lang-"]').each do |node|
pre = node.parent
# Convert the existing language definitions to Prism-compatible attributes
pre['data-language'] = 'javascript' if node['class'] == 'lang-js' || node['class'] == 'lang-javascript'
pre['data-language'] = 'json' if node['class'] == 'lang-json'
pre['data-language'] = 'shell' if node['class'] == 'lang-sh' || node['class'] == 'lang-bash'
pre['data-language'] = 'sql' if node['class'] == 'lang-sql'
pre['data-language'] = 'typescript' if node['class'] == 'lang-ts'
end
# Return the cleaned-up document
doc
end
end
end
end

@ -0,0 +1,26 @@
module Docs
class Sequelize
class EntriesFilter < Docs::EntriesFilter
# Use the main title as the page name
def get_name
at_css('h1').text
end
# Assign the pages to main categories
def get_type
if path.start_with?('manual/')
type = 'Manual'
elsif path.start_with?('file/lib/')
type = 'Source files'
else
# API Reference pages. The `path` for most of these starts with 'class/lib/',
# but there's also 'variable/index' (pseudo-classes), and 'identifiers' (the main index)
# so we use an unqualified `else` as a catch-all.
type = 'Reference'
end
type
end
end
end
end

@ -0,0 +1,30 @@
module Docs
class Sequelize < UrlScraper
self.name = 'Sequelize'
self.slug = 'sequelize'
self.type = 'simple'
self.release = '5.19.6'
self.base_url = 'https://sequelize.org/master/'
self.links = {
home: 'https://sequelize.org/',
code: 'https://github.com/sequelize/sequelize/'
}
# List of content filters (to be applied sequentially)
html_filters.push 'sequelize/entries', 'sequelize/clean_html'
# Wrapper element that holds the main content
options[:container] = '.content'
# License information that appears appears at the bottom of the entry page
options[:attribution] = <<-HTML
Copyright &copy; 2014&ndash;present Sequelize contributors<br>
Licensed under the MIT License.
HTML
# Method to fetch the most recent version of the project
def get_latest_version(opts)
get_npm_version('sequelize', opts)
end
end
end

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

@ -0,0 +1 @@
https://github.com/sequelize/sequelize/blob/master/docs/images/logo.png
Loading…
Cancel
Save