diff --git a/assets/javascripts/news.json b/assets/javascripts/news.json index cae61ade..d5b52149 100644 --- a/assets/javascripts/news.json +++ b/assets/javascripts/news.json @@ -1,4 +1,8 @@ [ + [ + "2021-11-29", + "New documentation: i3" + ], [ "2021-06-09", "New documentation: R" diff --git a/assets/javascripts/templates/pages/about_tmpl.coffee b/assets/javascripts/templates/pages/about_tmpl.coffee index c27816c5..14083f41 100644 --- a/assets/javascripts/templates/pages/about_tmpl.coffee +++ b/assets/javascripts/templates/pages/about_tmpl.coffee @@ -82,7 +82,12 @@ app.templates.aboutPage = -> """ """ credits = [ - [ 'Angular.js', + [ 'i3', + '2009, Michael Stapelberg and contributors', + 'BSD', + 'https://raw.githubusercontent.com/i3/i3/next/LICENSE' + ], [ + 'Angular.js', '2010-2020 Google, Inc.', 'CC BY 3.0', 'https://creativecommons.org/licenses/by/3.0/' diff --git a/lib/docs/filters/i3/entries.rb b/lib/docs/filters/i3/entries.rb new file mode 100644 index 00000000..0992fec0 --- /dev/null +++ b/lib/docs/filters/i3/entries.rb @@ -0,0 +1,17 @@ +module Docs + class I3 + class EntriesFilter < Docs::EntriesFilter + def additional_entries + entries = [] + type = nil + css('h2[id], h3[id]').each do |node| + if node.name == 'h2' && node['id'] + type = node.content + end + entries << [node.content, node['id'], type] + end + entries + end + end + end +end diff --git a/lib/docs/scrapers/i3.rb b/lib/docs/scrapers/i3.rb new file mode 100644 index 00000000..abc4e791 --- /dev/null +++ b/lib/docs/scrapers/i3.rb @@ -0,0 +1,28 @@ +module Docs + class I3 < UrlScraper + self.name = 'i3' + self.type = 'simple' + self.slug = 'i3' + self.release = '4.20.1' + self.base_url = 'https://i3wm.org/docs/userguide.html' + self.links = { + home: 'https://i3wm.org/', + code: 'https://github.com/i3/i3' + } + + html_filters.push 'i3/entries', 'title' + + options[:container] = 'main' + options[:skip_links] = true + + options[:attribution] = <<-HTML + © 2009, Michael Stapelberg and contributors + HTML + + def get_latest_version(opts) + tags = get_github_tags('i3', 'i3', opts) + tag = tags.find {|tag| tag['name'].start_with?('4.')} + tag['name'] + end + end +end diff --git a/public/icons/docs/i3/16.png b/public/icons/docs/i3/16.png new file mode 100644 index 00000000..d53f0127 Binary files /dev/null and b/public/icons/docs/i3/16.png differ diff --git a/public/icons/docs/i3/16@2x.png b/public/icons/docs/i3/16@2x.png new file mode 100644 index 00000000..afec0e90 Binary files /dev/null and b/public/icons/docs/i3/16@2x.png differ diff --git a/public/icons/docs/i3/SOURCE b/public/icons/docs/i3/SOURCE new file mode 100644 index 00000000..7a8de2b5 --- /dev/null +++ b/public/icons/docs/i3/SOURCE @@ -0,0 +1 @@ +https://github.com/i3/i3.github.io/blob/master/logo.png