96 lines
199 KiB
Go
96 lines
199 KiB
Go
|
package app
|
|||
|
|
|||
|
import (
|
|||
|
"time"
|
|||
|
|
|||
|
"github.com/GeertJohan/go.rice/embedded"
|
|||
|
)
|
|||
|
|
|||
|
func init() {
|
|||
|
|
|||
|
// define files
|
|||
|
file2 := &embedded.EmbeddedFile{
|
|||
|
Filename: "index.html",
|
|||
|
FileModTime: time.Unix(1584741897, 0),
|
|||
|
|
|||
|
Content: string("{{ $playing := .Playing }}\r\n<html>\r\n<head>\r\n <title>Tube</title>\r\n <meta charset=\"utf-8\">\r\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\r\n <link rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/static/favicon.ico\">\r\n <link rel=\"stylesheet\" type=\"text/css\" href=\"/static/theme.css\">\r\n</head>\r\n<body>\r\n <nav><a href=\"/\">Tube</a></nav>\r\n <main>\r\n <div id=\"player\">\r\n {{ if $playing.ID }}\r\n <video id=\"video\" controls poster=\"/t/{{ $playing.ID}}\" src=\"/v/{{ $playing.ID }}.mp4\"></video>\r\n <h1>{{ $playing.Title }}</h1>\r\n <h2>{{ $playing.Modified }}</h2>\r\n <p>{{ $playing.Description }}</p>\r\n {{ else }}\r\n <video id=\"video\" controls></video>\r\n {{ end }}\r\n </div>\r\n <div id=\"playlist\">\r\n {{ range $m := .Playlist }}\r\n {{ if eq $m.ID $playing.ID }}\r\n <a href=\"/v/{{ $m.ID }}\" class=\"playing\">\r\n {{ else }}\r\n <a href=\"/v/{{ $m.ID }}\">\r\n {{ end }}\r\n <img src=\"/t/{{ $m.ID }}\">\r\n <div>\r\n <h1>{{ $m.Title }}</h1>\r\n <h2>{{ $m.Modified }}</h2>\r\n </div>\r\n </a>\r\n {{ end }}\r\n </div>\r\n </main>\r\n</body>\r\n</html>\r\n"),
|
|||
|
}
|
|||
|
|
|||
|
// define dirs
|
|||
|
dir1 := &embedded.EmbeddedDir{
|
|||
|
Filename: "",
|
|||
|
DirModTime: time.Unix(1584741897, 0),
|
|||
|
ChildFiles: []*embedded.EmbeddedFile{
|
|||
|
file2, // "index.html"
|
|||
|
|
|||
|
},
|
|||
|
}
|
|||
|
|
|||
|
// link ChildDirs
|
|||
|
dir1.ChildDirs = []*embedded.EmbeddedDir{}
|
|||
|
|
|||
|
// register embeddedBox
|
|||
|
embedded.RegisterEmbeddedBox(`../templates`, &embedded.EmbeddedBox{
|
|||
|
Name: `../templates`,
|
|||
|
Time: time.Unix(1584741897, 0),
|
|||
|
Dirs: map[string]*embedded.EmbeddedDir{
|
|||
|
"": dir1,
|
|||
|
},
|
|||
|
Files: map[string]*embedded.EmbeddedFile{
|
|||
|
"index.html": file2,
|
|||
|
},
|
|||
|
})
|
|||
|
}
|
|||
|
|
|||
|
func init() {
|
|||
|
|
|||
|
// define files
|
|||
|
file4 := &embedded.EmbeddedFile{
|
|||
|
Filename: "defaulticon.jpg",
|
|||
|
FileModTime: time.Unix(1584741897, 0),
|
|||
|
|
|||
|
Content: string("\xff\xd8\xff\xe0\x00\x10JFIF\x00\x01\x01\x02\x05\xe7\x05\xe7\x00\x00\xff\xe1\x1e\xeeExif\x00\x00II*\x00\b\x00\x00\x00\x05\x00\x1a\x01\x05\x00\x01\x00\x00\x00J\x00\x00\x00\x1b\x01\x05\x00\x01\x00\x00\x00R\x00\x00\x00(\x01\x03\x00\x01\x00\x00\x00\x03\x00\x00\x001\x01\x02\x00\f\x00\x00\x00Z\x00\x00\x002\x01\x02\x00\x14\x00\x00\x00f\x00\x00\x00z\x00\x00\x00\xe7\x05\x00\x00\x01\x00\x00\x00\xe7\x05\x00\x00\x01\x00\x00\x00GIMP 2.10.8\x002019:06:26 12:59:35\x00\b\x00\x00\x01\x04\x00\x01\x00\x00\x00\x00\x01\x00\x00\x01\x01\x04\x00\x01\x00\x00\x00\x00\x01\x00\x00\x02\x01\x03\x00\x03\x00\x00\x00\xe0\x00\x00\x00\x03\x01\x03\x00\x01\x00\x00\x00\x06\x00\x00\x00\x06\x01\x03\x00\x01\x00\x00\x00\x06\x00\x00\x00\x15\x01\x03\x00\x01\x00\x00\x00\x03\x00\x00\x00\x01\x02\x04\x00\x01\x00\x00\x00\xe6\x00\x00\x00\x02\x02\x04\x00\x01\x00\x00\x00\xff\x1d\x00\x00\x00\x00\x00\x00\b\x00\b\x00\b\x00\xff\xd8\xff\xe0\x00\x10JFIF\x00\x01\x01\x00\x00\x01\x00\x01\x00\x00\xff\xdb\x00C\x00\b\x06\x06\a\x06\x05\b\a\a\a\t\t\b\n\f\x14\r\f\v\v\f\x19\x12\x13\x0f\x14\x1d\x1a\x1f\x1e\x1d\x1a\x1c\x1c $.' \",#\x1c\x1c(7),01444\x1f'9=82<.342\xff\xdb\x00C\x01\t\t\t\f\v\f\x18\r\r\x182!\x1c!22222222222222222222222222222222222222222222222222\xff\xc0\x00\x11\b\x01\x00\x01\x00\x03\x01\"\x00\x02\x11\x01\x03\x11\x01\xff\xc4\x00\x1f\x00\x00\x01\x05\x01\x01\x01\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x02\x03\x04\x05\x06\a\b\t\n\v\xff\xc4\x00\xb5\x10\x00\x02\x01\x03\x03\x02\x04\x03\x05\x05\x04\x04\x00\x00\x01}\x01\x02\x03\x00\x04\x11\x05\x12!1A\x06\x13Qa\a\"q\x142\x81\x91\xa1\b#B\xb1\xc1\x15R\xd1\xf0$3br\x82\t\n\x16\x17\x18\x19\x1a%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz\x83\x84\x85\x86\x87\x88\x89\x8a\x92\x93\x94\x95\x96\x97\x98\x99\x9a\xa2\xa3\xa4\xa5\xa6\xa7\xa8\xa9\xaa\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xba\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xd2\xd3\xd4\xd5\xd6\xd7\xd8\xd9\xda\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8\xe9\xea\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xff\xc4\x00\x1f\x01\x00\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x00\x00\x00\x00\x00\x00\x01\x02\x03\x04\x05\x06\a\b\t\n\v\xff\xc4\x00\xb5\x11\x00\x02\x01\x02\x04\x04\x03\x04\a\x05\x04\x04\x00\x01\x02w\x00\x01\x02\x03\x11\x04\x05!1\x06\x12AQ\aaq\x13\"2\x81\b\x14B\x91\xa1\xb1\xc1\t#3R\xf0\x15br\xd1\n\x16$4\xe1%\xf1\x17\x18\x19\x1a&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x92\x93\x94\x95\x96\x97\x98\x99\x9a\xa2\xa3\xa4\xa5\xa6\xa7\xa8\xa9\xaa\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xba\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xd2\xd3\xd4\xd5\xd6\xd7\xd8\xd9\xda\xe2\xe3\xe4\xe5\xe6\xe7\xe8\xe9\xea\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xff\xda\x00\f\x03\x01\x00\x02\x11\x03\x11\x00?\x00\xf7\xfa(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n(\xa2\x80\n)\x1d\xd64.\xec\x15G$\x93\x80+\x9e\xd4<i\xa4X\x92\xb1\xca\xd7R\x0eЌ\x8f\xfb\xeb\xa7\xe5\x9a\x00訯9\xba\xf1\xee\xa7t\xc5,mc\x84\x11\x81\xc1\x91\xf3\xfc\xbfJ\xa6\xdf\xf0\x94\xea\x9c\xc95\xd0S\xea\xfeX\xfc\x86)\\\x0fN\x96\xe2\b\x06e\x9a8\xc7\xfbl\x05R\x93^\xd2\"8mJ\xd7>\x82P\u007f\x95y\xeaxB\xfaC\xbai\xe2Rz\xf2Xդ\xf0Z\xe3\xe7\xbd9\xff\x00f?\xfe\xbd\x17\x03\xb2>)\xd1\a\xfc\xc4a\xfc3\xfe\x14\xab\xe2}\x11\x8f\x1a\x94\x1f\x89\"\xb9\x01\xe0\xc8?\xe7\xeeO\xfb\xe4P|\x19\ak\xb9?\xef\x91E\xc4v\xf1\xeb:\\\xdf\xea\xf5\x1bV>\x82e\xcf\xf3\xab\x89\"H2\x8e\xac=T\xe6\xbc\xdeO\x06q\xfb\xab\xce\u007f\xdaJ\xac|+\xa9[\x1d\xf6\xf7\b_\xfd\x86*\u007f:.3\xd4\xe8\xaf/[\x9f\x15\xe9\x9fv{\x96Q\xcf\xcc|\xc1\xfa\xe6\xaf\xda\xfc@\xbd\x85\xb6\xdf\xd8\xc7 \xf5L\xa1\xfds\x9fҋ\x81\xe84V\x16\x9f\xe2\xfd\x1fP!EǑ!\xfe\t\xc6\xdfק\xeb[\x80\x86\x00\x82\b=\b\xa6\x02\xd1E\x14\x00QE\x14\x00QE\x14\x00QE\x14\x00QE\x14\x00QE\x14\x00QE\x14\x00QER\xd4\xf5[M\"\xd4\xdc]ɵz*\x8eY\x8f\xa0\x14\x01q\x98*\x96b\x02\x81\x92Oj䵟\x1dZY\x96\x87OQs0\xe3\xc
|
|||
|
}
|
|||
|
file5 := &embedded.EmbeddedFile{
|
|||
|
Filename: "favicon.ico",
|
|||
|
FileModTime: time.Unix(1584741897, 0),
|
|||
|
|
|||
|
Content: string("\x00\x00\x01\x00\x04\x00@@\x00\x00\x01\x00 \x00(B\x00\x00F\x00\x00\x0000\x00\x00\x01\x00 \x00\xa8%\x00\x00nB\x00\x00 \x00\x00\x01\x00 \x00\xa8\x10\x00\x00\x16h\x00\x00\x10\x10\x00\x00\x01\x00 \x00h\x04\x00\x00\xbex\x00\x00(\x00\x00\x00@\x00\x00\x00\x80\x00\x00\x00\x01\x00 \x00\x00\x00\x00\x00\x00@\x00\x00\x12\v\x00\x00\x12\v\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x01\x02\x01\x06\x05\a\x02\v\b\r\x03\x13\x0e\x16\x06\x19\x13\x1e\t\x1d\x16#\f!\x18'\x0f$\x1b+\x11&\x1c.\x13&\x1d.\x13%\x1b,\x11!\x19(\x0e\x1e\x16$\v\x1a\x13\x1f\b\x13\x0e\x17\x05\f\t\x0e\x03\a\x05\b\x01\x01\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\b\x06\n\x03\x11\r\x15\a\x1e\x16$\x0e2%;\x1b@/M(Q;`8^EpHgK{VmP\x82arT\x89iuV\x8cnuV\x8cmsT\x89inP\x83`hL|U_FqGR<a7B1O'3&=\x19\x1f\x17%\r\x12\x0e\x16\x06\t\x06\n\x03\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x03\x04\x02\x13\x0e\x17\a'\x1d.\x10C1O#XAi:lO\x80W\x81^\x9az\x8fh\xac\x96\x9dr\xbc\xaf\xa7y\xc9¯\u007f\xd3е\x82\xdaڸ\x84\xde\u0e85\xe0⺆\xe0⸅\xdeߵ\x82\xdaٰ\u007f\xd3Шy\xc9\xc1\x9dr\xbd\xad\x90i\xad\x94\x82_\x9cxnP\x83TZBl7E3R )\x1e0\x0f\x14\x0f\x18\x06\x04\x03\x05\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x06\x04\a\a\x1e\x16$\x15F3S0iM}U\x89d\xa4\x83\x9es\xbd\xaa\xae~\xd2˼\x87\xe3\xe4ċ\xed\xf1ȍ\xf2\xf8ɍ\xf5\xfbʍ\xf6\xfdʌ\xf7\xfeʌ\xf7\xfeʋ\xf7\xfeʋ\xf7\xfeʌ\xf7\xfeʌ\xf7\xfeʍ\xf6\xfdɍ\xf5\xfbȍ\xf2\xf8ċ\xed\xf1\xbc\x87\xe3\xe3\xaf~\xd2ɟt\xbe\xa7\x8be\xa6\u007fkO\x80QH5V-\x1f\x17%\x13\x06\x05\a\x06\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x
|
|||
|
}
|
|||
|
file6 := &embedded.EmbeddedFile{
|
|||
|
Filename: "theme.css",
|
|||
|
FileModTime: time.Unix(1584741897, 0),
|
|||
|
|
|||
|
Content: string(":root {\n --main-title-color: #ae81ff;\n --link-hover-color: #ae81ff;\n}\n\n/* normalize */\n* {\n font-weight: inherit;\n font-size: inherit;\n border: none;\n outline: none;\n margin: 0;\n padding: 0;\n box-sizing: border-box;\n}\n\na {\n color: inherit;\n text-decoration: none;\n}\n\nbody {\n font-family: Arial, sans-serif;\n font-size: 16px;\n font-weight: 400;\n color: #c5c8c6;\n background: #1e1e1e;\n padding-bottom: 10px;\n}\n\nnav {\n z-index: 100;\n color: var(--main-title-color);\n text-shadow: -2px 2px 3px rgba(0, 0, 0, 0.7);\n font-weight: 700;\n font-size: 20px;\n text-indent: 20px;\n line-height: 50px;\n width: 100%;\n height: 50px;\n background: #171717;\n border-bottom: 1px solid #272727;\n}\n\nmain {\n width: 1156px;\n margin:0 auto;\n margin-top: 15px;\n white-space: nowrap;\n}\n\n#player {\n width: 854px;\n display: inline-block;\n vertical-align: top;\n}\n\n/* 480p */\n#video {\n width: 100%;\n height: 480px;\n background: #000;\n box-shadow: 0 3px 7px 0 rgba(0, 0, 0, 0.2);\n}\n\n#player > h1 {\n margin-top: 10px;\n}\n\n#player > h2 {\n margin-top: 5px;\n color: #676867;\n font-size: 90%;\n}\n\n#player > p {\n margin-top: 10px;\n font-size: 80%;\n width: 100%;\n white-space: normal;\n}\n\n#playlist {\n font-size: 13px;\n display: inline-block;\n margin-left: 10px;\n width: 290px;\n background: #282a2e;\n box-shadow: 0 3px 7px 0 rgba(0, 0, 0, 0.2);\n}\n\n#playlist > a {\n display: block;\n padding: 10px;\n position: relative;\n min-height: 54px;\n}\n\n#playlist > a:hover {\n color: var(--link-hover-color);\n}\n\n#playlist > a.playing {\n background: #383a3e;\n}\n\n#playlist > a + a {\n border-top: 1px solid #1e1e1e;\n}\n\n#playlist > a > img {\n width: 70px;\n}\n\n#playlist > a > div {\n position: absolute;\n top: 10px;\n right: 10px;\n bottom: 10px;\n left: 90px;\n}\n\n#playlist > a > div > h1 {\n white-space: normal;\n}\n\n#playlist > a > div > h2 {\n margin-top: 5px;\n color: #676867;\n font-size: 90%;\n}\n\n/* 360p */\n@media only screen and (max-width: 1180px) {\n main {\n width: 940px;\n }\n #player {\n width: 640px;\n }\n #video {\n height: 360px;\n }\n}\n\n/* 240p */\n@media only screen and (max-width: 965px) {\n main {\n width: 726px;\n }\n #player {\n width: 426px;\n }\n #video {\n height: 240px;\n }\n}\n\n/* 240p with shifted playlist */\n@media only screen and (max-width: 750px) {\n main {\n width: 426px;\n }\n #player {\n width: 426px;\n }\n #video {\n height: 240px;\n }\n #playlist {\n width: 426px;\n margin-top: 10px;\n margin-left: 0;\n display: block;\n }\n}\n\n/* responsive width with shifted playlist */\n@media only screen and (max-width: 440px) {\n main {\n width: 100%;\n }\n #player {\n width: 100%;\n }\n #video {\n height: auto;\n }\n #playlist {\n width: 100%;\n margin-top: 10px;\n margin-left: 0;\n display: block;\n }\n}\n"),
|
|||
|
}
|
|||
|
|
|||
|
// define dirs
|
|||
|
dir3 := &embedded.EmbeddedDir{
|
|||
|
Filename: "",
|
|||
|
DirModTime: time.Unix(1584741897, 0),
|
|||
|
ChildFiles: []*embedded.EmbeddedFile{
|
|||
|
file4, // "defaulticon.jpg"
|
|||
|
file5, // "favicon.ico"
|
|||
|
file6, // "theme.css"
|
|||
|
|
|||
|
},
|
|||
|
}
|
|||
|
|
|||
|
// link ChildDirs
|
|||
|
dir3.ChildDirs = []*embedded.EmbeddedDir{}
|
|||
|
|
|||
|
// register embeddedBox
|
|||
|
embedded.RegisterEmbeddedBox(`../static`, &embedded.EmbeddedBox{
|
|||
|
Name: `../static`,
|
|||
|
Time: time.Unix(1584741897, 0),
|
|||
|
Dirs: map[string]*embedded.EmbeddedDir{
|
|||
|
"": dir3,
|
|||
|
},
|
|||
|
Files: map[string]*embedded.EmbeddedFile{
|
|||
|
"defaulticon.jpg": file4,
|
|||
|
"favicon.ico": file5,
|
|||
|
"theme.css": file6,
|
|||
|
},
|
|||
|
})
|
|||
|
}
|