From 01746c2cbb72ae3ee7a40a067be6d1cb9c746b64 Mon Sep 17 00:00:00 2001 From: Close Date: Mon, 25 May 2026 22:55:14 -0500 Subject: [PATCH 1/4] Add Odin documentation --- lib/docs/filters/odin/clean_html.rb | 12 ++++++ lib/docs/filters/odin/entries.rb | 24 +++++++++++ lib/docs/filters/odin_packages/clean_html.rb | 19 ++++++++ lib/docs/filters/odin_packages/entries.rb | 43 +++++++++++++++++++ lib/docs/scrapers/odin.rb | 38 ++++++++++++++++ lib/docs/scrapers/odin_packages.rb | 29 +++++++++++++ public/icons/docs/odin/16.png | Bin 0 -> 878 bytes public/icons/docs/odin/16@2x.png | Bin 0 -> 878 bytes public/icons/docs/odin/SOURCE | 1 + public/icons/docs/odin_packages/16.png | Bin 0 -> 878 bytes public/icons/docs/odin_packages/16@2x.png | Bin 0 -> 878 bytes public/icons/docs/odin_packages/SOURCE | 1 + 12 files changed, 167 insertions(+) create mode 100644 lib/docs/filters/odin/clean_html.rb create mode 100644 lib/docs/filters/odin/entries.rb create mode 100644 lib/docs/filters/odin_packages/clean_html.rb create mode 100644 lib/docs/filters/odin_packages/entries.rb create mode 100644 lib/docs/scrapers/odin.rb create mode 100644 lib/docs/scrapers/odin_packages.rb create mode 100644 public/icons/docs/odin/16.png create mode 100644 public/icons/docs/odin/16@2x.png create mode 100644 public/icons/docs/odin/SOURCE create mode 100644 public/icons/docs/odin_packages/16.png create mode 100644 public/icons/docs/odin_packages/16@2x.png create mode 100644 public/icons/docs/odin_packages/SOURCE diff --git a/lib/docs/filters/odin/clean_html.rb b/lib/docs/filters/odin/clean_html.rb new file mode 100644 index 0000000000..92eff0ade2 --- /dev/null +++ b/lib/docs/filters/odin/clean_html.rb @@ -0,0 +1,12 @@ +module Docs + class Odin + class CleanHtmlFilter < Filter + def call + @doc = at_css('#pkg') || doc + + css('nav').remove + doc + end + end + end +end diff --git a/lib/docs/filters/odin/entries.rb b/lib/docs/filters/odin/entries.rb new file mode 100644 index 0000000000..081c182306 --- /dev/null +++ b/lib/docs/filters/odin/entries.rb @@ -0,0 +1,24 @@ +module Docs + class Odin + class EntriesFilter < Docs::EntriesFilter + def get_name + title = context[:html_title].gsub(/ \| Odin Programming Language/, "") + title + end + + def get_type + if subpath.start_with?('docs') + "Documentation" + elsif subpath.start_with?('spec') + "Specifications" + end + end + + def additional_entries + entries = [] + entries + end + end + end +end + diff --git a/lib/docs/filters/odin_packages/clean_html.rb b/lib/docs/filters/odin_packages/clean_html.rb new file mode 100644 index 0000000000..929ab8b339 --- /dev/null +++ b/lib/docs/filters/odin_packages/clean_html.rb @@ -0,0 +1,19 @@ +module Docs + class OdinPackages + class CleanHtmlFilter < Filter + def call + @doc = at_css('#pkg') || doc + + css('.pkg-breadcrumb').remove + css('.a-hidden').remove + css('.doc-source').remove + css('.odin-search-wrapper').remove + css('#pkg-sidebar').remove + css('#odin-search-info').remove + css('#odin-search-results').remove + + doc + end + end + end +end diff --git a/lib/docs/filters/odin_packages/entries.rb b/lib/docs/filters/odin_packages/entries.rb new file mode 100644 index 0000000000..68dd4bfc4c --- /dev/null +++ b/lib/docs/filters/odin_packages/entries.rb @@ -0,0 +1,43 @@ +module Docs + class OdinPackages + class EntriesFilter < Docs::EntriesFilter + def get_name + breadcrumbs = css(".pkg-breadcrumb > ol > li") + if breadcrumbs + if breadcrumbs[1] + breadcrumbs[1].content + elsif breadcrumbs[0] + breadcrumbs[0].content + end + end + title = context[:html_title].gsub(/- pkg.odin-lang.org/, "") + title = title.gsub(/^package /, "") + title + end + + def get_type + breadcrumb_base = css(".pkg-breadcrumb > ol > li") + doc_directory = css(".doc-directory") + if breadcrumb_base[0] + if breadcrumb_base[0] + breadcrumb_base[0].content + end + # breadcrumb_base.content + elsif doc_directory + title = context[:html_title].gsub(/ library - pkg.odin-lang.org/, "") + title + elsif context[:html_title].starts_with?('package') + 'Packages' + else + 'Docs' + end + end + + def additional_entries + entries = [] + entries + end + end + end +end + diff --git a/lib/docs/scrapers/odin.rb b/lib/docs/scrapers/odin.rb new file mode 100644 index 0000000000..b180b6356e --- /dev/null +++ b/lib/docs/scrapers/odin.rb @@ -0,0 +1,38 @@ +module Docs + class Odin < UrlScraper + self.name = 'Odin' + self.slug = 'odin' + self.type = 'odin' + self.release = 'latest' + self.base_url = 'https://odin-lang.org/' + self.root_path = 'https://odin-lang.org/' + self.initial_paths = %w(docs spec) + + self.links = { + home: 'https://odin-lang.org/', + code: 'https://github.com/odin-lang/Odin' + } + + html_filters.push 'odin/entries', 'odin/clean_html' + options[:download_images] = false + + options[:container] = '.odin-main' + + options[:only_patterns] = [/docs/, /spec/] + options[:trailing_slash] = false + + options[:skip] = %w( + docs/examples + docs/nightly + docs/odin-book + docs/spec + docs/packages + ) + + options[:attribution] = <<-HTML + © 2016-#{Date.today.year} Ginger Bill
+ Licensed under the 3-clause BSD License. + HTML + + end +end diff --git a/lib/docs/scrapers/odin_packages.rb b/lib/docs/scrapers/odin_packages.rb new file mode 100644 index 0000000000..d6a315938a --- /dev/null +++ b/lib/docs/scrapers/odin_packages.rb @@ -0,0 +1,29 @@ +module Docs + class OdinPackages < UrlScraper + self.name = 'Odin Packages' + self.slug = 'odin_packages' + self.type = 'odin_packages' + self.release = 'latest' + self.base_url = 'https://pkg.odin-lang.org/' + # self.root_path = 'https://pkg.odin-lang.org/' + self.initial_paths = %w(base core vendor) + + options[:trailing_slash] = false + + self.links = { + home: 'https://odin-lang.org/', + code: 'https://github.com/odin-lang/Odin' + } + + html_filters.push 'odin_packages/entries', 'odin_packages/clean_html' + + options[:download_images] = false + options[:container] = '.odin-main' + + options[:attribution] = <<-HTML + © 2016-#{Date.today.year} Ginger Bill
+ Licensed under the 3-clause BSD License. + HTML + + end +end diff --git a/public/icons/docs/odin/16.png b/public/icons/docs/odin/16.png new file mode 100644 index 0000000000000000000000000000000000000000..038d7d801bb202007dcc71eec9b8a2dec5c7ba28 GIT binary patch literal 878 zcmV-!1CjiRP)#`c@InwEsH(Q4qZc)=g%k&xyc{3Ma=14|ds7kb{}f}+xB?~xUHCnUmIJ@h zd+Xj)2QdNciQDEW_h@?F^|9q_iW4_7tgkO*Vx^1L9)lC}%9;ArHEN4ZjxBnQ$=gm7 z4u`SQaa3@3%yF=-p^(x-*wCG1RFS}1{4^eluxqA|lfA?2>$xk|<9t3lMA(S)>9Gsw zTpCsRb<`E77L*i{Feb5oT& zBRb$!TwGYn_`MMtYTUHVDrQFKJRyG7V_4^Q~ zmQUpQPtGx9JVs|y0+A5Nnl~q~x~Y!(%|{tdWby#thv)1z%=f%y(zWyjyl%zf&P&`6 z#~ksfViz0Vs^g8i5Y4SW@W%tg5jz0SsvkvdKhnwq2o||`r+zfeQ){U372=k5eh^L2 z_3KUcclS95_wS|LOOB*O?a5D`DU+9b8d;t#dxo58F(@_v$4aY$`R)5O){4JJ*BPq+ zyA->h00gzYi%{bIoB#j-5M*USM=?f5HbON-GBh#`c@InwEsH(Q4qZc)=g%k&xyc{3Ma=14|ds7kb{}f}+xB?~xUHCnUmIJ@h zd+Xj)2QdNciQDEW_h@?F^|9q_iW4_7tgkO*Vx^1L9)lC}%9;ArHEN4ZjxBnQ$=gm7 z4u`SQaa3@3%yF=-p^(x-*wCG1RFS}1{4^eluxqA|lfA?2>$xk|<9t3lMA(S)>9Gsw zTpCsRb<`E77L*i{Feb5oT& zBRb$!TwGYn_`MMtYTUHVDrQFKJRyG7V_4^Q~ zmQUpQPtGx9JVs|y0+A5Nnl~q~x~Y!(%|{tdWby#thv)1z%=f%y(zWyjyl%zf&P&`6 z#~ksfViz0Vs^g8i5Y4SW@W%tg5jz0SsvkvdKhnwq2o||`r+zfeQ){U372=k5eh^L2 z_3KUcclS95_wS|LOOB*O?a5D`DU+9b8d;t#dxo58F(@_v$4aY$`R)5O){4JJ*BPq+ zyA->h00gzYi%{bIoB#j-5M*USM=?f5HbON-GBh#`c@InwEsH(Q4qZc)=g%k&xyc{3Ma=14|ds7kb{}f}+xB?~xUHCnUmIJ@h zd+Xj)2QdNciQDEW_h@?F^|9q_iW4_7tgkO*Vx^1L9)lC}%9;ArHEN4ZjxBnQ$=gm7 z4u`SQaa3@3%yF=-p^(x-*wCG1RFS}1{4^eluxqA|lfA?2>$xk|<9t3lMA(S)>9Gsw zTpCsRb<`E77L*i{Feb5oT& zBRb$!TwGYn_`MMtYTUHVDrQFKJRyG7V_4^Q~ zmQUpQPtGx9JVs|y0+A5Nnl~q~x~Y!(%|{tdWby#thv)1z%=f%y(zWyjyl%zf&P&`6 z#~ksfViz0Vs^g8i5Y4SW@W%tg5jz0SsvkvdKhnwq2o||`r+zfeQ){U372=k5eh^L2 z_3KUcclS95_wS|LOOB*O?a5D`DU+9b8d;t#dxo58F(@_v$4aY$`R)5O){4JJ*BPq+ zyA->h00gzYi%{bIoB#j-5M*USM=?f5HbON-GBh#`c@InwEsH(Q4qZc)=g%k&xyc{3Ma=14|ds7kb{}f}+xB?~xUHCnUmIJ@h zd+Xj)2QdNciQDEW_h@?F^|9q_iW4_7tgkO*Vx^1L9)lC}%9;ArHEN4ZjxBnQ$=gm7 z4u`SQaa3@3%yF=-p^(x-*wCG1RFS}1{4^eluxqA|lfA?2>$xk|<9t3lMA(S)>9Gsw zTpCsRb<`E77L*i{Feb5oT& zBRb$!TwGYn_`MMtYTUHVDrQFKJRyG7V_4^Q~ zmQUpQPtGx9JVs|y0+A5Nnl~q~x~Y!(%|{tdWby#thv)1z%=f%y(zWyjyl%zf&P&`6 z#~ksfViz0Vs^g8i5Y4SW@W%tg5jz0SsvkvdKhnwq2o||`r+zfeQ){U372=k5eh^L2 z_3KUcclS95_wS|LOOB*O?a5D`DU+9b8d;t#dxo58F(@_v$4aY$`R)5O){4JJ*BPq+ zyA->h00gzYi%{bIoB#j-5M*USM=?f5HbON-GBh Date: Mon, 25 May 2026 23:11:50 -0500 Subject: [PATCH 2/4] Add 32x32 Odin favicons --- public/icons/docs/odin/16@2x.png | Bin 878 -> 2250 bytes public/icons/docs/odin_packages/16@2x.png | Bin 878 -> 2250 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/public/icons/docs/odin/16@2x.png b/public/icons/docs/odin/16@2x.png index 038d7d801bb202007dcc71eec9b8a2dec5c7ba28..d4a3e8332055eee43cc33256368b8ab921a08729 100644 GIT binary patch literal 2250 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 Date: Tue, 26 May 2026 06:40:24 -0500 Subject: [PATCH 3/4] Remove unhelpful comments --- lib/docs/filters/odin_packages/entries.rb | 1 - lib/docs/scrapers/odin_packages.rb | 1 - 2 files changed, 2 deletions(-) diff --git a/lib/docs/filters/odin_packages/entries.rb b/lib/docs/filters/odin_packages/entries.rb index 68dd4bfc4c..6e68e09b54 100644 --- a/lib/docs/filters/odin_packages/entries.rb +++ b/lib/docs/filters/odin_packages/entries.rb @@ -22,7 +22,6 @@ def get_type if breadcrumb_base[0] breadcrumb_base[0].content end - # breadcrumb_base.content elsif doc_directory title = context[:html_title].gsub(/ library - pkg.odin-lang.org/, "") title diff --git a/lib/docs/scrapers/odin_packages.rb b/lib/docs/scrapers/odin_packages.rb index d6a315938a..3047c5cc55 100644 --- a/lib/docs/scrapers/odin_packages.rb +++ b/lib/docs/scrapers/odin_packages.rb @@ -5,7 +5,6 @@ class OdinPackages < UrlScraper self.type = 'odin_packages' self.release = 'latest' self.base_url = 'https://pkg.odin-lang.org/' - # self.root_path = 'https://pkg.odin-lang.org/' self.initial_paths = %w(base core vendor) options[:trailing_slash] = false From d0a94f6316d783d86f3f2c67663c9c08f11d2b4c Mon Sep 17 00:00:00 2001 From: Close Date: Tue, 26 May 2026 17:32:04 -0500 Subject: [PATCH 4/4] Remove redundant check --- lib/docs/filters/odin_packages/entries.rb | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/lib/docs/filters/odin_packages/entries.rb b/lib/docs/filters/odin_packages/entries.rb index 6e68e09b54..adc8b7ebb8 100644 --- a/lib/docs/filters/odin_packages/entries.rb +++ b/lib/docs/filters/odin_packages/entries.rb @@ -19,9 +19,7 @@ def get_type breadcrumb_base = css(".pkg-breadcrumb > ol > li") doc_directory = css(".doc-directory") if breadcrumb_base[0] - if breadcrumb_base[0] - breadcrumb_base[0].content - end + breadcrumb_base[0].content elsif doc_directory title = context[:html_title].gsub(/ library - pkg.odin-lang.org/, "") title