opensearch.xml generator
This commit is contained in:
parent
fe96287442
commit
cc824b5820
13 changed files with 198 additions and 14 deletions
50
open-search.go
Normal file
50
open-search.go
Normal file
|
@ -0,0 +1,50 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"encoding/xml"
|
||||
"fmt"
|
||||
"os"
|
||||
)
|
||||
|
||||
type OpenSearchDescription struct {
|
||||
XMLName xml.Name `xml:"OpenSearchDescription"`
|
||||
Xmlns string `xml:"xmlns,attr"`
|
||||
ShortName string `xml:"ShortName"`
|
||||
Description string `xml:"Description"`
|
||||
Tags string `xml:"Tags"`
|
||||
URL URL `xml:"Url"`
|
||||
}
|
||||
|
||||
type URL struct {
|
||||
Type string `xml:"type,attr"`
|
||||
Template string `xml:"template,attr"`
|
||||
}
|
||||
|
||||
func generateOpenSearchXML(config Config) {
|
||||
opensearch := OpenSearchDescription{
|
||||
Xmlns: "http://a9.com/-/spec/opensearch/1.1/",
|
||||
ShortName: "Ocásek",
|
||||
Description: "Search engine",
|
||||
Tags: "search, engine",
|
||||
URL: URL{
|
||||
Type: "text/html",
|
||||
Template: fmt.Sprintf("https://%s/search?q={searchTerms}", config.OpenSearch.Domain),
|
||||
},
|
||||
}
|
||||
|
||||
file, err := os.Create("static/opensearch.xml")
|
||||
if err != nil {
|
||||
fmt.Println("Error creating OpenSearch file:", err)
|
||||
return
|
||||
}
|
||||
defer file.Close()
|
||||
|
||||
enc := xml.NewEncoder(file)
|
||||
enc.Indent(" ", " ")
|
||||
if err := enc.Encode(opensearch); err != nil {
|
||||
fmt.Println("Error encoding OpenSearch XML:", err)
|
||||
return
|
||||
}
|
||||
|
||||
fmt.Println("OpenSearch description file generated successfully.")
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue