diff options
author | Lia Lenckowski <lialenck@protonmail.com> | 2023-08-04 16:56:23 +0200 |
---|---|---|
committer | Lia Lenckowski <lialenck@protonmail.com> | 2023-08-04 16:56:23 +0200 |
commit | 6e73d741c828c0e12c3ba1e1270d8b3c4d3182f0 (patch) | |
tree | 0b2a17a4cd45f3b11621f85bbcabfad20e3256dd /src/Config.hs | |
parent | be01871f267f396373801ffb97a11470c5b563ec (diff) | |
download | fastbangs-6e73d741c828c0e12c3ba1e1270d8b3c4d3182f0.tar fastbangs-6e73d741c828c0e12c3ba1e1270d8b3c4d3182f0.tar.bz2 fastbangs-6e73d741c828c0e12c3ba1e1270d8b3c4d3182f0.tar.zst |
add bang to search engine name
this allows firefox users to add fastbangs multiple times as a search engine, when using different default bangs
Diffstat (limited to 'src/Config.hs')
-rw-r--r-- | src/Config.hs | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/src/Config.hs b/src/Config.hs index 799b297..45f9808 100644 --- a/src/Config.hs +++ b/src/Config.hs @@ -26,16 +26,19 @@ faviconUrl :: IsString s => IO s faviconUrl = (fromString . fromMaybe "https://69owo.de/favicon.ico") <$> lookupEnv "FAVICON_URL" -makeOpenSearch :: (IsString s, Semigroup s) => s -> IO s -makeOpenSearch searchUrl = do +makeOpenSearch :: (IsString s, Semigroup s) => Maybe s -> IO s +makeOpenSearch defBang = do favicon <- faviconUrl + bp <- getBaseUrl + let (searchUrl, name) = case defBang of + Nothing -> (bp <> "/#{searchTerms}", "FastBangs") + Just b -> (bp <> "/#" <> b <> "#{searchTerms}", "FastBangs (" <> b <> ")") + return $ "<OpenSearchDescription xmlns=\"http://a9.com/-/spec/opensearch/1.1/\"\n" <> " xmlns:moz=\"http://www.mozilla.org/2006/browser/search/\">\n" - <> " <ShortName>Fastbangs</ShortName>\n" + <> " <ShortName>" <> name <> "</ShortName>\n" <> " <Description>Handles search bangs (mostly) locally.</Description>\n" <> " <InputEncoding>UTF-8</InputEncoding>\n" <> " <Image width=\"16\" height=\"16\" type=\"image/x-icon\">" <> favicon <> "</Image>\n" <> " <Url type=\"text/html\" template=\"" <> searchUrl <> "\"/>\n" - <> " <!--<Url type=\"application/x-suggestions+json\" template=\"[suggestionURL]\"/>-->\n" - <> " <!--<moz:SearchForm>[https://example.com/search]</moz:SearchForm>-->\n" <> "</OpenSearchDescription>\n" |