Unified · Split
| @@ -295,6 +295,11 @@ credits = [ · 294 unmodified lines | ||
| 295 | 295 | '2014-2018 Juan Linietsky, Ariel Manzur, Godot Engine contributors', |
| 296 | 296 | 'MIT', |
| 297 | 297 | 'https://raw.githubusercontent.com/godotengine/godot/master/LICENSE.txt' |
| 298 | + ], [ | |
| 299 | + 'Graphite', | |
| 300 | + '2008-2012 Chris Davis; 2011-2016 The Graphite Project', | |
| 301 | + 'Apache', | |
| 302 | + 'https://raw.githubusercontent.com/graphite-project/graphite-web/master/LICENSE' | |
| 298 | 303 | ], [ |
| 299 | 304 | 'Grunt', |
| 300 | 305 | 'GruntJS Team', |
| @@ -55,6 +55,7 @@ · 54 unmodified lines | ||
| 55 | 55 | 'pages/git', |
| 56 | 56 | 'pages/github', |
| 57 | 57 | 'pages/go', |
| 58 | + 'pages/graphite', | |
| 58 | 59 | 'pages/haskell', |
| 59 | 60 | 'pages/jekyll', |
| 60 | 61 | 'pages/jquery', |
| @@ -55,6 +55,7 @@ · 54 unmodified lines | ||
| 55 | 55 | 'pages/git', |
| 56 | 56 | 'pages/github', |
| 57 | 57 | 'pages/go', |
| 58 | + 'pages/graphite', | |
| 58 | 59 | 'pages/haskell', |
| 59 | 60 | 'pages/jekyll', |
| 60 | 61 | 'pages/jquery', |
| @@ -0,0 +1,26 @@ | ||
| 1 | +._graphite { | |
| 2 | + @extend %simple; | |
| 3 | + | |
| 4 | + h1 { | |
| 5 | + @extend %lined-heading; | |
| 6 | + } | |
| 7 | + | |
| 8 | + .section:first-child h1 { | |
| 9 | + margin-top: 0; | |
| 10 | + } | |
| 11 | + | |
| 12 | + dl > dt { | |
| 13 | + @extend %note, %note-blue; | |
| 14 | + padding: 1px 0.5rem 2px 0.5rem; | |
| 15 | + font-weight: bold; | |
| 16 | + } | |
| 17 | + | |
| 18 | + dl.function > dt { | |
| 19 | + code { | |
| 20 | + font-weight: bold; | |
| 21 | + } | |
| 22 | + em { | |
| 23 | + font-style: normal; | |
| 24 | + } | |
| 25 | + } | |
| 26 | +} | |
| @@ -0,0 +1,18 @@ | ||
| 1 | +module Docs | |
| 2 | + class Graphite | |
| 3 | + class CleanHtmlFilter < Filter | |
| 4 | + def call | |
| 5 | + # Remove the paragraph icon after all headers | |
| 6 | + css('.headerlink').remove | |
| 7 | + | |
| 8 | + # Extract the text from function titles to get rid of the inconsistent styling | |
| 9 | + css('dl.function > dt').each do |node| | |
| 10 | + node['data-name'] = node.at_css('.descname').inner_html.to_s | |
| 11 | + node.content = node.text | |
| 12 | + end | |
| 13 | + | |
| 14 | + doc | |
| 15 | + end | |
| 16 | + end | |
| 17 | + end | |
| 18 | +end | |
| @@ -0,0 +1,44 @@ | ||
| 1 | +module Docs | |
| 2 | + class Graphite | |
| 3 | + class EntriesFilter < Docs::EntriesFilter | |
| 4 | + def get_name | |
| 5 | + at_css('h1').children[0].to_s | |
| 6 | + end | |
| 7 | + | |
| 8 | + def get_type | |
| 9 | + get_name | |
| 10 | + end | |
| 11 | + | |
| 12 | + def additional_entries | |
| 13 | + entries = [] | |
| 14 | + | |
| 15 | + # Sections | |
| 16 | + css('.section > .section').each do |node| | |
| 17 | + title = node.at_css('h2, h3') | |
| 18 | + | |
| 19 | + next if title.nil? | |
| 20 | + | |
| 21 | + # Move the id attribute to the title | |
| 22 | + # If this is excluded, the complete section will be highlighted in yellow when someone navigates to it | |
| 23 | + title['id'] = node['id'] | |
| 24 | + node.remove_attribute('id') | |
| 25 | + | |
| 26 | + parent_title_selector = "parent::div[@class='section']/preceding::#{title.name == 'h2' ? 'h1' : 'h2'}" | |
| 27 | + | |
| 28 | + entries << [ | |
| 29 | + title.children[0].to_s, | |
| 30 | + title['id'], | |
| 31 | + title.xpath(parent_title_selector).last.children[0].to_s | |
| 32 | + ] | |
| 33 | + end | |
| 34 | + | |
| 35 | + # Functions | |
| 36 | + css('dl.function > dt').each do |node| | |
| 37 | + entries << [node['data-name'], node['id'], 'List of functions'] | |
| 38 | + end | |
| 39 | + | |
| 40 | + entries | |
| 41 | + end | |
| 42 | + end | |
| 43 | + end | |
| 44 | +end | |
| @@ -0,0 +1,20 @@ | ||
| 1 | +module Docs | |
| 2 | + class Graphite < UrlScraper | |
| 3 | + self.type = 'graphite' | |
| 4 | + self.release = '1.1.3' | |
| 5 | + self.base_url = 'http://graphite.readthedocs.io/en/latest/' | |
| 6 | + self.links = { | |
| 7 | + code: 'https://github.com/graphite-project/graphite-web' | |
| 8 | + } | |
| 9 | + | |
| 10 | + html_filters.push 'graphite/clean_html', 'graphite/entries' | |
| 11 | + | |
| 12 | + options[:container] = '.document > div' | |
| 13 | + options[:skip] = %w(releases.html who-is-using.html composer.html search.html py-modindex.html genindex.html) | |
| 14 | + | |
| 15 | + options[:attribution] = <<-HTML | |
| 16 | + © 2008-2012 Chris Davis; 2011-2016 The Graphite Project<br> | |
| 17 | + Licensed under the Apache License, Version 2.0. | |
| 18 | + HTML | |
| 19 | + end | |
| 20 | +end | |