Added site setting.
This commit is contained in:
parent
39611070f8
commit
3774c903e2
17 changed files with 170 additions and 18 deletions
|
|
@ -35,3 +35,12 @@ func (db *DB) GetSite(ctx context.Context, id int64) (models.Site, error) {
|
|||
Theme: site.Theme,
|
||||
}, nil
|
||||
}
|
||||
|
||||
func (db *DB) UpdateSite(ctx context.Context, site models.Site) error {
|
||||
return db.q.UpdateSite(ctx, dbq.UpdateSiteParams{
|
||||
ID: site.ID,
|
||||
Name: site.Name,
|
||||
Title: site.Title,
|
||||
Theme: site.Theme,
|
||||
})
|
||||
}
|
||||
|
|
|
|||
|
|
@ -80,7 +80,7 @@ func (p *Provider) PublishSite(ctx context.Context, site models.Site, target mod
|
|||
|
||||
func (p *Provider) ReconfigureSite(ctx context.Context, site models.Site) error {
|
||||
hugoCfg := hugoConfig{
|
||||
Title: site.Name,
|
||||
Title: site.Title,
|
||||
LanguageCode: "en",
|
||||
Theme: site.Theme,
|
||||
Markup: hugoConfigMarkup{
|
||||
|
|
|
|||
|
|
@ -2,11 +2,26 @@ package themes
|
|||
|
||||
import "lmika.dev/lmika/hugo-cms/models"
|
||||
|
||||
var themes = map[string]models.ThemeMeta{
|
||||
"bear": models.ThemeMeta{
|
||||
Name: "bear",
|
||||
var themes = []models.ThemeMeta{
|
||||
{
|
||||
ID: "bear",
|
||||
Name: "Bear",
|
||||
URL: "https://github.com/janraasch/hugo-bearblog",
|
||||
PreferTitle: true,
|
||||
PostDir: "blog",
|
||||
},
|
||||
{
|
||||
ID: "terminal",
|
||||
Name: "Terminal",
|
||||
URL: "https://github.com/panr/hugo-theme-terminal",
|
||||
PreferTitle: true,
|
||||
PostDir: "posts",
|
||||
},
|
||||
{
|
||||
ID: "yingyang",
|
||||
Name: "Yingyang",
|
||||
URL: "https://github.com/joway/hugo-theme-yinyang",
|
||||
PreferTitle: true,
|
||||
PostDir: "posts",
|
||||
},
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,14 +1,33 @@
|
|||
package themes
|
||||
|
||||
import "lmika.dev/lmika/hugo-cms/models"
|
||||
import (
|
||||
"lmika.dev/lmika/hugo-cms/models"
|
||||
"lmika.dev/pkg/modash/momap"
|
||||
"slices"
|
||||
"sort"
|
||||
)
|
||||
|
||||
type Provider struct{}
|
||||
type Provider struct {
|
||||
themes []models.ThemeMeta
|
||||
themeIndex map[string]models.ThemeMeta
|
||||
}
|
||||
|
||||
func New() *Provider {
|
||||
return &Provider{}
|
||||
ts := slices.Clone(themes)
|
||||
sort.Slice(ts, func(i, j int) bool { return ts[i].Name < ts[j].Name })
|
||||
ti := momap.IndexSlice(themes, func(m models.ThemeMeta) string { return m.ID })
|
||||
|
||||
return &Provider{
|
||||
themes: ts,
|
||||
themeIndex: ti,
|
||||
}
|
||||
}
|
||||
|
||||
func (p *Provider) Themes() []models.ThemeMeta {
|
||||
return p.themes
|
||||
}
|
||||
|
||||
func (p *Provider) Lookup(name string) (models.ThemeMeta, bool) {
|
||||
t, ok := themes[name]
|
||||
t, ok := p.themeIndex[name]
|
||||
return t, ok
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue