mirror of
https://github.com/status-im/fathom.git
synced 2025-02-28 11:00:43 +00:00
serve assets from /assets subdir and re-use packr box for index.html & tracker.js
This commit is contained in:
parent
4aac79c7f9
commit
6482378734
@ -2,16 +2,16 @@
|
||||
<html class="no-js" lang="en">
|
||||
<head>
|
||||
<title>Fathom - simple website analytics</title>
|
||||
<link href="/css/styles.css" rel="stylesheet">
|
||||
<link href="/assets/css/styles.css" rel="stylesheet">
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="/img/favicon.png">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="/assets/img/favicon.png">
|
||||
</head>
|
||||
<body class="fathom">
|
||||
<div id="root"></div>
|
||||
<script>
|
||||
document.documentElement.className = document.documentElement.className.replace('no-js', '');
|
||||
</script>
|
||||
<script src="/js/script.js"></script>
|
||||
<script src="/assets/js/script.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -25,7 +25,27 @@ func Routes() *mux.Router {
|
||||
r.Handle("/api/stats/referrers", Authorize(GetReferrerStatsHandler)).Methods(http.MethodGet)
|
||||
r.Handle("/api/stats/referrers/pageviews", Authorize(GetReferrerStatsPageviewsHandler)).Methods(http.MethodGet)
|
||||
|
||||
r.Path("/tracker.js").Handler(http.FileServer(packr.NewBox("./../../build/js")))
|
||||
r.PathPrefix("/").Handler(http.FileServer(packr.NewBox("./../../build")))
|
||||
box := packr.NewBox("./../../build")
|
||||
r.Path("/tracker.js").Handler(serveFileFromBox(&box, "js/tracker.js"))
|
||||
r.Path("/").Handler(serveFileFromBox(&box, "/index.html"))
|
||||
r.PathPrefix("/assets").Handler(http.StripPrefix("/assets", http.FileServer(box)))
|
||||
return r
|
||||
}
|
||||
|
||||
func serveFileFromBox(box *packr.Box, filename string) http.Handler {
|
||||
return HandlerFunc(func(w http.ResponseWriter, r *http.Request) error {
|
||||
f, err := box.Open(filename)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer f.Close()
|
||||
|
||||
d, err := f.Stat()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
http.ServeContent(w, r, filename, d.ModTime(), f)
|
||||
return nil
|
||||
})
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user