Migrate to go:embed from go-bindata
This commit is contained in:
parent
bba53a8be6
commit
7eb9bd7e29
4
.github/workflows/go.yml
vendored
4
.github/workflows/go.yml
vendored
@ -16,10 +16,6 @@ jobs:
|
||||
- name: Check out code into the Go module directory
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Install go-bindata
|
||||
run: |
|
||||
go get -u -v github.com/kevinburke/go-bindata/...
|
||||
|
||||
- name: Build
|
||||
run: |
|
||||
make magneticod
|
||||
|
1
.gitignore
vendored
1
.gitignore
vendored
@ -1,7 +1,6 @@
|
||||
vendor/
|
||||
.idea/
|
||||
Gopkg.lock
|
||||
cmd/magneticow/bindata.go
|
||||
go.sum
|
||||
|
||||
|
||||
|
@ -3,7 +3,6 @@ WORKDIR /magnetico
|
||||
|
||||
RUN export PATH=$PATH:/go/bin
|
||||
RUN apk add --no-cache build-base curl git
|
||||
RUN go install -a -v github.com/go-bindata/go-bindata/...@latest
|
||||
|
||||
ADD ./Makefile /magnetico/
|
||||
ADD ./pkg /magnetico/pkg
|
||||
|
6
Makefile
6
Makefile
@ -6,11 +6,7 @@ magneticod:
|
||||
go install --tags fts5 "-ldflags=-s -w -X main.compiledOn=`date -u +%Y-%m-%dT%H:%M:%SZ`" ./cmd/magneticod
|
||||
|
||||
magneticow:
|
||||
# TODO: minify files!
|
||||
# https://github.com/kevinburke/go-bindata
|
||||
go-bindata -pkg "main" -o="cmd/magneticow/bindata.go" -prefix="cmd/magneticow/data/" cmd/magneticow/data/...
|
||||
# Prepend the linter instruction to the beginning of the file
|
||||
sed -i '1s;^;//lint:file-ignore * Ignore file altogether\n;' cmd/magneticow/bindata.go
|
||||
# TODO: minify /data/* files!
|
||||
go install --tags fts5 "-ldflags=-s -w -X main.compiledOn=`date -u +%Y-%m-%dT%H:%M:%SZ`" ./cmd/magneticow
|
||||
|
||||
.PHONY: docker
|
||||
|
@ -1,6 +1,7 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"embed"
|
||||
"net/http"
|
||||
"strings"
|
||||
"time"
|
||||
@ -10,6 +11,9 @@ import (
|
||||
"github.com/boramalper/magnetico/pkg/persistence"
|
||||
)
|
||||
|
||||
//go:embed data
|
||||
var content embed.FS
|
||||
|
||||
// DONE
|
||||
func rootHandler(w http.ResponseWriter, r *http.Request) {
|
||||
nTorrents, err := database.GetNumberOfTorrents()
|
||||
@ -26,7 +30,7 @@ func rootHandler(w http.ResponseWriter, r *http.Request) {
|
||||
}
|
||||
|
||||
func torrentsHandler(w http.ResponseWriter, r *http.Request) {
|
||||
data := mustAsset("templates/torrents.html")
|
||||
data, _ := content.ReadFile("data/templates/torrents.html")
|
||||
w.Header().Set("Content-Type", "text/html; charset=utf-8")
|
||||
// Cache static resources for a day
|
||||
w.Header().Set("Cache-Control", "max-age=86400")
|
||||
@ -34,7 +38,7 @@ func torrentsHandler(w http.ResponseWriter, r *http.Request) {
|
||||
}
|
||||
|
||||
func torrentsInfohashHandler(w http.ResponseWriter, r *http.Request) {
|
||||
data := mustAsset("templates/torrent.html")
|
||||
data, _ := content.ReadFile("data/templates/torrent.html")
|
||||
w.Header().Set("Content-Type", "text/html; charset=utf-8")
|
||||
// Cache static resources for a day
|
||||
w.Header().Set("Cache-Control", "max-age=86400")
|
||||
@ -42,7 +46,7 @@ func torrentsInfohashHandler(w http.ResponseWriter, r *http.Request) {
|
||||
}
|
||||
|
||||
func statisticsHandler(w http.ResponseWriter, r *http.Request) {
|
||||
data := mustAsset("templates/statistics.html")
|
||||
data, _ := content.ReadFile("data/templates/statistics.html")
|
||||
w.Header().Set("Content-Type", "text/html; charset=utf-8")
|
||||
// Cache static resources for a day
|
||||
w.Header().Set("Cache-Control", "max-age=86400")
|
||||
@ -98,7 +102,7 @@ func feedHandler(w http.ResponseWriter, r *http.Request) {
|
||||
}
|
||||
|
||||
func staticHandler(w http.ResponseWriter, r *http.Request) {
|
||||
data, err := Asset(r.URL.Path[1:])
|
||||
data, err := content.ReadFile("data/" + r.URL.Path[1:])
|
||||
if err != nil {
|
||||
http.NotFound(w, r)
|
||||
return
|
||||
|
@ -176,8 +176,8 @@ func main() {
|
||||
}
|
||||
|
||||
templates = make(map[string]*template.Template)
|
||||
templates["feed"] = template.Must(template.New("feed").Funcs(templateFunctions).Parse(string(mustAsset("templates/feed.xml"))))
|
||||
templates["homepage"] = template.Must(template.New("homepage").Funcs(templateFunctions).Parse(string(mustAsset("templates/homepage.html"))))
|
||||
templates["feed"] = template.Must(template.New("feed").Funcs(templateFunctions).Parse(string(mustAsset("data/templates/feed.xml"))))
|
||||
templates["homepage"] = template.Must(template.New("homepage").Funcs(templateFunctions).Parse(string(mustAsset("data/templates/homepage.html"))))
|
||||
|
||||
database, err = persistence.MakeDatabase(opts.Database, logger)
|
||||
if err != nil {
|
||||
@ -201,7 +201,7 @@ func respondError(w http.ResponseWriter, statusCode int, format string, a ...int
|
||||
}
|
||||
|
||||
func mustAsset(name string) []byte {
|
||||
data, err := Asset(name)
|
||||
data, err := content.ReadFile(name)
|
||||
if err != nil {
|
||||
zap.L().Panic("Could NOT access the requested resource! THIS IS A BUG, PLEASE REPORT",
|
||||
zap.String("name", name), zap.Error(err))
|
||||
|
Loading…
Reference in New Issue
Block a user