完善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,
|
||||
ThemeMods: mods,
|
||||
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
|
||||
}()
|
||||
|
||||
var pipe = common.HandlePipe(common.Render, dispatch)
|
||||
var pipe = common.HandlePipe(common.Render, ready, dispatch)
|
||||
|
||||
func Hook(h *common.Handle) {
|
||||
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.GetPassword()
|
||||
h.PushHandleFn(constraints.AllStats, calClass)
|
||||
h.PushHeadScript(
|
||||
common.NewComponents(colorScheme, 10),
|
||||
common.NewComponents(customHeader, 10),
|
||||
)
|
||||
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 {
|
||||
case constraints.Detail:
|
||||
detail(next, h.Detail)
|
||||
|
|
Loading…
Reference in New Issue
Block a user