mirror of https://github.com/freeCodeCamp/devdocs
parent
ddfe1dd0d3
commit
daded63b6a
@ -0,0 +1,30 @@
|
|||||||
|
#= require views/pages/base
|
||||||
|
|
||||||
|
class app.views.HaxePage extends app.views.BasePage
|
||||||
|
@className: '_haxe'
|
||||||
|
|
||||||
|
# We need to extract data from a header to have the name of the class reconize as the title of the page
|
||||||
|
prepare: ->
|
||||||
|
nodes = []
|
||||||
|
# Extract all children of page-header
|
||||||
|
header = @findByClass('page-header')
|
||||||
|
if header
|
||||||
|
for child in header.children
|
||||||
|
nodes.push(child)
|
||||||
|
|
||||||
|
# Ensure H1 is on top
|
||||||
|
nodes.sort (a,b) ->
|
||||||
|
if a.nodeName == 'h1'
|
||||||
|
return -1
|
||||||
|
return 0
|
||||||
|
|
||||||
|
firstChild = header.parentNode.firstChild
|
||||||
|
# Add them to the parent of header
|
||||||
|
for node in nodes
|
||||||
|
header.parentNode.insertBefore( node, firstChild )
|
||||||
|
|
||||||
|
# Add an id to class fields for additional entries
|
||||||
|
for el in @findAllByClass('identifier')
|
||||||
|
el['id'] = el.textContent
|
||||||
|
|
||||||
|
return
|
@ -0,0 +1,29 @@
|
|||||||
|
._haxe {
|
||||||
|
.page-header > .availability { @extend %note; }
|
||||||
|
|
||||||
|
h3 { @extend %block-heading; }
|
||||||
|
h4 { @extend %label; }
|
||||||
|
.field > p:first-of-type { @extend %block-label, %label-blue; }
|
||||||
|
.field > p.availability {
|
||||||
|
color: #AB611A;
|
||||||
|
font-size: 90%;
|
||||||
|
}
|
||||||
|
.field code {
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.label {
|
||||||
|
display: inline-block;
|
||||||
|
padding: 2px 4px;
|
||||||
|
font-size: 11.844px;
|
||||||
|
font-weight: bold;
|
||||||
|
line-height: 14px;
|
||||||
|
color: #FFF;
|
||||||
|
text-shadow: 0px -1px 0px rgba(0, 0, 0, 0.25);
|
||||||
|
white-space: nowrap;
|
||||||
|
vertical-align: baseline;
|
||||||
|
background-color: #999;
|
||||||
|
border-radius: 3px;
|
||||||
|
margin-right: 5px;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,10 @@
|
|||||||
|
module Docs
|
||||||
|
class Haxe
|
||||||
|
class CleanHtmlFilter < Filter
|
||||||
|
def call
|
||||||
|
css('.viewsource').remove
|
||||||
|
doc
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
@ -0,0 +1,27 @@
|
|||||||
|
module Docs
|
||||||
|
class Haxe
|
||||||
|
class EntriesFilter < Docs::EntriesFilter
|
||||||
|
|
||||||
|
def get_name
|
||||||
|
at_css('h1').text.split(' ')[1]
|
||||||
|
end
|
||||||
|
|
||||||
|
def get_type
|
||||||
|
object, method = *slug.split('/')
|
||||||
|
method ? object : 'Std'
|
||||||
|
end
|
||||||
|
|
||||||
|
def additional_entries
|
||||||
|
return [] if root_page?
|
||||||
|
|
||||||
|
css('.field a > span').map do |node|
|
||||||
|
[name + '.' + node.content, node.content, nil]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def include_default_entry?
|
||||||
|
true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
@ -0,0 +1,23 @@
|
|||||||
|
module Docs
|
||||||
|
class Haxe < UrlScraper
|
||||||
|
self.name = 'Haxe'
|
||||||
|
self.type = 'haxe'
|
||||||
|
self.release = '3.2.0'
|
||||||
|
self.base_url = 'http://api.haxe.org'
|
||||||
|
self.links = {
|
||||||
|
home: 'http://haxe.org',
|
||||||
|
code: 'https://github.com/HaxeFoundation/haxe'
|
||||||
|
}
|
||||||
|
|
||||||
|
html_filters.push 'haxe/clean_html', 'haxe/entries'
|
||||||
|
|
||||||
|
options[:container] = '.span9'
|
||||||
|
options[:title] = nil
|
||||||
|
options[:root_title] = 'Haxe'
|
||||||
|
|
||||||
|
options[:attribution] = <<-HTML
|
||||||
|
© HaxeFoundation<br>
|
||||||
|
Licensed under a MIT license.
|
||||||
|
HTML
|
||||||
|
end
|
||||||
|
end
|
After Width: | Height: | Size: 533 B |
After Width: | Height: | Size: 1.6 KiB |
Loading…
Reference in new issue