mirror of https://github.com/freeCodeCamp/devdocs
parent
457386f13a
commit
f73f89cadd
@ -0,0 +1,21 @@
|
|||||||
|
._phpunit {
|
||||||
|
h1 {
|
||||||
|
margin-top: 0;
|
||||||
|
@extend %lined-heading;
|
||||||
|
}
|
||||||
|
|
||||||
|
h2.title {
|
||||||
|
@extend %block-heading;
|
||||||
|
}
|
||||||
|
|
||||||
|
.programlisting > pre { white-space: normal; }
|
||||||
|
|
||||||
|
.literal {
|
||||||
|
padding: 2px 4px;
|
||||||
|
color: #c7254e;
|
||||||
|
background-color: #f9f2f4;
|
||||||
|
border-radius: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.warning { @extend %note, %note-red; }
|
||||||
|
}
|
@ -0,0 +1,65 @@
|
|||||||
|
module Docs
|
||||||
|
class Phpunit
|
||||||
|
class CleanHtmlFilter < Filter
|
||||||
|
def call
|
||||||
|
root_page? ? root : other
|
||||||
|
doc
|
||||||
|
end
|
||||||
|
|
||||||
|
def root
|
||||||
|
doc.inner_html = <<-HTML
|
||||||
|
<p>PHPUnit is a programmer-oriented testing framework for PHP.<br>
|
||||||
|
It is an instance of the xUnit architecture for unit testing frameworks.</p>
|
||||||
|
HTML
|
||||||
|
end
|
||||||
|
|
||||||
|
def other
|
||||||
|
# set root on appendix
|
||||||
|
@doc = doc.at_css('div.appendix')
|
||||||
|
|
||||||
|
# remove attributes 'style'
|
||||||
|
css('*').remove_attr('style')
|
||||||
|
|
||||||
|
# clean titles
|
||||||
|
css('div.titlepage').each do |node|
|
||||||
|
title = node.at_css('.title')
|
||||||
|
case title.name
|
||||||
|
when 'h1'
|
||||||
|
# remove 'Appendix X.' from top title
|
||||||
|
nodetitle = title.content
|
||||||
|
title.content = nodetitle.gsub(/Appendix \w+\. /, '')
|
||||||
|
when 'h2'
|
||||||
|
# set link anchors in entries (title level 2)
|
||||||
|
anchor = Nokogiri::XML::Node.new "a", @doc
|
||||||
|
anchor.content = title.content
|
||||||
|
anchor['id'] = title.content.downcase.gsub(/[^a-z]/, '')
|
||||||
|
title.content = ''
|
||||||
|
anchor.parent = title
|
||||||
|
end
|
||||||
|
node.replace title
|
||||||
|
end
|
||||||
|
|
||||||
|
# set anchor for internal references
|
||||||
|
css('p.title').each do |node|
|
||||||
|
anchor = Nokogiri::XML::Node.new "a", @doc
|
||||||
|
anchor.content = node.content
|
||||||
|
anchor['id'] = anchor.content[/\w+ [A-z0-9.]+/].downcase.parameterize
|
||||||
|
node.content = ''
|
||||||
|
anchor.parent = node
|
||||||
|
end
|
||||||
|
|
||||||
|
# clean internal references
|
||||||
|
css('a').each do |node|
|
||||||
|
page = node['href'][/([A-z.-]+)?#/, 1] if node['href']
|
||||||
|
if page then
|
||||||
|
page = page + '.html' unless page[/.*\.html/]
|
||||||
|
if Phpunit.initial_paths.include? page
|
||||||
|
node['href'] = node['href'].gsub(/#[A-z.-]+/, '#' + node.content.downcase.parameterize)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
@ -0,0 +1,20 @@
|
|||||||
|
module Docs
|
||||||
|
class Phpunit
|
||||||
|
class EntriesFilter < Docs::EntriesFilter
|
||||||
|
def additional_entries
|
||||||
|
entries = []
|
||||||
|
|
||||||
|
if at_css('h1')
|
||||||
|
type = at_css('h1').content.gsub(/Appendix \w+\. /, '')
|
||||||
|
|
||||||
|
css('h2').each do |node|
|
||||||
|
name = node.content
|
||||||
|
id = name.parameterize
|
||||||
|
entries << [name, id, type]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
entries
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
@ -0,0 +1,31 @@
|
|||||||
|
module Docs
|
||||||
|
class Phpunit < UrlScraper
|
||||||
|
self.name = 'PHPUnit'
|
||||||
|
self.type = 'phpunit'
|
||||||
|
self.slug = 'phpunit'
|
||||||
|
self.version = '4.3'
|
||||||
|
self.base_url = 'https://phpunit.de/manual/4.3/en/'
|
||||||
|
self.initial_paths = %w(appendixes.assertions.html appendixes.annotations.html)
|
||||||
|
|
||||||
|
html_filters.push 'phpunit/entries', 'phpunit/clean_html', 'title'
|
||||||
|
|
||||||
|
options[:skip_links] = true
|
||||||
|
|
||||||
|
options[:title] = false
|
||||||
|
options[:root_title] = "#{self.name} #{self.version}"
|
||||||
|
|
||||||
|
options[:fix_urls] = ->(url) do
|
||||||
|
if self.initial_paths.include? url[/\/([A-z.-]+)#/, 1]
|
||||||
|
url = url[/#(.+)/, 1].downcase
|
||||||
|
url.gsub! /(\w+\.\w+)\.(\w+)/, '\1#\2'
|
||||||
|
end
|
||||||
|
url
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
options[:attribution] = <<-HTML
|
||||||
|
© 2005–2014 Sebastian Bergmann<br>
|
||||||
|
Licensed under the Creative Commons Attribution 3.0 Unported License.
|
||||||
|
HTML
|
||||||
|
end
|
||||||
|
end
|
After Width: | Height: | Size: 718 B |
After Width: | Height: | Size: 1.8 KiB |
Loading…
Reference in new issue