From e005380362953aa896dacab8affadab84ef3dda3 Mon Sep 17 00:00:00 2001 From: Levi Neuwirth Date: Mon, 13 Apr 2026 10:26:25 -0400 Subject: [PATCH] subdomain svg correction --- build/Filters/Links.hs | 17 ++++++++++------- static/favicon-96x96.png | Bin 529 -> 16261 bytes static/favicon.ico | Bin 15086 -> 15086 bytes static/favicon.svg | 2 +- 4 files changed, 11 insertions(+), 8 deletions(-) diff --git a/build/Filters/Links.hs b/build/Filters/Links.hs index 574fb4f..4dff099 100644 --- a/build/Filters/Links.hs +++ b/build/Filters/Links.hs @@ -76,18 +76,21 @@ isInternalPage url | "https://" `T.isPrefixOf` url = False | otherwise = True --- | True if the URL points outside the site's domain. +-- | True if the URL points outside the site's content host. -- --- Uses a strict hostname comparison rather than substring matching, so --- that a hostile lookalike like @evil-levineuwirth.org.attacker.com@ is --- correctly classified as external (and gets @rel=noopener noreferrer@ --- plus @target=_blank@ applied). +-- Only @levineuwirth.org@ and @www.levineuwirth.org@ count as the content +-- site itself. Sibling subdomains like @git.levineuwirth.org@ (Forgejo) are +-- distinct services and are classified as external so they receive their +-- brand icon, @target=_blank@, and @rel=noopener noreferrer@. +-- +-- Uses strict hostname comparison rather than substring matching, so a +-- hostile lookalike like @evil-levineuwirth.org.attacker.com@ is also +-- correctly classified as external. isExternal :: Text -> Bool isExternal url = case extractHost url of Nothing -> False - Just host -> - not (host == siteHost || ("." <> siteHost) `T.isSuffixOf` host) + Just host -> host /= siteHost && host /= "www." <> siteHost where siteHost = "levineuwirth.org" diff --git a/static/favicon-96x96.png b/static/favicon-96x96.png index 18032307ec05ee940750b49abe7edf4a79498901..9e9d866bb0b45acc82d57dad320750c825ef4f40 100644 GIT binary patch literal 16261 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 literal 529 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGo4kfM;CBgY=CFO}lsSH7>i8*eG zWtqwOdG4ussYQt;`9%sE86_nJ#a8+=Gh3{TQU{AO%ZRj-983=5n{|2yxU%I(vIn}6InxB74Gr>gb)mmkmDDJ}mh(ro=FBVD)iFRwno``50MwPWuA z9fuDs(G1)IyIEb*=WrS@syXoTu6ejkA$o%D39%IJSA1U=XQy5Mewsm2fjOmtX9D9p zc9y&Rf`^3 k{TU7TC>^2pz_u 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 dy=C5{uknA*TH(wF@i}oPvE<+L!T literal 15086 zcmZQzU}RusFfd>M(h3YKR2dk|7#J876rg+o28Me;F##YAlFwjaU}ys>&;Y6dYGFtK zVvsm4a5=uH)5fWF+S9!cG&G-|x*ogB(TO!(=19**FaDydyJn2akA}}^`WVe0qvgYB z`8ZlXjMk5%?Ss+w(P;Z{w0%6m`^Tf>1Eb>uqvHdk;{&7P1Eb>uqvHdk z;{&7P1Eb>uqvHdk;{&7P1Eb>uqvHdk;{&7P1Eb>uqvHdEcYFZXx}Z^U`h);zot6R+ zI{-1hbz0N2H{1J&%-&OfRi*U)l1q6_1v=eRexa?$akPCf+CCa>AC9(VJ36b+9amUNdi0el&bW)5q}5ACwkS03&3j4FCWD diff --git a/static/favicon.svg b/static/favicon.svg index 61d639c..78c8c19 100644 --- a/static/favicon.svg +++ b/static/favicon.svg @@ -1 +1 @@ -RealFaviconGeneratorhttps://realfavicongenerator.net \ No newline at end of file +RealFaviconGeneratorhttps://realfavicongenerator.net \ No newline at end of file