完善seventeen 添加customheader
This commit is contained in:
parent
ccc02399ef
commit
e1d8c0098f
|
@ -43,6 +43,7 @@ func NewHandle(c *gin.Context, scene int, theme string) *Handle {
|
||||||
Stats: constraints.Ok,
|
Stats: constraints.Ok,
|
||||||
ThemeMods: mods,
|
ThemeMods: mods,
|
||||||
Components: make(map[string][]Components),
|
Components: make(map[string][]Components),
|
||||||
|
HandleFns: make(map[int][]HandleFn[*Handle]),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
47
internal/theme/twentyseventeen/customheader.go
Normal file
47
internal/theme/twentyseventeen/customheader.go
Normal file
|
@ -0,0 +1,47 @@
|
||||||
|
package twentyseventeen
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"github.com/fthvgb1/wp-go/internal/theme/common"
|
||||||
|
)
|
||||||
|
|
||||||
|
func customHeader(h *common.Handle) (r string) {
|
||||||
|
headerTextColor := h.ThemeMods.HeaderTextcolor
|
||||||
|
if headerTextColor == "" || headerTextColor == h.ThemeMods.ThemeSupport.CustomHeader.DefaultTextColor {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
css := `
|
||||||
|
.site-title,
|
||||||
|
.site-description {
|
||||||
|
position: absolute;
|
||||||
|
clip: rect(1px, 1px, 1px, 1px);
|
||||||
|
}`
|
||||||
|
if headerTextColor != "blank" {
|
||||||
|
css = fmt.Sprintf(customHeaderCss, headerTextColor)
|
||||||
|
}
|
||||||
|
r = fmt.Sprintf(`<style id="twentyseventeen-custom-header-styles" type="text/css">%s</style>`, css)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
var customHeaderCss = `
|
||||||
|
.site-title a,
|
||||||
|
.colors-dark .site-title a,
|
||||||
|
.colors-custom .site-title a,
|
||||||
|
body.has-header-image .site-title a,
|
||||||
|
body.has-header-video .site-title a,
|
||||||
|
body.has-header-image.colors-dark .site-title a,
|
||||||
|
body.has-header-video.colors-dark .site-title a,
|
||||||
|
body.has-header-image.colors-custom .site-title a,
|
||||||
|
body.has-header-video.colors-custom .site-title a,
|
||||||
|
.site-description,
|
||||||
|
.colors-dark .site-description,
|
||||||
|
.colors-custom .site-description,
|
||||||
|
body.has-header-image .site-description,
|
||||||
|
body.has-header-video .site-description,
|
||||||
|
body.has-header-image.colors-dark .site-description,
|
||||||
|
body.has-header-video.colors-dark .site-description,
|
||||||
|
body.has-header-image.colors-custom .site-description,
|
||||||
|
body.has-header-video.colors-custom .site-description {
|
||||||
|
color: #%s;
|
||||||
|
}
|
||||||
|
`
|
|
@ -27,20 +27,26 @@ var paginate = func() plugins.PageEle {
|
||||||
return p
|
return p
|
||||||
}()
|
}()
|
||||||
|
|
||||||
var pipe = common.HandlePipe(common.Render, dispatch)
|
var pipe = common.HandlePipe(common.Render, ready, dispatch)
|
||||||
|
|
||||||
func Hook(h *common.Handle) {
|
func Hook(h *common.Handle) {
|
||||||
pipe(h)
|
pipe(h)
|
||||||
}
|
}
|
||||||
|
|
||||||
func dispatch(next common.HandleFn[*common.Handle], h *common.Handle) {
|
func ready(next common.HandleFn[*common.Handle], h *common.Handle) {
|
||||||
h.WidgetAreaData()
|
h.WidgetAreaData()
|
||||||
h.GetPassword()
|
h.GetPassword()
|
||||||
h.PushHandleFn(constraints.AllStats, calClass)
|
h.PushHandleFn(constraints.AllStats, calClass)
|
||||||
h.PushHeadScript(
|
h.PushHeadScript(
|
||||||
common.NewComponents(colorScheme, 10),
|
common.NewComponents(colorScheme, 10),
|
||||||
|
common.NewComponents(customHeader, 10),
|
||||||
)
|
)
|
||||||
h.GinH["HeaderImage"] = getHeaderImage(h)
|
h.GinH["HeaderImage"] = getHeaderImage(h)
|
||||||
|
h.GinH["scene"] = h.Scene
|
||||||
|
next(h)
|
||||||
|
}
|
||||||
|
|
||||||
|
func dispatch(next common.HandleFn[*common.Handle], h *common.Handle) {
|
||||||
switch h.Scene {
|
switch h.Scene {
|
||||||
case constraints.Detail:
|
case constraints.Detail:
|
||||||
detail(next, h.Detail)
|
detail(next, h.Detail)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user