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