add embedded assets server

This commit is contained in:
Henry 2021-02-04 17:46:51 +01:00
parent 2d38db1bc7
commit 025a5be7ad
10 changed files with 100 additions and 30 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

40
web/assets_vfsdata.go Normal file

File diff suppressed because one or more lines are too long

View File

@ -19,3 +19,5 @@ import (
var pkgDir = goutils.MustLocatePackage("github.com/ssb-ngi-pointer/gossb-rooms/web")
var Templates http.FileSystem = http.Dir(filepath.Join(pkgDir, "templates"))
var Assets http.FileSystem = http.Dir(filepath.Join(pkgDir, "assets"))

45
web/embedded_generate.go Normal file
View File

@ -0,0 +1,45 @@
// +build ignore
package main
import (
"log"
"os/exec"
"github.com/shurcooL/vfsgen"
"github.com/ssb-ngi-pointer/gossb-rooms/web"
)
func main() {
err := vfsgen.Generate(web.Templates, vfsgen.Options{
PackageName: "web",
BuildTags: "!dev",
VariableName: "Templates",
})
if err != nil {
log.Fatalln(err)
}
err = vfsgen.Generate(web.Assets, vfsgen.Options{
PackageName: "web",
BuildTags: "!dev",
VariableName: "Assets",
})
if err != nil {
log.Fatalln(err)
}
// nasty hack to strip duplicate type information
// https://github.com/shurcooL/vfsgen/issues/23
err = exec.Command("sed", "-i", "/^type vfsgen۰FS/,$d", "assets_vfsdata.go").Run()
if err != nil {
log.Fatalln(err)
}
// clean up the unused imports
err = exec.Command("goimports", "-w", ".").Run()
if err != nil {
log.Fatalln(err)
}
}

View File

@ -51,6 +51,8 @@ func New(m *mux.Router, repo repo.Interface) (http.Handler, error) {
m.Get(router.CompleteIndex).Handler(r.StaticHTML("/landing/index.tmpl"))
m.Get(router.CompleteAbout).Handler(r.StaticHTML("/landing/about.tmpl"))
m.PathPrefix("/assets/").Handler(http.StripPrefix("/assets/", http.FileServer(web.Assets)))
m.NotFoundHandler = http.HandlerFunc(func(rw http.ResponseWriter, req *http.Request) {
fmt.Fprintf(rw, "404: url not found")
})

View File

@ -4,8 +4,8 @@ import (
"net/http"
"github.com/gorilla/mux"
"go.mindeco.de/http/render"
"github.com/ssb-ngi-pointer/gossb-rooms/web/router"
"go.mindeco.de/http/render"
)
var HTMLTemplates = []string{

View File

@ -2,6 +2,9 @@
{{ define "content" }}
<div class="page-header">
<h1>Index landing page</h1>
<img src="/assets/img/test-hermie.png">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Sed faucibus turpis in eu mi bibendum. A arcu cursus vitae congue mauris rhoncus aenean vel elit. Aliquet bibendum enim facilisis gravida neque convallis. Tempor orci eu lobortis elementum nibh tellus molestie. Sit amet est placerat in egestas erat imperdiet. Amet consectetur adipiscing elit duis tristique sollicitudin nibh sit amet. Ultrices in iaculis nunc sed. Odio facilisis mauris sit amet massa. Sed vulputate mi sit amet mauris commodo quis imperdiet. Hendrerit dolor magna eget est lorem ipsum dolor sit amet. Neque vitae tempus quam pellentesque nec nam. Quis risus sed vulputate odio ut. Tincidunt lobortis feugiat vivamus at augue.</p>
<p>Sem nulla pharetra diam sit amet nisl. Sed odio morbi quis commodo odio aenean sed adipiscing. In ornare quam viverra orci sagittis. Elit eget gravida cum sociis natoque. Auctor neque vitae tempus quam. Porttitor massa id neque aliquam vestibulum morbi blandit cursus risus. Ornare lectus sit amet est placerat in egestas erat. Ut enim blandit volutpat maecenas. Fermentum odio eu feugiat pretium nibh. At risus viverra adipiscing at. Et egestas quis ipsum suspendisse. Mollis nunc sed id semper risus in hendrerit. Semper feugiat nibh sed pulvinar.</p>
<p>Nunc sed augue lacus viverra vitae. Urna id volutpat lacus laoreet non curabitur gravida arcu ac. At lectus urna duis convallis convallis tellus id interdum. Hac habitasse platea dictumst quisque. In ornare quam viverra orci sagittis eu volutpat odio facilisis. Ac felis donec et odio pellentesque diam volutpat commodo sed. Elementum integer enim neque volutpat ac tincidunt vitae semper quis. Nec nam aliquam sem et tortor consequat id porta nibh. Massa vitae tortor condimentum lacinia quis vel. Neque egestas congue quisque egestas diam in arcu cursus. Rhoncus mattis rhoncus urna neque viverra justo. Quam quisque id diam vel quam elementum pulvinar. At volutpat diam ut venenatis tellus in metus vulputate eu. Dui id ornare arcu odio ut sem nulla pharetra. Ut eu sem integer vitae justo eget magna fermentum iaculis. Risus sed vulputate odio ut. Eu volutpat odio facilisis mauris sit. Vel fringilla est ullamcorper eget nulla facilisi etiam. Nullam ac tortor vitae purus faucibus.</p>

View File

@ -1,22 +0,0 @@
// +build ignore
package main
import (
"log"
"github.com/shurcooL/vfsgen"
"github.com/ssb-ngi-pointer/gossb-rooms/web"
)
func main() {
err := vfsgen.Generate(web.Templates, vfsgen.Options{
PackageName: "web",
BuildTags: "!dev",
VariableName: "Templates",
})
if err != nil {
log.Fatalln(err)
}
}

File diff suppressed because one or more lines are too long

View File

@ -11,7 +11,7 @@ import (
"go.mindeco.de/logging"
)
//go:generate go run -tags=dev templates_generate.go
//go:generate go run -tags=dev embedded_generate.go
func TemplateFuncs(m *mux.Router) template.FuncMap {
return template.FuncMap{