mirror of https://github.com/freeCodeCamp/devdocs
parent
23ebf25bcb
commit
8469d7148c
@ -0,0 +1,14 @@
|
|||||||
|
.REFBODY {
|
||||||
|
margin-bottom: 20px;
|
||||||
|
}
|
||||||
|
.REFBODY+p {
|
||||||
|
margin-top: 30px;
|
||||||
|
margin-bottom: 5px;
|
||||||
|
}
|
||||||
|
.function-name {
|
||||||
|
font-family: $monoFont;
|
||||||
|
display: block;
|
||||||
|
margin: 0;
|
||||||
|
min-height: none;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
@ -0,0 +1,9 @@
|
|||||||
|
module Docs
|
||||||
|
class Erlang
|
||||||
|
class AttributionFilter < Docs::AttributionFilter
|
||||||
|
def attribution_link
|
||||||
|
%(<a href="#{base_url}" class="_attribution-link">#{base_url}</a>)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
@ -0,0 +1,13 @@
|
|||||||
|
module Docs
|
||||||
|
class Erlang
|
||||||
|
class CleanHtmlFilter < Filter
|
||||||
|
def call
|
||||||
|
css('#leftnav').remove
|
||||||
|
css('#content .innertube center:last-child').remove
|
||||||
|
css('.function-name+br').remove
|
||||||
|
css('#content .footer').remove
|
||||||
|
doc
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
@ -0,0 +1,43 @@
|
|||||||
|
module Docs
|
||||||
|
class Erlang
|
||||||
|
class EntriesFilter < Docs::EntriesFilter
|
||||||
|
|
||||||
|
def get_name
|
||||||
|
at_css('h1').try(:content).try(:strip)
|
||||||
|
end
|
||||||
|
|
||||||
|
def get_type
|
||||||
|
return nil if 'STDLIB Reference Manual' == name
|
||||||
|
name
|
||||||
|
end
|
||||||
|
|
||||||
|
def additional_entries
|
||||||
|
css('div.REFBODY+p > a').map do |node|
|
||||||
|
|
||||||
|
id = node.attribute('name').value
|
||||||
|
|
||||||
|
# Here, "node" represents an empty <a> tag. It will later be removed
|
||||||
|
# by CleanTextFilter.
|
||||||
|
# We need to pass its id attribute to another element in order to
|
||||||
|
# make the function anchors in the sidebar work properly.
|
||||||
|
node.next_sibling['id'] = id
|
||||||
|
node.next_sibling['class'] = 'function-name'
|
||||||
|
|
||||||
|
if id == name
|
||||||
|
# Module index page
|
||||||
|
[name, id, name]
|
||||||
|
else
|
||||||
|
# Erlang functions are identified
|
||||||
|
# by name + arity (no. of parameters).
|
||||||
|
# The notation is func_name/arity
|
||||||
|
|
||||||
|
# Replaces the last hyphen with a slash.
|
||||||
|
# E.g: to_string-3 becomes to_string/3
|
||||||
|
function_name = id.gsub(/\-(?<arity>.*)$/, '/\k<arity>')
|
||||||
|
["#{name}:" + function_name, id, name]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
@ -0,0 +1,40 @@
|
|||||||
|
module Docs
|
||||||
|
class Erlang < FileScraper
|
||||||
|
self.version = '18.1'
|
||||||
|
self.type = 'erlang'
|
||||||
|
self.dir = File.expand_path('~/devdocs/erlang')
|
||||||
|
self.base_url = 'http://www.erlang.org/doc/'
|
||||||
|
self.root_path = 'doc/index.html'
|
||||||
|
self.links = {
|
||||||
|
home: 'http://erlang.org/'
|
||||||
|
}
|
||||||
|
|
||||||
|
html_filters.push 'erlang/entries', 'erlang/clean_html'
|
||||||
|
|
||||||
|
# The folder structure of the offline documentation
|
||||||
|
# differs from the online structure. We need
|
||||||
|
# to replace the attribution filter to generate the
|
||||||
|
# right attribution_link
|
||||||
|
text_filters.replace 'attribution', 'erlang/attribution'
|
||||||
|
|
||||||
|
# Do not scrape these unnecessary links
|
||||||
|
options[:skip_patterns] = [
|
||||||
|
/\.pdf$/,
|
||||||
|
/users_guide\.html$/,
|
||||||
|
/release_notes\.html$/,
|
||||||
|
/\/html\/.*_app\.html$/,
|
||||||
|
/\/html\/unicode_usage\.html$/,
|
||||||
|
/\/html\/io_protocol\.html$/
|
||||||
|
]
|
||||||
|
|
||||||
|
options[:title] = false
|
||||||
|
|
||||||
|
# Scrape stdlib documentation only
|
||||||
|
options[:only_patterns] = [/stdlib/]
|
||||||
|
|
||||||
|
options[:attribution] = <<-HTML
|
||||||
|
Copyright © 1999-2015 Ericsson AB<br>
|
||||||
|
Licensed under the Apache License, Version 2.0.
|
||||||
|
HTML
|
||||||
|
end
|
||||||
|
end
|
After Width: | Height: | Size: 637 B |
After Width: | Height: | Size: 1.8 KiB |
@ -0,0 +1,2 @@
|
|||||||
|
http://www.pixelstech.net/images/icons/article_type/Erlang_logo.png
|
||||||
|
https://s3.amazonaws.com/cloud.ohloh.net/attachments/1364/erlang2_small.png
|
Loading…
Reference in new issue