mirror of https://github.com/freeCodeCamp/devdocs
parent
1412517869
commit
562463b112
@ -1,8 +0,0 @@
|
|||||||
#= require views/pages/base
|
|
||||||
|
|
||||||
class app.views.SphinxPage extends app.views.BasePage
|
|
||||||
prepare: ->
|
|
||||||
@highlightCode @findAll('pre.python'), 'python'
|
|
||||||
@highlightCode @findAll('pre.markup'), 'markup'
|
|
||||||
@highlightCode @findAll('pre.php'), 'php'
|
|
||||||
return
|
|
@ -1,31 +0,0 @@
|
|||||||
module Docs
|
|
||||||
class Codeigniter
|
|
||||||
class CleanHtmlFilter < Filter
|
|
||||||
def call
|
|
||||||
css('.headerlink').remove
|
|
||||||
|
|
||||||
css('h1', 'h2', 'h3', 'h4', 'h5', 'pre').each do |node|
|
|
||||||
node.content = node.content
|
|
||||||
end
|
|
||||||
|
|
||||||
css('div[class^="highlight-"]').each do |node|
|
|
||||||
node.content = node.content.strip
|
|
||||||
node.name = 'pre'
|
|
||||||
node['class'] = 'php' if node['class'].include?('highlight-ci')
|
|
||||||
end
|
|
||||||
|
|
||||||
css('table').each do |node|
|
|
||||||
node.remove_attribute 'border'
|
|
||||||
node.remove_attribute 'cellpadding'
|
|
||||||
end
|
|
||||||
|
|
||||||
css('.section').each do |node|
|
|
||||||
node.first_element_child['id'] = node['id'] if node['id']
|
|
||||||
node.before(node.children).remove
|
|
||||||
end
|
|
||||||
|
|
||||||
doc
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
@ -1,67 +0,0 @@
|
|||||||
module Docs
|
|
||||||
class Matplotlib
|
|
||||||
class CleanHtmlFilter < Filter
|
|
||||||
def call
|
|
||||||
css('.headerlink', 'hr').remove
|
|
||||||
|
|
||||||
css('.toc-backref', '.toctree-wrapper', '.contents', 'span.pre', 'pre a > code').each do |node|
|
|
||||||
node.before(node.children).remove
|
|
||||||
end
|
|
||||||
|
|
||||||
css('div[class*="highlight-"]').each do |node|
|
|
||||||
pre = node.at_css('pre')
|
|
||||||
pre.content = pre.content
|
|
||||||
pre['data-language'] = node['class'][/highlight\-(\w+)/, 1]
|
|
||||||
node.replace(pre)
|
|
||||||
end
|
|
||||||
|
|
||||||
css('span[id]:empty').each do |node|
|
|
||||||
node.next_element['id'] = node['id']
|
|
||||||
node.remove
|
|
||||||
end
|
|
||||||
|
|
||||||
css('.section').each do |node|
|
|
||||||
if node['id']
|
|
||||||
if node.first_element_child['id']
|
|
||||||
node.element_children[1]['id'] = node['id']
|
|
||||||
else
|
|
||||||
node.first_element_child['id'] = node['id']
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
node.before(node.children).remove
|
|
||||||
end
|
|
||||||
|
|
||||||
css('h2 > a > code').each do |node|
|
|
||||||
node.parent.before(node.content).remove
|
|
||||||
end
|
|
||||||
|
|
||||||
css('dt[id]').each do |node|
|
|
||||||
node.inner_html = "<code>#{node.content.strip}</code>"
|
|
||||||
end
|
|
||||||
|
|
||||||
css('li > p:first-child:last-child').each do |node|
|
|
||||||
node.before(node.children).remove
|
|
||||||
end
|
|
||||||
|
|
||||||
css('table[border]').each do |node|
|
|
||||||
node.remove_attribute 'border'
|
|
||||||
end
|
|
||||||
|
|
||||||
css('code[class]').each do |node|
|
|
||||||
node.remove_attribute 'class'
|
|
||||||
end
|
|
||||||
|
|
||||||
css('h1').each do |node|
|
|
||||||
node.content = node.content
|
|
||||||
end
|
|
||||||
|
|
||||||
css('p.rubric').each do |node|
|
|
||||||
node.name = 'h4'
|
|
||||||
end
|
|
||||||
|
|
||||||
doc
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
@ -0,0 +1,97 @@
|
|||||||
|
module Docs
|
||||||
|
class Sphinx
|
||||||
|
class CleanHtmlFilter < Filter
|
||||||
|
def call
|
||||||
|
css('.headerlink', 'hr', '#contents .topic-title', '#topics .topic-title', 'colgroup').remove
|
||||||
|
|
||||||
|
css('.contents > ul:first-child:last-child.simple > li:first-child:last-child').each do |node|
|
||||||
|
node.parent.before(node.at_css('> ul')) if node.at_css('> ul')
|
||||||
|
node.remove
|
||||||
|
end
|
||||||
|
|
||||||
|
css('em.xref', 'tt').each do |node|
|
||||||
|
node.name = 'code'
|
||||||
|
end
|
||||||
|
|
||||||
|
css('.toc-backref', '.toctree-wrapper', '.contents', 'span.pre', 'pre a > code', 'tbody', 'code > code', 'a > em').each do |node|
|
||||||
|
node.before(node.children).remove
|
||||||
|
end
|
||||||
|
|
||||||
|
css('div[class*="highlight-"]').each do |node|
|
||||||
|
pre = node.at_css('pre')
|
||||||
|
pre.content = pre.content
|
||||||
|
pre['data-language'] = node['class'][/highlight\-(\w+)/, 1]
|
||||||
|
pre['data-language'] = 'php' if pre['data-language'] == 'ci'
|
||||||
|
pre['data-language'] = 'markup' if pre['data-language'] == 'html+django'
|
||||||
|
pre['data-language'] = 'python' if pre['data-language'] == 'default' || pre['data-language'].start_with?('python')
|
||||||
|
node.replace(pre)
|
||||||
|
end
|
||||||
|
|
||||||
|
css('span[id]:empty').each do |node|
|
||||||
|
(node.next_element || node.previous_element)['id'] ||= node['id'] if node.next_element || node.previous_element
|
||||||
|
node.remove
|
||||||
|
end
|
||||||
|
|
||||||
|
css('.section').each do |node|
|
||||||
|
if node['id']
|
||||||
|
if node.first_element_child['id']
|
||||||
|
node.element_children[1]['id'] = node['id'] if node.element_children[1]
|
||||||
|
else
|
||||||
|
node.first_element_child['id'] = node['id']
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
node.before(node.children).remove
|
||||||
|
end
|
||||||
|
|
||||||
|
css('h2 > a > code').each do |node|
|
||||||
|
node.parent.before(node.content).remove
|
||||||
|
end
|
||||||
|
|
||||||
|
css('dt').each do |node|
|
||||||
|
next unless node['id'] || node.at_css('code')
|
||||||
|
links = []
|
||||||
|
links << node.children.last.remove while node.children.last.try(:name) == 'a'
|
||||||
|
node.inner_html = "<code>#{node.content.strip}</code> "
|
||||||
|
links.reverse_each { |link| node << link }
|
||||||
|
end
|
||||||
|
|
||||||
|
css('li > p:first-child:last-child').each do |node|
|
||||||
|
node.before(node.children).remove
|
||||||
|
end
|
||||||
|
|
||||||
|
css('blockquote > div:first-child:last-child').each do |node|
|
||||||
|
node.parent.before(node.parent.children).remove
|
||||||
|
node.before(node.children).remove
|
||||||
|
end
|
||||||
|
|
||||||
|
css('.admonition-example').each do |node|
|
||||||
|
title = node.at_css('.admonition-title')
|
||||||
|
title.name = 'h4'
|
||||||
|
title.remove_attribute 'class'
|
||||||
|
node.before(node.children).remove
|
||||||
|
end
|
||||||
|
|
||||||
|
css('table[border]').each do |node|
|
||||||
|
node.remove_attribute 'border'
|
||||||
|
node.remove_attribute 'cellpadding'
|
||||||
|
node.remove_attribute 'cellspacing'
|
||||||
|
end
|
||||||
|
|
||||||
|
css('code[class]').each do |node|
|
||||||
|
node.remove_attribute 'class'
|
||||||
|
end
|
||||||
|
|
||||||
|
css('h1').each do |node|
|
||||||
|
node.content = node.content
|
||||||
|
end
|
||||||
|
|
||||||
|
css('p.rubric').each do |node|
|
||||||
|
node.name = 'h4'
|
||||||
|
end
|
||||||
|
|
||||||
|
doc
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
@ -0,0 +1,5 @@
|
|||||||
|
module Docs
|
||||||
|
class Sphinx < Scraper
|
||||||
|
self.abstract = true
|
||||||
|
end
|
||||||
|
end
|
Loading…
Reference in new issue