Skip to content

Commit 55a0e9d

Browse files
committed
refactor(tpl): re-arrange theme type and instance
1 parent a78619a commit 55a0e9d

File tree

15 files changed

+73
-71
lines changed

15 files changed

+73
-71
lines changed

src/app/main.go

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,8 @@ import (
88
"mjpclab.dev/ghfs/src/serverHandler"
99
"mjpclab.dev/ghfs/src/serverLog"
1010
"mjpclab.dev/ghfs/src/setting"
11-
"mjpclab.dev/ghfs/src/tpl"
11+
"mjpclab.dev/ghfs/src/tpl/defaultTheme"
12+
"mjpclab.dev/ghfs/src/tpl/theme"
1213
"mjpclab.dev/ghfs/src/util"
1314
"os"
1415
"path/filepath"
@@ -56,7 +57,7 @@ func NewApp(params param.Params, setting *setting.Setting) (*App, []error) {
5657

5758
vhSvc := goVirtualHost.NewService()
5859
logFileMan := serverLog.NewFileMan()
59-
themes := make(map[string]tpl.Theme)
60+
themes := make(map[string]theme.Theme)
6061

6162
for _, p := range params {
6263
// logger
@@ -66,11 +67,11 @@ func NewApp(params param.Params, setting *setting.Setting) (*App, []error) {
6667
}
6768

6869
// theme
69-
var theme tpl.Theme
70+
var themeInst theme.Theme
7071
if len(p.ThemeDir) > 0 {
71-
theme = tpl.DirTheme(p.ThemeDir)
72+
themeInst = theme.DirTheme(p.ThemeDir)
7273
} else if len(p.Theme) == 0 {
73-
theme = tpl.DefaultTheme
74+
themeInst = defaultTheme.DefaultTheme
7475
} else {
7576
themeKey, err := filepath.Abs(p.Theme)
7677
errs = serverError.AppendError(errs, err)
@@ -79,22 +80,22 @@ func NewApp(params param.Params, setting *setting.Setting) (*App, []error) {
7980
}
8081

8182
var themeExists bool
82-
theme, themeExists = themes[themeKey]
83+
themeInst, themeExists = themes[themeKey]
8384
if !themeExists {
84-
theme, err = tpl.LoadMemTheme(p.Theme)
85+
themeInst, err = theme.LoadMemTheme(p.Theme)
8586
errs = serverError.AppendError(errs, err)
8687
if err != nil {
8788
continue
8889
}
89-
themes[themeKey] = theme
90+
themes[themeKey] = themeInst
9091
}
9192
}
9293
if len(errs) > 0 {
9394
return nil, errs
9495
}
9596

9697
// vHost Handler
97-
vhHandler, errs := serverHandler.NewVhostHandler(p, logger, theme)
98+
vhHandler, errs := serverHandler.NewVhostHandler(p, logger, themeInst)
9899
if len(errs) > 0 {
99100
return nil, errs
100101
}

src/serverHandler/aliasHandler.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import (
44
"mjpclab.dev/ghfs/src/middleware"
55
"mjpclab.dev/ghfs/src/param"
66
"mjpclab.dev/ghfs/src/serverLog"
7-
"mjpclab.dev/ghfs/src/tpl"
7+
"mjpclab.dev/ghfs/src/tpl/theme"
88
"mjpclab.dev/ghfs/src/user"
99
"net/http"
1010
"regexp"
@@ -22,7 +22,7 @@ type pathStrings struct {
2222

2323
type aliasParam struct {
2424
users user.List
25-
theme tpl.Theme
25+
theme theme.Theme
2626
logger *serverLog.Logger
2727

2828
shows *regexp.Regexp
@@ -56,7 +56,7 @@ type aliasHandler struct {
5656
aliasPrefix string
5757

5858
users user.List
59-
theme tpl.Theme
59+
theme theme.Theme
6060
logger *serverLog.Logger
6161

6262
shows *regexp.Regexp

src/serverHandler/page.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import (
44
"html/template"
55
"mjpclab.dev/ghfs/src/acceptHeaders"
66
"mjpclab.dev/ghfs/src/i18n"
7-
tplutil "mjpclab.dev/ghfs/src/tpl/util"
7+
tplUtil "mjpclab.dev/ghfs/src/tpl/util"
88
"mjpclab.dev/ghfs/src/util"
99
"net/http"
1010
)
@@ -18,22 +18,22 @@ func updateSubItemsHtml(data *responseData) {
1818

1919
for i, info := range data.SubItems {
2020
name := info.Name()
21-
urlEscapedName := tplutil.FormatFileUrl(name)
21+
urlEscapedName := tplUtil.FormatFileUrl(name)
2222

2323
var displayName template.HTML
2424
var typ template.HTML
2525
var url string
2626
var readableSize template.HTML
2727

2828
if info.IsDir() {
29-
displayName = tplutil.FormatFilename(name) + "/"
29+
displayName = tplUtil.FormatFilename(name) + "/"
3030
typ = TypeDir
3131
url = data.SubItemPrefix + urlEscapedName + "/" + data.Context.QueryString()
3232
} else {
33-
displayName = tplutil.FormatFilename(name)
33+
displayName = tplUtil.FormatFilename(name)
3434
typ = TypeFile
3535
url = data.SubItemPrefix + urlEscapedName + data.Context.FileQueryString()
36-
readableSize = tplutil.FormatSize(info.Size())
36+
readableSize = tplUtil.FormatSize(info.Size())
3737
}
3838

3939
var deleteUrl string
@@ -46,7 +46,7 @@ func updateSubItemsHtml(data *responseData) {
4646
Url: url,
4747
DisplayName: displayName,
4848
DisplaySize: readableSize,
49-
DisplayTime: tplutil.FormatTime(info.ModTime()),
49+
DisplayTime: tplUtil.FormatTime(info.ModTime()),
5050
DeleteUrl: deleteUrl,
5151
}
5252
}

src/serverHandler/vhostHandler.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import (
44
"mjpclab.dev/ghfs/src/param"
55
"mjpclab.dev/ghfs/src/serverError"
66
"mjpclab.dev/ghfs/src/serverLog"
7-
"mjpclab.dev/ghfs/src/tpl"
7+
"mjpclab.dev/ghfs/src/tpl/theme"
88
"mjpclab.dev/ghfs/src/user"
99
"net/http"
1010
"strings"
@@ -13,7 +13,7 @@ import (
1313
func NewVhostHandler(
1414
p *param.Param,
1515
logger *serverLog.Logger,
16-
theme tpl.Theme,
16+
theme theme.Theme,
1717
) (handler http.Handler, errs []error) {
1818
// users
1919
users := user.NewList(p.UserMatchCase)

src/tpl/asset.go

Lines changed: 0 additions & 29 deletions
This file was deleted.
Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
1-
package tpl
1+
package defaultTheme
22

33
import (
44
"bytes"
55
_ "embed"
6+
"mjpclab.dev/ghfs/src/tpl/theme"
67
)
78

89
//go:embed frontend/index.html
@@ -17,19 +18,19 @@ var defaultCss []byte
1718
//go:embed frontend/index.js
1819
var defaultJs []byte
1920

20-
var DefaultTheme MemTheme
21+
var DefaultTheme theme.MemTheme
2122

2223
func init() {
23-
defaultTpl, err := ParsePageTpl(defaultTplStr)
24+
var err error
25+
26+
DefaultTheme.Template, err = theme.ParsePageTpl(defaultTplStr)
2427
if err != nil {
25-
defaultTpl, _ = ParsePageTpl("Builtin Template Error")
28+
DefaultTheme.Template, _ = theme.ParsePageTpl("Builtin Template Error")
2629
}
27-
DefaultTheme.template = defaultTpl
2830

29-
defaultAssets := map[string]asset{
31+
DefaultTheme.Assets = theme.Assets{
3032
"favicon.ico": {"image/x-icon", bytes.NewReader(defaultFavicon)},
3133
"index.css": {"text/css", bytes.NewReader(defaultCss)},
3234
"index.js": {"application/javascript", bytes.NewReader(defaultJs)},
3335
}
34-
DefaultTheme.assets = defaultAssets
3536
}
File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)