diff --git a/assets/javascripts/templates/pages/about_tmpl.coffee b/assets/javascripts/templates/pages/about_tmpl.coffee index 07c92ad8..ac86b701 100644 --- a/assets/javascripts/templates/pages/about_tmpl.coffee +++ b/assets/javascripts/templates/pages/about_tmpl.coffee @@ -568,6 +568,12 @@ credits = [ 'CC BY', 'https://creativecommons.org/licenses/by/3.0/' ], [ + 'Pony', + '2016-2018, The Pony Developers & 2014-2015, Causality Ltd.', + 'BSD', + 'https://raw.githubusercontent.com/ponylang/ponyc/master/LICENSE' + ], + [ 'PostgreSQL', '1996-2018 The PostgreSQL Global Development Group
© 1994 The Regents of the University of California', 'PostgreSQL', diff --git a/lib/docs/filters/pony/clean_html.rb b/lib/docs/filters/pony/clean_html.rb new file mode 100644 index 00000000..665d1048 --- /dev/null +++ b/lib/docs/filters/pony/clean_html.rb @@ -0,0 +1,15 @@ +module Docs + class Pony + class CleanHtmlFilter < Filter + def call + css('.headerlink').remove + + css('pre').each do |node| + node.content = node.content + end + + doc + end + end + end +end diff --git a/lib/docs/filters/pony/entries.rb b/lib/docs/filters/pony/entries.rb new file mode 100644 index 00000000..296f2090 --- /dev/null +++ b/lib/docs/filters/pony/entries.rb @@ -0,0 +1,35 @@ +module Docs + class Pony + class EntriesFilter < Docs::EntriesFilter + def get_name + title = context[:html_title].sub(/ - .*/, '').split(' ').last + title = "1. #{type}" if title == 'Package' + title + end + + def get_type + subpath.split(/-([^a-z])/)[0][0..-1].sub('-', '/') + end + + def additional_entries + return [] if root_page? || name.start_with?("1. ") + + entries = [] + + css('h3').each do |node| + member_name = node.content + + is_field = member_name.start_with?('let ') + member_name = member_name[4..-1] if is_field + + member_name = member_name.scan(/^([a-zA-Z0-9_]+)/)[0][0] + member_name += '()' unless is_field + + entries << ["#{name}.#{member_name}", node['id']] + end + + entries + end + end + end +end diff --git a/lib/docs/scrapers/pony.rb b/lib/docs/scrapers/pony.rb new file mode 100644 index 00000000..24df881d --- /dev/null +++ b/lib/docs/scrapers/pony.rb @@ -0,0 +1,27 @@ +module Docs + class Pony < UrlScraper + self.type = 'simple' + self.release = '0.30.0' + self.base_url = 'https://stdlib.ponylang.io/' + self.links = { + home: 'https://www.ponylang.io/', + code: 'https://github.com/ponylang/ponyc' + } + + html_filters.push 'pony/clean_html', 'pony/entries' + + options[:attribution] = <<-HTML + © 2016-2018, The Pony Developers
+ © 2014-2015, Causality Ltd.
+ Licensed under the BSD 2-Clause License. + HTML + + options[:container] = 'article' + options[:trailing_slash] = false + options[:skip_patterns] = [/src/, /stdlib--index/] + + def get_latest_version(opts) + get_latest_github_release('ponylang', 'ponyc', opts) + end + end +end diff --git a/public/icons/docs/pony/16.png b/public/icons/docs/pony/16.png new file mode 100644 index 00000000..c5b30dad Binary files /dev/null and b/public/icons/docs/pony/16.png differ diff --git a/public/icons/docs/pony/16@2x.png b/public/icons/docs/pony/16@2x.png new file mode 100644 index 00000000..daed6509 Binary files /dev/null and b/public/icons/docs/pony/16@2x.png differ diff --git a/public/icons/docs/pony/SOURCE b/public/icons/docs/pony/SOURCE new file mode 100644 index 00000000..c39ba900 --- /dev/null +++ b/public/icons/docs/pony/SOURCE @@ -0,0 +1 @@ +https://raw.githubusercontent.com/ponylang/ponylang-website/master/static/images/logo.png