andreimarcu
9 years ago
4 changed files with 95 additions and 24 deletions
-
16display.go
-
10pages.go
-
26server.go
-
67templates.go
@ -0,0 +1,67 @@ |
|||||
|
package main |
||||
|
|
||||
|
import ( |
||||
|
"bytes" |
||||
|
"io" |
||||
|
"path" |
||||
|
"path/filepath" |
||||
|
|
||||
|
"github.com/GeertJohan/go.rice" |
||||
|
"github.com/flosch/pongo2" |
||||
|
) |
||||
|
|
||||
|
type Pongo2Loader struct { |
||||
|
box *rice.Box |
||||
|
} |
||||
|
|
||||
|
func NewPongo2Loader(boxName string) (*Pongo2Loader, error) { |
||||
|
fs := &Pongo2Loader{} |
||||
|
|
||||
|
p2l, err := rice.FindBox(boxName) |
||||
|
if err != nil { |
||||
|
return nil, err |
||||
|
} |
||||
|
|
||||
|
fs.box = p2l |
||||
|
return fs, nil |
||||
|
} |
||||
|
|
||||
|
func (fs *Pongo2Loader) Get(path string) (io.Reader, error) { |
||||
|
myBytes, err := fs.box.Bytes(path) |
||||
|
if err != nil { |
||||
|
return nil, err |
||||
|
} |
||||
|
|
||||
|
return bytes.NewReader(myBytes), nil |
||||
|
} |
||||
|
|
||||
|
func (fs *Pongo2Loader) Abs(base, name string) string { |
||||
|
me := path.Join(filepath.Dir(base), name) |
||||
|
return me |
||||
|
} |
||||
|
|
||||
|
func populateTemplatesMap(tSet *pongo2.TemplateSet, tMap map[string]*pongo2.Template) error { |
||||
|
|
||||
|
templates := [...]string{ |
||||
|
"index.html", |
||||
|
"404.html", |
||||
|
"oops.html", |
||||
|
|
||||
|
"display/audio.html", |
||||
|
"display/image.html", |
||||
|
"display/video.html", |
||||
|
"display/pdf.html", |
||||
|
"display/file.html", |
||||
|
} |
||||
|
|
||||
|
for _, tName := range templates { |
||||
|
tpl, err := tSet.FromFile(tName) |
||||
|
if err != nil { |
||||
|
return err |
||||
|
} |
||||
|
|
||||
|
tMap[tName] = tpl |
||||
|
} |
||||
|
|
||||
|
return nil |
||||
|
} |
Write
Preview
Loading…
Cancel
Save
Reference in new issue