From bfb7ed2c9958275f9aee017eb0b55448e5bc127b Mon Sep 17 00:00:00 2001 From: Viktor Lofgren Date: Sun, 1 Sep 2024 13:32:14 +0200 Subject: [PATCH] (search) Translate cursed medium URLs to scribe.rip links via the search application --- .../search/svc/SearchQueryIndexService.java | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/code/services-application/search-service/java/nu/marginalia/search/svc/SearchQueryIndexService.java b/code/services-application/search-service/java/nu/marginalia/search/svc/SearchQueryIndexService.java index 9fd22130..b5ebd11a 100644 --- a/code/services-application/search-service/java/nu/marginalia/search/svc/SearchQueryIndexService.java +++ b/code/services-application/search-service/java/nu/marginalia/search/svc/SearchQueryIndexService.java @@ -101,9 +101,22 @@ public class SearchQueryIndexService { } private EdgeUrl cleanUrl(EdgeUrl url) { - if (url.domain.topDomain.equals("fandom.com")) { - String subdomain = url.domain.subDomain; - return new EdgeUrl("https", new EdgeDomain("breezewiki.com"), null, "/" + subdomain + url.path, null); + String topdomain = url.domain.topDomain; + String subdomain = url.domain.subDomain; + String path = url.path; + + if (topdomain.equals("fandom.com")) { + return new EdgeUrl("https", new EdgeDomain("breezewiki.com"), null, "/" + subdomain + path, null); + } + else if (topdomain.equals("medium.com")) { + if (!subdomain.isBlank()) { + return new EdgeUrl("https", new EdgeDomain("scribe.rip"), null, path, null); + } + else { + String article = path.substring(path.indexOf("/", 1)); + return new EdgeUrl("https", new EdgeDomain("scribe.rip"), null, article, null); + } + } return url; }