Implements OpenSearch support, closes #107

This commit is contained in:
Kadin Buckton
2020-01-03 09:47:57 -05:00
parent ee43d8cfb1
commit 8bffb61e68
3 changed files with 25 additions and 0 deletions

View File

@@ -43,6 +43,8 @@ proc renderHead*(prefs: Prefs; cfg: Config; titleText=""; desc=""; video="";
link(rel="icon", type="image/png", sizes="16x16", href="/favicon-16x16.png")
link(rel="manifest", href="/site.webmanifest")
link(rel="mask-icon", href="/safari-pinned-tab.svg", color="#ff6c60")
link(rel="search", type="application/opensearchdescription+xml", title=cfg.title,
href="http://localhost:8080/opensearch")
if prefs.hlsPlayback:
script(src="/js/hls.light.min.js")

12
src/views/opensearch.nimf Normal file
View File

@@ -0,0 +1,12 @@
#? stdtmpl(subsChar = '$', metaChar = '#')
#proc generateOpenSearchXML*(name, hostname, url: string): string =
# result = ""
<?xml version="1.0" encoding="UTF-8"?>
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/"
xmlns:moz="http://www.mozilla.org/2006/browser/search/">
<ShortName>${name}</ShortName>
<Description>Twitter search via ${hostname}</Description>
<InputEncoding>UTF-8</InputEncoding>
<Url type="text/html" template="${url}{searchTerms}" />
</OpenSearchDescription>
#end proc