From 18ca208b1d90115350f3b32400fc7e52a02ee9ce Mon Sep 17 00:00:00 2001 From: Chris Roberts Date: Thu, 10 Jul 2025 03:22:28 +0000 Subject: [PATCH 1/7] Update URLs for tcl_tk and fix version check --- lib/docs/scrapers/tcl_tk.rb | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/docs/scrapers/tcl_tk.rb b/lib/docs/scrapers/tcl_tk.rb index ec9d5ed427..f4dd3f867c 100644 --- a/lib/docs/scrapers/tcl_tk.rb +++ b/lib/docs/scrapers/tcl_tk.rb @@ -4,10 +4,10 @@ class TclTk < UrlScraper self.type = 'tcl_tk' self.slug = 'tcl_tk' self.release = '8.6.6' - self.base_url = 'https://www.tcl.tk/man/tcl/' + self.base_url = 'https://www.tcl-lang.org/man/tcl/' self.root_path = 'contents.htm' self.links = { - home: 'https://www.tcl.tk/', + home: 'https://www.tcl-lang.org/', code: 'https://sourceforge.net/projects/tcl/files/Tcl/' } @@ -27,11 +27,11 @@ class TclTk < UrlScraper ] options[:attribution] = <<-HTML - Licensed under Tcl/Tk terms + Licensed under Tcl/Tk terms HTML def get_latest_version(opts) - doc = fetch_doc('https://www.tcl.tk/man/tcl/contents.htm', opts) + doc = fetch_doc('https://www.tcl-lang.org/man/tcl/', opts) doc.at_css('h2').content.scan(/Tk([0-9.]+)/)[0][0] end end From 63a1e666e845fddd13641a8e59949aac5aaa4958 Mon Sep 17 00:00:00 2001 From: Chris Roberts Date: Thu, 10 Jul 2025 04:54:37 +0000 Subject: [PATCH 2/7] Add tcl9.0 --- lib/docs/scrapers/tcl_tk.rb | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/lib/docs/scrapers/tcl_tk.rb b/lib/docs/scrapers/tcl_tk.rb index f4dd3f867c..c47e2f1178 100644 --- a/lib/docs/scrapers/tcl_tk.rb +++ b/lib/docs/scrapers/tcl_tk.rb @@ -3,9 +3,6 @@ class TclTk < UrlScraper self.name = 'Tcl/Tk' self.type = 'tcl_tk' self.slug = 'tcl_tk' - self.release = '8.6.6' - self.base_url = 'https://www.tcl-lang.org/man/tcl/' - self.root_path = 'contents.htm' self.links = { home: 'https://www.tcl-lang.org/', code: 'https://sourceforge.net/projects/tcl/files/Tcl/' @@ -30,6 +27,17 @@ class TclTk < UrlScraper Licensed under Tcl/Tk terms HTML + version '8.6' do + self.base_url = "https://www.tcl-lang.org/man/tcl#{self.version}/" + self.root_path = 'contents.htm' + self.release = '8.6.6' + end + + version '9.0' do + self.base_url = "https://www.tcl-lang.org/man/tcl#{self.version}/" + self.release = '9.0.2' + end + def get_latest_version(opts) doc = fetch_doc('https://www.tcl-lang.org/man/tcl/', opts) doc.at_css('h2').content.scan(/Tk([0-9.]+)/)[0][0] From ceca91ba8d4c044afdf419c4ea5e346251b1dd8f Mon Sep 17 00:00:00 2001 From: Chris Roberts Date: Thu, 10 Jul 2025 04:55:39 +0000 Subject: [PATCH 3/7] Bump tcl8.6 release --- lib/docs/scrapers/tcl_tk.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/docs/scrapers/tcl_tk.rb b/lib/docs/scrapers/tcl_tk.rb index c47e2f1178..8aa933c835 100644 --- a/lib/docs/scrapers/tcl_tk.rb +++ b/lib/docs/scrapers/tcl_tk.rb @@ -30,7 +30,7 @@ class TclTk < UrlScraper version '8.6' do self.base_url = "https://www.tcl-lang.org/man/tcl#{self.version}/" self.root_path = 'contents.htm' - self.release = '8.6.6' + self.release = '8.6.16' end version '9.0' do From e0a0a262569fa385aec19c7b3dc9a7a7952399e3 Mon Sep 17 00:00:00 2001 From: Chris Roberts Date: Thu, 10 Jul 2025 05:02:13 +0000 Subject: [PATCH 4/7] Fix name of Tcl icon file --- public/icons/docs/tcl_tk/{16@2.png => 16@2x.png} | Bin 1 file changed, 0 insertions(+), 0 deletions(-) rename public/icons/docs/tcl_tk/{16@2.png => 16@2x.png} (100%) diff --git a/public/icons/docs/tcl_tk/16@2.png b/public/icons/docs/tcl_tk/16@2x.png similarity index 100% rename from public/icons/docs/tcl_tk/16@2.png rename to public/icons/docs/tcl_tk/16@2x.png From 87eb6bfb460403a4732b2b5ef74257c158d19878 Mon Sep 17 00:00:00 2001 From: Chris Roberts Date: Thu, 10 Jul 2025 05:12:08 +0000 Subject: [PATCH 5/7] Add new tcl logo --- public/icons/docs/tcl_tk/16.png | Bin 387 -> 8925 bytes public/icons/docs/tcl_tk/16@2x.png | Bin 853 -> 9520 bytes public/icons/docs/tcl_tk/SOURCE | 2 +- 3 files changed, 1 insertion(+), 1 deletion(-) diff --git a/public/icons/docs/tcl_tk/16.png b/public/icons/docs/tcl_tk/16.png index eb88a3bb08114994a637b09b768157e601e64c83..4485795098485929c7a7085b5dd18baf70c184e1 100644 GIT binary patch literal 8925 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 Date: Mon, 14 Jul 2025 07:45:51 +0200 Subject: [PATCH 6/7] tcl_tk: reorder versions --- lib/docs/scrapers/tcl_tk.rb | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/docs/scrapers/tcl_tk.rb b/lib/docs/scrapers/tcl_tk.rb index 8aa933c835..95a9cf86b4 100644 --- a/lib/docs/scrapers/tcl_tk.rb +++ b/lib/docs/scrapers/tcl_tk.rb @@ -27,15 +27,15 @@ class TclTk < UrlScraper Licensed under Tcl/Tk terms HTML - version '8.6' do + version '9.0' do self.base_url = "https://www.tcl-lang.org/man/tcl#{self.version}/" - self.root_path = 'contents.htm' - self.release = '8.6.16' + self.release = '9.0.2' end - version '9.0' do + version '8.6' do self.base_url = "https://www.tcl-lang.org/man/tcl#{self.version}/" - self.release = '9.0.2' + self.root_path = 'contents.htm' + self.release = '8.6.16' end def get_latest_version(opts) From 6b680d17621cb807e9a45639186cdb24ec4e8dc3 Mon Sep 17 00:00:00 2001 From: Simon Legner Date: Mon, 14 Jul 2025 07:47:58 +0200 Subject: [PATCH 7/7] tcl_tk: enable syntax highlighting --- lib/docs/filters/tcl_tk/clean_html.rb | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/docs/filters/tcl_tk/clean_html.rb b/lib/docs/filters/tcl_tk/clean_html.rb index 5691c3f6fb..ab99f781f3 100644 --- a/lib/docs/filters/tcl_tk/clean_html.rb +++ b/lib/docs/filters/tcl_tk/clean_html.rb @@ -35,6 +35,10 @@ def call node.content = node.content.capitalize end + css('pre').each do |node| + node['data-language'] = 'tcl' + end + doc end end