From 1835eb4d0a2bbb50ffb07ad356ccf526bff7d195 Mon Sep 17 00:00:00 2001 From: neveler <55753029+neveler@users.noreply.github.com> Date: Mon, 10 Nov 2025 18:50:53 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=87=AA=E5=8A=A8=E9=93=BE?= =?UTF-8?q?=E6=8E=A5=E7=9A=84=E5=88=A4=E6=96=AD=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _plugins/auto-link.rb | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/_plugins/auto-link.rb b/_plugins/auto-link.rb index 8909b7dd..a2d4e867 100644 --- a/_plugins/auto-link.rb +++ b/_plugins/auto-link.rb @@ -5,24 +5,23 @@ next unless doc.output_ext == ".html" site = doc.site - baseurl = site.config["baseurl"].to_s liquid_context = Liquid::Context.new({}, {}, { site: site }) process_uri = lambda do |path| uri = Addressable::URI.parse(path) - if uri&.path && !uri.path&.start_with?(baseurl) + if uri&.path uri.path = Liquid::Template.parse("{% link #{uri.path[1..]} %}").render!(liquid_context) end uri.to_s end fragment = Nokogiri::HTML::DocumentFragment.parse(doc.content) - fragment.css("[src^=\"/\"]").each do |item| + fragment.css("[src^=\"/assets/\"],[src^=\"/\"][src$=\".md\"],[src^=\"/\"][src*=\".md#\"]").each do |item| if item["src"] item["src"] = process_uri.call(item["src"]) end end - fragment.css("[href^=\"/\"]").each do |item| + fragment.css("[href^=\"/assets/\"],[href^=\"/\"][href$=\".md\"],[href^=\"/\"][href*=\".md#\"]").each do |item| if item["href"] item["href"] = process_uri.call(item["href"]) end