优化代码,seventeen配色
This commit is contained in:
parent
8a5fc02247
commit
e978e86304
|
@ -82,3 +82,8 @@ func (b *Builder) Sprintf(format string, a ...any) int {
|
||||||
i, _ := fmt.Fprintf(b, format, a...)
|
i, _ := fmt.Fprintf(b, format, a...)
|
||||||
return i
|
return i
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// CutSpecialDuplicate '\t', '\n', '\v', '\f', '\r', ' ', U+0085 (NEL), U+00A0 (NBSP)
|
||||||
|
func CutSpecialDuplicate(s, char string) string {
|
||||||
|
return strings.Join(strings.Fields(s), char)
|
||||||
|
}
|
||||||
|
|
|
@ -126,3 +126,33 @@ func BenchmarkBuilderJoinXX(b *testing.B) {
|
||||||
_ = s.String()
|
_ = s.String()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestCutSpecialDuplicate(t *testing.T) {
|
||||||
|
type args struct {
|
||||||
|
s string
|
||||||
|
char string
|
||||||
|
}
|
||||||
|
tests := []struct {
|
||||||
|
name string
|
||||||
|
args args
|
||||||
|
want string
|
||||||
|
}{
|
||||||
|
{
|
||||||
|
name: "t1",
|
||||||
|
args: args{s: "1 2 3", char: " "},
|
||||||
|
want: "1 2 3",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "t2",
|
||||||
|
args: args{s: "1\t\t2\t\t3", char: "\t"},
|
||||||
|
want: "1\t2\t3",
|
||||||
|
},
|
||||||
|
}
|
||||||
|
for _, tt := range tests {
|
||||||
|
t.Run(tt.name, func(t *testing.T) {
|
||||||
|
if got := CutSpecialDuplicate(tt.args.s, tt.args.char); got != tt.want {
|
||||||
|
t.Errorf("CutDuplicate() = %v, want %v", got, tt.want)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -15,4 +15,6 @@ const (
|
||||||
InternalErr
|
InternalErr
|
||||||
|
|
||||||
Defaults = "default"
|
Defaults = "default"
|
||||||
|
|
||||||
|
HeadScript = "headScript"
|
||||||
)
|
)
|
||||||
|
|
|
@ -53,17 +53,19 @@ func (h *Handle) BodyClass(class ...string) string {
|
||||||
s = str.Join(s, " single-format-standard")
|
s = str.Join(s, " single-format-standard")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
class = append(class, s)
|
if s != "" {
|
||||||
|
class = append(class, s)
|
||||||
|
}
|
||||||
|
|
||||||
if wpconfig.IsCustomBackground(h.Theme) {
|
if wpconfig.IsCustomBackground(h.Theme) {
|
||||||
class = append(class, "custom-background")
|
class = append(class, "custom-background")
|
||||||
}
|
}
|
||||||
if h.ThemeMods.CustomLogo > 0 {
|
if h.ThemeMods.CustomLogo > 0 || str.ToInteger(wpconfig.GetOption("site_logo"), 0) > 0 {
|
||||||
class = append(class, "wp-custom-logo")
|
class = append(class, "wp-custom-logo")
|
||||||
}
|
}
|
||||||
if h.ThemeMods.ThemeSupport.ResponsiveEmbeds {
|
if h.ThemeMods.ThemeSupport.ResponsiveEmbeds {
|
||||||
class = append(class, "wp-embed-responsive")
|
class = append(class, "wp-embed-responsive")
|
||||||
}
|
}
|
||||||
|
class = append(class, strings.Fields(commonClass[h.Scene])...)
|
||||||
return str.Join(commonClass[h.Scene], strings.Join(class, " "))
|
return strings.Join(slice.Reverse(class), " ")
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,6 +10,7 @@ import (
|
||||||
"github.com/gin-contrib/sessions"
|
"github.com/gin-contrib/sessions"
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
"strings"
|
||||||
)
|
)
|
||||||
|
|
||||||
type Handle struct {
|
type Handle struct {
|
||||||
|
@ -25,6 +26,7 @@ type Handle struct {
|
||||||
Stats int
|
Stats int
|
||||||
Templ string
|
Templ string
|
||||||
Class []string
|
Class []string
|
||||||
|
Scripts map[string][]func(*Handle) string
|
||||||
ThemeMods wpconfig.ThemeMods
|
ThemeMods wpconfig.ThemeMods
|
||||||
HandleFns []func(*Handle)
|
HandleFns []func(*Handle)
|
||||||
}
|
}
|
||||||
|
@ -41,6 +43,7 @@ func NewHandle(c *gin.Context, scene int, theme string) *Handle {
|
||||||
Code: http.StatusOK,
|
Code: http.StatusOK,
|
||||||
Stats: constraints.Ok,
|
Stats: constraints.Ok,
|
||||||
ThemeMods: mods,
|
ThemeMods: mods,
|
||||||
|
Scripts: make(map[string][]func(*Handle) string),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -57,6 +60,10 @@ func (h *Handle) AutoCal(name string, fn func(*Handle) string) {
|
||||||
h.GinH[name] = v
|
h.GinH[name] = v
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (h *Handle) PushHeadScript(name string, fn ...func(*Handle) string) {
|
||||||
|
h.Scripts[name] = append(h.Scripts[name], fn...)
|
||||||
|
}
|
||||||
|
|
||||||
func Default[T any](t T) T {
|
func Default[T any](t T) T {
|
||||||
return t
|
return t
|
||||||
}
|
}
|
||||||
|
@ -78,14 +85,28 @@ func (h *Handle) Render() {
|
||||||
for _, fn := range h.HandleFns {
|
for _, fn := range h.HandleFns {
|
||||||
fn(h)
|
fn(h)
|
||||||
}
|
}
|
||||||
h.AutoCal("siteIcon", CalSiteIcon)
|
h.PushHeadScript(constraints.HeadScript, CalSiteIcon, CalCustomCss)
|
||||||
h.AutoCal("customLogo", CalCustomLogo)
|
h.AutoCal("customLogo", CalCustomLogo)
|
||||||
h.AutoCal("customCss", CalCustomCss)
|
h.CalMultipleScript()
|
||||||
h.CalBodyClass()
|
h.CalBodyClass()
|
||||||
|
|
||||||
h.C.HTML(h.Code, h.Templ, h.GinH)
|
h.C.HTML(h.Code, h.Templ, h.GinH)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (h *Handle) CalMultipleScript() {
|
||||||
|
for k, ss := range h.Scripts {
|
||||||
|
v, ok := reload.GetStr(k)
|
||||||
|
if !ok {
|
||||||
|
v = strings.Join(slice.FilterAndMap(ss, func(t func(*Handle) string) (string, bool) {
|
||||||
|
s := t(h)
|
||||||
|
return s, s != ""
|
||||||
|
}), "\n")
|
||||||
|
reload.SetStr(k, v)
|
||||||
|
}
|
||||||
|
h.GinH[k] = v
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
type HandleFn[T any] func(T)
|
type HandleFn[T any] func(T)
|
||||||
|
|
||||||
type HandlePipeFn[T any] func(HandleFn[T], T)
|
type HandlePipeFn[T any] func(HandleFn[T], T)
|
||||||
|
|
|
@ -3,12 +3,10 @@
|
||||||
{{.customHeader|unescaped}}
|
{{.customHeader|unescaped}}
|
||||||
{{end}}
|
{{end}}
|
||||||
|
|
||||||
{{if .siteIcon}}
|
{{if .headScript}}
|
||||||
{{.siteIcon|unescaped}}
|
{{.headScript|unescaped}}
|
||||||
{{end}}
|
|
||||||
{{if .customCss}}
|
|
||||||
{{.customCss|unescaped}}
|
|
||||||
{{end}}
|
{{end}}
|
||||||
|
|
||||||
{{if .externHead}}
|
{{if .externHead}}
|
||||||
{{.externHead|unescaped}}
|
{{.externHead|unescaped}}
|
||||||
{{end}}
|
{{end}}
|
||||||
|
|
|
@ -37,8 +37,7 @@ func Hook(h *common.Handle) {
|
||||||
func dispatch(next common.HandleFn[*common.Handle], h *common.Handle) {
|
func dispatch(next common.HandleFn[*common.Handle], h *common.Handle) {
|
||||||
h.WidgetAreaData()
|
h.WidgetAreaData()
|
||||||
h.GetPassword()
|
h.GetPassword()
|
||||||
h.AutoCal("colorScheme", colorSchemeCss)
|
h.PushHeadScript(constraints.HeadScript, CalCustomBackGround, colorSchemeCss)
|
||||||
h.AutoCal("customBackground", CalCustomBackGround)
|
|
||||||
h.PushHandleFn(customHeader)
|
h.PushHandleFn(customHeader)
|
||||||
switch h.Scene {
|
switch h.Scene {
|
||||||
case constraints.Detail:
|
case constraints.Detail:
|
||||||
|
|
576
internal/theme/twentyseventeen/colorscheme.go
Normal file
576
internal/theme/twentyseventeen/colorscheme.go
Normal file
|
@ -0,0 +1,576 @@
|
||||||
|
package twentyseventeen
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"github.com/fthvgb1/wp-go/helper/number"
|
||||||
|
str "github.com/fthvgb1/wp-go/helper/strings"
|
||||||
|
"github.com/fthvgb1/wp-go/internal/theme/common"
|
||||||
|
"github.com/fthvgb1/wp-go/internal/wpconfig"
|
||||||
|
"strings"
|
||||||
|
)
|
||||||
|
|
||||||
|
func colorScheme(h *common.Handle) (r string) {
|
||||||
|
if "custom" != wpconfig.GetThemeModsVal(h.Theme, "colorscheme", "light") {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
s := str.NewBuilder()
|
||||||
|
hue := number.ToString(wpconfig.GetThemeModsVal[int64](h.Theme, "colorscheme_hue", 250))
|
||||||
|
saturation := fmt.Sprintf("%d%%", int(.8*50))
|
||||||
|
css := customCss
|
||||||
|
for k, v := range map[string]string{
|
||||||
|
"' . $hue . '": hue,
|
||||||
|
"' . esc_attr( $hue ) . '": hue,
|
||||||
|
"' . $saturation . '": saturation,
|
||||||
|
"' . esc_attr( $saturation ) .' ": saturation,
|
||||||
|
} {
|
||||||
|
css = strings.ReplaceAll(css, k, v)
|
||||||
|
}
|
||||||
|
s.Sprintf(`<style type="text/css" id="custom-theme-colors">%s</style>`, css)
|
||||||
|
r = s.String()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
var customCss = `
|
||||||
|
/**
|
||||||
|
* Twenty Seventeen: Color Patterns
|
||||||
|
*
|
||||||
|
* Colors are ordered from dark to light.
|
||||||
|
*/
|
||||||
|
|
||||||
|
.colors-custom a:hover,
|
||||||
|
.colors-custom a:active,
|
||||||
|
.colors-custom .entry-content a:focus,
|
||||||
|
.colors-custom .entry-content a:hover,
|
||||||
|
.colors-custom .entry-summary a:focus,
|
||||||
|
.colors-custom .entry-summary a:hover,
|
||||||
|
.colors-custom .comment-content a:focus,
|
||||||
|
.colors-custom .comment-content a:hover,
|
||||||
|
.colors-custom .widget a:focus,
|
||||||
|
.colors-custom .widget a:hover,
|
||||||
|
.colors-custom .site-footer .widget-area a:focus,
|
||||||
|
.colors-custom .site-footer .widget-area a:hover,
|
||||||
|
.colors-custom .posts-navigation a:focus,
|
||||||
|
.colors-custom .posts-navigation a:hover,
|
||||||
|
.colors-custom .comment-metadata a:focus,
|
||||||
|
.colors-custom .comment-metadata a:hover,
|
||||||
|
.colors-custom .comment-metadata a.comment-edit-link:focus,
|
||||||
|
.colors-custom .comment-metadata a.comment-edit-link:hover,
|
||||||
|
.colors-custom .comment-reply-link:focus,
|
||||||
|
.colors-custom .comment-reply-link:hover,
|
||||||
|
.colors-custom .widget_authors a:focus strong,
|
||||||
|
.colors-custom .widget_authors a:hover strong,
|
||||||
|
.colors-custom .entry-title a:focus,
|
||||||
|
.colors-custom .entry-title a:hover,
|
||||||
|
.colors-custom .entry-meta a:focus,
|
||||||
|
.colors-custom .entry-meta a:hover,
|
||||||
|
.colors-custom.blog .entry-meta a.post-edit-link:focus,
|
||||||
|
.colors-custom.blog .entry-meta a.post-edit-link:hover,
|
||||||
|
.colors-custom.archive .entry-meta a.post-edit-link:focus,
|
||||||
|
.colors-custom.archive .entry-meta a.post-edit-link:hover,
|
||||||
|
.colors-custom.search .entry-meta a.post-edit-link:focus,
|
||||||
|
.colors-custom.search .entry-meta a.post-edit-link:hover,
|
||||||
|
.colors-custom .page-links a:focus .page-number,
|
||||||
|
.colors-custom .page-links a:hover .page-number,
|
||||||
|
.colors-custom .entry-footer a:focus,
|
||||||
|
.colors-custom .entry-footer a:hover,
|
||||||
|
.colors-custom .entry-footer .cat-links a:focus,
|
||||||
|
.colors-custom .entry-footer .cat-links a:hover,
|
||||||
|
.colors-custom .entry-footer .tags-links a:focus,
|
||||||
|
.colors-custom .entry-footer .tags-links a:hover,
|
||||||
|
.colors-custom .post-navigation a:focus,
|
||||||
|
.colors-custom .post-navigation a:hover,
|
||||||
|
.colors-custom .pagination a:not(.prev):not(.next):focus,
|
||||||
|
.colors-custom .pagination a:not(.prev):not(.next):hover,
|
||||||
|
.colors-custom .comments-pagination a:not(.prev):not(.next):focus,
|
||||||
|
.colors-custom .comments-pagination a:not(.prev):not(.next):hover,
|
||||||
|
.colors-custom .logged-in-as a:focus,
|
||||||
|
.colors-custom .logged-in-as a:hover,
|
||||||
|
.colors-custom a:focus .nav-title,
|
||||||
|
.colors-custom a:hover .nav-title,
|
||||||
|
.colors-custom .edit-link a:focus,
|
||||||
|
.colors-custom .edit-link a:hover,
|
||||||
|
.colors-custom .site-info a:focus,
|
||||||
|
.colors-custom .site-info a:hover,
|
||||||
|
.colors-custom .widget .widget-title a:focus,
|
||||||
|
.colors-custom .widget .widget-title a:hover,
|
||||||
|
.colors-custom .widget ul li a:focus,
|
||||||
|
.colors-custom .widget ul li a:hover {
|
||||||
|
color: hsl( ' . $hue . ', ' . $saturation . ', 0% ); /* base: #000; */
|
||||||
|
}
|
||||||
|
|
||||||
|
.colors-custom .entry-content a,
|
||||||
|
.colors-custom .entry-summary a,
|
||||||
|
.colors-custom .comment-content a,
|
||||||
|
.colors-custom .widget a,
|
||||||
|
.colors-custom .site-footer .widget-area a,
|
||||||
|
.colors-custom .posts-navigation a,
|
||||||
|
.colors-custom .widget_authors a strong {
|
||||||
|
-webkit-box-shadow: inset 0 -1px 0 hsl( ' . $hue . ', ' . $saturation . ', 6% ); /* base: rgba(15, 15, 15, 1); */
|
||||||
|
box-shadow: inset 0 -1px 0 hsl( ' . $hue . ', ' . $saturation . ', 6% ); /* base: rgba(15, 15, 15, 1); */
|
||||||
|
}
|
||||||
|
|
||||||
|
.colors-custom button,
|
||||||
|
.colors-custom input[type="button"],
|
||||||
|
.colors-custom input[type="submit"],
|
||||||
|
.colors-custom .entry-footer .edit-link a.post-edit-link {
|
||||||
|
background-color: hsl( ' . $hue . ', ' . $saturation . ', 13% ); /* base: #222; */
|
||||||
|
}
|
||||||
|
|
||||||
|
.colors-custom input[type="text"]:focus,
|
||||||
|
.colors-custom input[type="email"]:focus,
|
||||||
|
.colors-custom input[type="url"]:focus,
|
||||||
|
.colors-custom input[type="password"]:focus,
|
||||||
|
.colors-custom input[type="search"]:focus,
|
||||||
|
.colors-custom input[type="number"]:focus,
|
||||||
|
.colors-custom input[type="tel"]:focus,
|
||||||
|
.colors-custom input[type="range"]:focus,
|
||||||
|
.colors-custom input[type="date"]:focus,
|
||||||
|
.colors-custom input[type="month"]:focus,
|
||||||
|
.colors-custom input[type="week"]:focus,
|
||||||
|
.colors-custom input[type="time"]:focus,
|
||||||
|
.colors-custom input[type="datetime"]:focus,
|
||||||
|
.colors-custom .colors-custom input[type="datetime-local"]:focus,
|
||||||
|
.colors-custom input[type="color"]:focus,
|
||||||
|
.colors-custom textarea:focus,
|
||||||
|
.colors-custom button.secondary,
|
||||||
|
.colors-custom input[type="reset"],
|
||||||
|
.colors-custom input[type="button"].secondary,
|
||||||
|
.colors-custom input[type="reset"].secondary,
|
||||||
|
.colors-custom input[type="submit"].secondary,
|
||||||
|
.colors-custom a,
|
||||||
|
.colors-custom .site-title,
|
||||||
|
.colors-custom .site-title a,
|
||||||
|
.colors-custom .navigation-top a,
|
||||||
|
.colors-custom .dropdown-toggle,
|
||||||
|
.colors-custom .menu-toggle,
|
||||||
|
.colors-custom .page .panel-content .entry-title,
|
||||||
|
.colors-custom .page-title,
|
||||||
|
.colors-custom.page:not(.twentyseventeen-front-page) .entry-title,
|
||||||
|
.colors-custom .page-links a .page-number,
|
||||||
|
.colors-custom .comment-metadata a.comment-edit-link,
|
||||||
|
.colors-custom .comment-reply-link .icon,
|
||||||
|
.colors-custom h2.widget-title,
|
||||||
|
.colors-custom mark,
|
||||||
|
.colors-custom .post-navigation a:focus .icon,
|
||||||
|
.colors-custom .post-navigation a:hover .icon,
|
||||||
|
.colors-custom .site-content .site-content-light,
|
||||||
|
.colors-custom .twentyseventeen-panel .recent-posts .entry-header .edit-link {
|
||||||
|
color: hsl( ' . $hue . ', ' . $saturation . ', 13% ); /* base: #222; */
|
||||||
|
}
|
||||||
|
|
||||||
|
.colors-custom .entry-content a:focus,
|
||||||
|
.colors-custom .entry-content a:hover,
|
||||||
|
.colors-custom .entry-summary a:focus,
|
||||||
|
.colors-custom .entry-summary a:hover,
|
||||||
|
.colors-custom .comment-content a:focus,
|
||||||
|
.colors-custom .comment-content a:hover,
|
||||||
|
.colors-custom .widget a:focus,
|
||||||
|
.colors-custom .widget a:hover,
|
||||||
|
.colors-custom .site-footer .widget-area a:focus,
|
||||||
|
.colors-custom .site-footer .widget-area a:hover,
|
||||||
|
.colors-custom .posts-navigation a:focus,
|
||||||
|
.colors-custom .posts-navigation a:hover,
|
||||||
|
.colors-custom .comment-metadata a:focus,
|
||||||
|
.colors-custom .comment-metadata a:hover,
|
||||||
|
.colors-custom .comment-metadata a.comment-edit-link:focus,
|
||||||
|
.colors-custom .comment-metadata a.comment-edit-link:hover,
|
||||||
|
.colors-custom .comment-reply-link:focus,
|
||||||
|
.colors-custom .comment-reply-link:hover,
|
||||||
|
.colors-custom .widget_authors a:focus strong,
|
||||||
|
.colors-custom .widget_authors a:hover strong,
|
||||||
|
.colors-custom .entry-title a:focus,
|
||||||
|
.colors-custom .entry-title a:hover,
|
||||||
|
.colors-custom .entry-meta a:focus,
|
||||||
|
.colors-custom .entry-meta a:hover,
|
||||||
|
.colors-custom.blog .entry-meta a.post-edit-link:focus,
|
||||||
|
.colors-custom.blog .entry-meta a.post-edit-link:hover,
|
||||||
|
.colors-custom.archive .entry-meta a.post-edit-link:focus,
|
||||||
|
.colors-custom.archive .entry-meta a.post-edit-link:hover,
|
||||||
|
.colors-custom.search .entry-meta a.post-edit-link:focus,
|
||||||
|
.colors-custom.search .entry-meta a.post-edit-link:hover,
|
||||||
|
.colors-custom .page-links a:focus .page-number,
|
||||||
|
.colors-custom .page-links a:hover .page-number,
|
||||||
|
.colors-custom .entry-footer .cat-links a:focus,
|
||||||
|
.colors-custom .entry-footer .cat-links a:hover,
|
||||||
|
.colors-custom .entry-footer .tags-links a:focus,
|
||||||
|
.colors-custom .entry-footer .tags-links a:hover,
|
||||||
|
.colors-custom .post-navigation a:focus,
|
||||||
|
.colors-custom .post-navigation a:hover,
|
||||||
|
.colors-custom .pagination a:not(.prev):not(.next):focus,
|
||||||
|
.colors-custom .pagination a:not(.prev):not(.next):hover,
|
||||||
|
.colors-custom .comments-pagination a:not(.prev):not(.next):focus,
|
||||||
|
.colors-custom .comments-pagination a:not(.prev):not(.next):hover,
|
||||||
|
.colors-custom .logged-in-as a:focus,
|
||||||
|
.colors-custom .logged-in-as a:hover,
|
||||||
|
.colors-custom a:focus .nav-title,
|
||||||
|
.colors-custom a:hover .nav-title,
|
||||||
|
.colors-custom .edit-link a:focus,
|
||||||
|
.colors-custom .edit-link a:hover,
|
||||||
|
.colors-custom .site-info a:focus,
|
||||||
|
.colors-custom .site-info a:hover,
|
||||||
|
.colors-custom .widget .widget-title a:focus,
|
||||||
|
.colors-custom .widget .widget-title a:hover,
|
||||||
|
.colors-custom .widget ul li a:focus,
|
||||||
|
.colors-custom .widget ul li a:hover {
|
||||||
|
-webkit-box-shadow: inset 0 0 0 hsl( ' . $hue . ', ' . $saturation . ', 13% ), 0 3px 0 hsl( ' . $hue . ', ' . $saturation . ', 13% );
|
||||||
|
box-shadow: inset 0 0 0 hsl( ' . $hue . ', ' . $saturation . ' , 13% ), 0 3px 0 hsl( ' . $hue . ', ' . $saturation . ', 13% );
|
||||||
|
}
|
||||||
|
|
||||||
|
body.colors-custom,
|
||||||
|
.colors-custom button,
|
||||||
|
.colors-custom input,
|
||||||
|
.colors-custom select,
|
||||||
|
.colors-custom textarea,
|
||||||
|
.colors-custom h3,
|
||||||
|
.colors-custom h4,
|
||||||
|
.colors-custom h6,
|
||||||
|
.colors-custom label,
|
||||||
|
.colors-custom .entry-title a,
|
||||||
|
.colors-custom.twentyseventeen-front-page .panel-content .recent-posts article,
|
||||||
|
.colors-custom .entry-footer .cat-links a,
|
||||||
|
.colors-custom .entry-footer .tags-links a,
|
||||||
|
.colors-custom .format-quote blockquote,
|
||||||
|
.colors-custom .nav-title,
|
||||||
|
.colors-custom .comment-body,
|
||||||
|
.colors-custom .site-content .wp-playlist-light .wp-playlist-current-item .wp-playlist-item-album {
|
||||||
|
color: hsl( ' . $hue . ', ' . $reduced_saturation . ', 20% ); /* base: #333; */
|
||||||
|
}
|
||||||
|
|
||||||
|
.colors-custom .social-navigation a:hover,
|
||||||
|
.colors-custom .social-navigation a:focus {
|
||||||
|
background: hsl( ' . $hue . ', ' . $reduced_saturation . ', 20% ); /* base: #333; */
|
||||||
|
}
|
||||||
|
|
||||||
|
.colors-custom input[type="text"]:focus,
|
||||||
|
.colors-custom input[type="email"]:focus,
|
||||||
|
.colors-custom input[type="url"]:focus,
|
||||||
|
.colors-custom input[type="password"]:focus,
|
||||||
|
.colors-custom input[type="search"]:focus,
|
||||||
|
.colors-custom input[type="number"]:focus,
|
||||||
|
.colors-custom input[type="tel"]:focus,
|
||||||
|
.colors-custom input[type="range"]:focus,
|
||||||
|
.colors-custom input[type="date"]:focus,
|
||||||
|
.colors-custom input[type="month"]:focus,
|
||||||
|
.colors-custom input[type="week"]:focus,
|
||||||
|
.colors-custom input[type="time"]:focus,
|
||||||
|
.colors-custom input[type="datetime"]:focus,
|
||||||
|
.colors-custom input[type="datetime-local"]:focus,
|
||||||
|
.colors-custom input[type="color"]:focus,
|
||||||
|
.colors-custom textarea:focus,
|
||||||
|
.bypostauthor > .comment-body > .comment-meta > .comment-author .avatar {
|
||||||
|
border-color: hsl( ' . $hue . ', ' . $reduced_saturation . ', 20% ); /* base: #333; */
|
||||||
|
}
|
||||||
|
|
||||||
|
.colors-custom h2,
|
||||||
|
.colors-custom blockquote,
|
||||||
|
.colors-custom input[type="text"],
|
||||||
|
.colors-custom input[type="email"],
|
||||||
|
.colors-custom input[type="url"],
|
||||||
|
.colors-custom input[type="password"],
|
||||||
|
.colors-custom input[type="search"],
|
||||||
|
.colors-custom input[type="number"],
|
||||||
|
.colors-custom input[type="tel"],
|
||||||
|
.colors-custom input[type="range"],
|
||||||
|
.colors-custom input[type="date"],
|
||||||
|
.colors-custom input[type="month"],
|
||||||
|
.colors-custom input[type="week"],
|
||||||
|
.colors-custom input[type="time"],
|
||||||
|
.colors-custom input[type="datetime"],
|
||||||
|
.colors-custom input[type="datetime-local"],
|
||||||
|
.colors-custom input[type="color"],
|
||||||
|
.colors-custom textarea,
|
||||||
|
.colors-custom .site-description,
|
||||||
|
.colors-custom .entry-content blockquote.alignleft,
|
||||||
|
.colors-custom .entry-content blockquote.alignright,
|
||||||
|
.colors-custom .colors-custom .taxonomy-description,
|
||||||
|
.colors-custom .site-info a,
|
||||||
|
.colors-custom .wp-caption,
|
||||||
|
.colors-custom .gallery-caption {
|
||||||
|
color: hsl( ' . $hue . ', ' . $saturation . ', 40% ); /* base: #666; */
|
||||||
|
}
|
||||||
|
|
||||||
|
.colors-custom abbr,
|
||||||
|
.colors-custom acronym {
|
||||||
|
border-bottom-color: hsl( ' . $hue . ', ' . $saturation . ', 40% ); /* base: #666; */
|
||||||
|
}
|
||||||
|
|
||||||
|
.colors-custom h5,
|
||||||
|
.colors-custom .entry-meta,
|
||||||
|
.colors-custom .entry-meta a,
|
||||||
|
.colors-custom.blog .entry-meta a.post-edit-link,
|
||||||
|
.colors-custom.archive .entry-meta a.post-edit-link,
|
||||||
|
.colors-custom.search .entry-meta a.post-edit-link,
|
||||||
|
.colors-custom .nav-subtitle,
|
||||||
|
.colors-custom .comment-metadata,
|
||||||
|
.colors-custom .comment-metadata a,
|
||||||
|
.colors-custom .no-comments,
|
||||||
|
.colors-custom .comment-awaiting-moderation,
|
||||||
|
.colors-custom .page-numbers.current,
|
||||||
|
.colors-custom .page-links .page-number,
|
||||||
|
.colors-custom .navigation-top .current-menu-item > a,
|
||||||
|
.colors-custom .navigation-top .current_page_item > a,
|
||||||
|
.colors-custom .main-navigation a:hover,
|
||||||
|
.colors-custom .site-content .wp-playlist-light .wp-playlist-current-item .wp-playlist-item-artist {
|
||||||
|
color: hsl( ' . $hue . ', ' . $saturation . ', 46% ); /* base: #767676; */
|
||||||
|
}
|
||||||
|
|
||||||
|
.colors-custom :not( .mejs-button ) > button:hover,
|
||||||
|
.colors-custom :not( .mejs-button ) > button:focus,
|
||||||
|
.colors-custom input[type="button"]:hover,
|
||||||
|
.colors-custom input[type="button"]:focus,
|
||||||
|
.colors-custom input[type="submit"]:hover,
|
||||||
|
.colors-custom input[type="submit"]:focus,
|
||||||
|
.colors-custom .entry-footer .edit-link a.post-edit-link:hover,
|
||||||
|
.colors-custom .entry-footer .edit-link a.post-edit-link:focus,
|
||||||
|
.colors-custom .social-navigation a,
|
||||||
|
.colors-custom .prev.page-numbers:focus,
|
||||||
|
.colors-custom .prev.page-numbers:hover,
|
||||||
|
.colors-custom .next.page-numbers:focus,
|
||||||
|
.colors-custom .next.page-numbers:hover,
|
||||||
|
.colors-custom .site-content .wp-playlist-light .wp-playlist-item:hover,
|
||||||
|
.colors-custom .site-content .wp-playlist-light .wp-playlist-item:focus {
|
||||||
|
background: hsl( ' . esc_attr( $hue ) . ', ' . esc_attr( $saturation ) . ', 46% ); /* base: #767676; */
|
||||||
|
}
|
||||||
|
|
||||||
|
.colors-custom button.secondary:hover,
|
||||||
|
.colors-custom button.secondary:focus,
|
||||||
|
.colors-custom input[type="reset"]:hover,
|
||||||
|
.colors-custom input[type="reset"]:focus,
|
||||||
|
.colors-custom input[type="button"].secondary:hover,
|
||||||
|
.colors-custom input[type="button"].secondary:focus,
|
||||||
|
.colors-custom input[type="reset"].secondary:hover,
|
||||||
|
.colors-custom input[type="reset"].secondary:focus,
|
||||||
|
.colors-custom input[type="submit"].secondary:hover,
|
||||||
|
.colors-custom input[type="submit"].secondary:focus,
|
||||||
|
.colors-custom hr {
|
||||||
|
background: hsl( ' . $hue . ', ' . $saturation . ', 73% ); /* base: #bbb; */
|
||||||
|
}
|
||||||
|
|
||||||
|
.colors-custom input[type="text"],
|
||||||
|
.colors-custom input[type="email"],
|
||||||
|
.colors-custom input[type="url"],
|
||||||
|
.colors-custom input[type="password"],
|
||||||
|
.colors-custom input[type="search"],
|
||||||
|
.colors-custom input[type="number"],
|
||||||
|
.colors-custom input[type="tel"],
|
||||||
|
.colors-custom input[type="range"],
|
||||||
|
.colors-custom input[type="date"],
|
||||||
|
.colors-custom input[type="month"],
|
||||||
|
.colors-custom input[type="week"],
|
||||||
|
.colors-custom input[type="time"],
|
||||||
|
.colors-custom input[type="datetime"],
|
||||||
|
.colors-custom input[type="datetime-local"],
|
||||||
|
.colors-custom input[type="color"],
|
||||||
|
.colors-custom textarea,
|
||||||
|
.colors-custom select,
|
||||||
|
.colors-custom fieldset,
|
||||||
|
.colors-custom .widget .tagcloud a:hover,
|
||||||
|
.colors-custom .widget .tagcloud a:focus,
|
||||||
|
.colors-custom .widget.widget_tag_cloud a:hover,
|
||||||
|
.colors-custom .widget.widget_tag_cloud a:focus,
|
||||||
|
.colors-custom .wp_widget_tag_cloud a:hover,
|
||||||
|
.colors-custom .wp_widget_tag_cloud a:focus {
|
||||||
|
border-color: hsl( ' . $hue . ', ' . $saturation . ', 73% ); /* base: #bbb; */
|
||||||
|
}
|
||||||
|
|
||||||
|
.colors-custom thead th {
|
||||||
|
border-bottom-color: hsl( ' . $hue . ', ' . $saturation . ', 73% ); /* base: #bbb; */
|
||||||
|
}
|
||||||
|
|
||||||
|
.colors-custom .entry-footer .cat-links .icon,
|
||||||
|
.colors-custom .entry-footer .tags-links .icon {
|
||||||
|
color: hsl( ' . $hue . ', ' . $saturation . ', 73% ); /* base: #bbb; */
|
||||||
|
}
|
||||||
|
|
||||||
|
.colors-custom button.secondary,
|
||||||
|
.colors-custom input[type="reset"],
|
||||||
|
.colors-custom input[type="button"].secondary,
|
||||||
|
.colors-custom input[type="reset"].secondary,
|
||||||
|
.colors-custom input[type="submit"].secondary,
|
||||||
|
.colors-custom .prev.page-numbers,
|
||||||
|
.colors-custom .next.page-numbers {
|
||||||
|
background-color: hsl( ' . $hue . ', ' . $saturation . ', 87% ); /* base: #ddd; */
|
||||||
|
}
|
||||||
|
|
||||||
|
.colors-custom .widget .tagcloud a,
|
||||||
|
.colors-custom .widget.widget_tag_cloud a,
|
||||||
|
.colors-custom .wp_widget_tag_cloud a {
|
||||||
|
border-color: hsl( ' . $hue . ', ' . $saturation . ', 87% ); /* base: #ddd; */
|
||||||
|
}
|
||||||
|
|
||||||
|
.colors-custom.twentyseventeen-front-page article:not(.has-post-thumbnail):not(:first-child),
|
||||||
|
.colors-custom .widget ul li {
|
||||||
|
border-top-color: hsl( ' . $hue . ', ' . $saturation . ', 87% ); /* base: #ddd; */
|
||||||
|
}
|
||||||
|
|
||||||
|
.colors-custom .widget ul li {
|
||||||
|
border-bottom-color: hsl( ' . $hue . ', ' . $saturation . ', 87% ); /* base: #ddd; */
|
||||||
|
}
|
||||||
|
|
||||||
|
.colors-custom pre,
|
||||||
|
.colors-custom mark,
|
||||||
|
.colors-custom ins {
|
||||||
|
background: hsl( ' . $hue . ', ' . $saturation . ', 93% ); /* base: #eee; */
|
||||||
|
}
|
||||||
|
|
||||||
|
.colors-custom .navigation-top,
|
||||||
|
.colors-custom .main-navigation > div > ul,
|
||||||
|
.colors-custom .pagination,
|
||||||
|
.colors-custom .comments-pagination,
|
||||||
|
.colors-custom .entry-footer,
|
||||||
|
.colors-custom .site-footer {
|
||||||
|
border-top-color: hsl( ' . $hue . ', ' . $saturation . ', 93% ); /* base: #eee; */
|
||||||
|
}
|
||||||
|
|
||||||
|
.colors-custom .navigation-top,
|
||||||
|
.colors-custom .main-navigation li,
|
||||||
|
.colors-custom .entry-footer,
|
||||||
|
.colors-custom .single-featured-image-header,
|
||||||
|
.colors-custom .site-content .wp-playlist-light .wp-playlist-item,
|
||||||
|
.colors-custom tr {
|
||||||
|
border-bottom-color: hsl( ' . $hue . ', ' . $saturation . ', 93% ); /* base: #eee; */
|
||||||
|
}
|
||||||
|
|
||||||
|
.colors-custom .site-content .wp-playlist-light {
|
||||||
|
border-color: hsl( ' . $hue . ', ' . $saturation . ', 93% ); /* base: #eee; */
|
||||||
|
}
|
||||||
|
|
||||||
|
.colors-custom .site-header,
|
||||||
|
.colors-custom .single-featured-image-header {
|
||||||
|
background-color: hsl( ' . $hue . ', ' . $saturation . ', 98% ); /* base: #fafafa; */
|
||||||
|
}
|
||||||
|
|
||||||
|
.colors-custom button,
|
||||||
|
.colors-custom input[type="button"],
|
||||||
|
.colors-custom input[type="submit"],
|
||||||
|
.colors-custom .entry-footer .edit-link a.post-edit-link,
|
||||||
|
.colors-custom .social-navigation a,
|
||||||
|
.colors-custom .site-content .wp-playlist-light a.wp-playlist-caption:hover,
|
||||||
|
.colors-custom .site-content .wp-playlist-light .wp-playlist-item:hover a,
|
||||||
|
.colors-custom .site-content .wp-playlist-light .wp-playlist-item:focus a,
|
||||||
|
.colors-custom .site-content .wp-playlist-light .wp-playlist-item:hover,
|
||||||
|
.colors-custom .site-content .wp-playlist-light .wp-playlist-item:focus,
|
||||||
|
.colors-custom .prev.page-numbers:focus,
|
||||||
|
.colors-custom .prev.page-numbers:hover,
|
||||||
|
.colors-custom .next.page-numbers:focus,
|
||||||
|
.colors-custom .next.page-numbers:hover,
|
||||||
|
.colors-custom.has-header-image .site-title,
|
||||||
|
.colors-custom.has-header-video .site-title,
|
||||||
|
.colors-custom.has-header-image .site-title a,
|
||||||
|
.colors-custom.has-header-video .site-title a,
|
||||||
|
.colors-custom.has-header-image .site-description,
|
||||||
|
.colors-custom.has-header-video .site-description {
|
||||||
|
color: hsl( ' . $hue . ', ' . $saturation . ', 100% ); /* base: #fff; */
|
||||||
|
}
|
||||||
|
|
||||||
|
body.colors-custom,
|
||||||
|
.colors-custom .navigation-top,
|
||||||
|
.colors-custom .main-navigation ul {
|
||||||
|
background: hsl( ' . $hue . ', ' . $saturation . ', 100% ); /* base: #fff; */
|
||||||
|
}
|
||||||
|
|
||||||
|
.colors-custom .widget ul li a,
|
||||||
|
.colors-custom .site-footer .widget-area ul li a {
|
||||||
|
-webkit-box-shadow: inset 0 -1px 0 hsl( ' . $hue . ', ' . $saturation . ', 100% ); /* base: rgba(255, 255, 255, 1); */
|
||||||
|
box-shadow: inset 0 -1px 0 hsl( ' . $hue . ', ' . $saturation . ', 100% ); /* base: rgba(255, 255, 255, 1); */
|
||||||
|
}
|
||||||
|
|
||||||
|
.colors-custom .menu-toggle,
|
||||||
|
.colors-custom .menu-toggle:hover,
|
||||||
|
.colors-custom .menu-toggle:focus,
|
||||||
|
.colors-custom .menu .dropdown-toggle,
|
||||||
|
.colors-custom .menu-scroll-down,
|
||||||
|
.colors-custom .menu-scroll-down:hover,
|
||||||
|
.colors-custom .menu-scroll-down:focus {
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
.colors-custom .widget .tagcloud a,
|
||||||
|
.colors-custom .widget .tagcloud a:focus,
|
||||||
|
.colors-custom .widget .tagcloud a:hover,
|
||||||
|
.colors-custom .widget.widget_tag_cloud a,
|
||||||
|
.colors-custom .widget.widget_tag_cloud a:focus,
|
||||||
|
.colors-custom .widget.widget_tag_cloud a:hover,
|
||||||
|
.colors-custom .wp_widget_tag_cloud a,
|
||||||
|
.colors-custom .wp_widget_tag_cloud a:focus,
|
||||||
|
.colors-custom .wp_widget_tag_cloud a:hover,
|
||||||
|
.colors-custom .entry-footer .edit-link a.post-edit-link:focus,
|
||||||
|
.colors-custom .entry-footer .edit-link a.post-edit-link:hover {
|
||||||
|
-webkit-box-shadow: none !important;
|
||||||
|
box-shadow: none !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Reset non-customizable hover styling for links */
|
||||||
|
.colors-custom .entry-content a:hover,
|
||||||
|
.colors-custom .entry-content a:focus,
|
||||||
|
.colors-custom .entry-summary a:hover,
|
||||||
|
.colors-custom .entry-summary a:focus,
|
||||||
|
.colors-custom .comment-content a:focus,
|
||||||
|
.colors-custom .comment-content a:hover,
|
||||||
|
.colors-custom .widget a:hover,
|
||||||
|
.colors-custom .widget a:focus,
|
||||||
|
.colors-custom .site-footer .widget-area a:hover,
|
||||||
|
.colors-custom .site-footer .widget-area a:focus,
|
||||||
|
.colors-custom .posts-navigation a:hover,
|
||||||
|
.colors-custom .posts-navigation a:focus,
|
||||||
|
.colors-custom .widget_authors a:hover strong,
|
||||||
|
.colors-custom .widget_authors a:focus strong {
|
||||||
|
-webkit-box-shadow: inset 0 0 0 rgba(0, 0, 0, 0), 0 3px 0 rgba(0, 0, 0, 1);
|
||||||
|
box-shadow: inset 0 0 0 rgba(0, 0, 0, 0), 0 3px 0 rgba(0, 0, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
.colors-custom .gallery-item a,
|
||||||
|
.colors-custom .gallery-item a:hover,
|
||||||
|
.colors-custom .gallery-item a:focus {
|
||||||
|
-webkit-box-shadow: none;
|
||||||
|
box-shadow: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (min-width: 48em) {
|
||||||
|
|
||||||
|
.colors-custom .nav-links .nav-previous .nav-title .icon,
|
||||||
|
.colors-custom .nav-links .nav-next .nav-title .icon {
|
||||||
|
color: hsl( ' . $hue . ', ' . $saturation . ', 20% ); /* base: #222; */
|
||||||
|
}
|
||||||
|
|
||||||
|
.colors-custom .main-navigation li li:hover,
|
||||||
|
.colors-custom .main-navigation li li.focus {
|
||||||
|
background: hsl( ' . $hue . ', ' . $saturation . ', 46% ); /* base: #767676; */
|
||||||
|
}
|
||||||
|
|
||||||
|
.colors-custom .navigation-top .menu-scroll-down {
|
||||||
|
color: hsl( ' . $hue . ', ' . $saturation . ', 46% ); /* base: #767676; */;
|
||||||
|
}
|
||||||
|
|
||||||
|
.colors-custom abbr[title] {
|
||||||
|
border-bottom-color: hsl( ' . $hue . ', ' . $saturation . ', 46% ); /* base: #767676; */;
|
||||||
|
}
|
||||||
|
|
||||||
|
.colors-custom .main-navigation ul ul {
|
||||||
|
border-color: hsl( ' . $hue . ', ' . $saturation . ', 73% ); /* base: #bbb; */
|
||||||
|
background: hsl( ' . $hue . ', ' . $saturation . ', 100% ); /* base: #fff; */
|
||||||
|
}
|
||||||
|
|
||||||
|
.colors-custom .main-navigation ul li.menu-item-has-children:before,
|
||||||
|
.colors-custom .main-navigation ul li.page_item_has_children:before {
|
||||||
|
border-bottom-color: hsl( ' . $hue . ', ' . $saturation . ', 73% ); /* base: #bbb; */
|
||||||
|
}
|
||||||
|
|
||||||
|
.colors-custom .main-navigation ul li.menu-item-has-children:after,
|
||||||
|
.colors-custom .main-navigation ul li.page_item_has_children:after {
|
||||||
|
border-bottom-color: hsl( ' . $hue . ', ' . $saturation . ', 100% ); /* base: #fff; */
|
||||||
|
}
|
||||||
|
|
||||||
|
.colors-custom .main-navigation li li.focus > a,
|
||||||
|
.colors-custom .main-navigation li li:focus > a,
|
||||||
|
.colors-custom .main-navigation li li:hover > a,
|
||||||
|
.colors-custom .main-navigation li li a:hover,
|
||||||
|
.colors-custom .main-navigation li li a:focus,
|
||||||
|
.colors-custom .main-navigation li li.current_page_item a:hover,
|
||||||
|
.colors-custom .main-navigation li li.current-menu-item a:hover,
|
||||||
|
.colors-custom .main-navigation li li.current_page_item a:focus,
|
||||||
|
.colors-custom .main-navigation li li.current-menu-item a:focus {
|
||||||
|
color: hsl( ' . $hue . ', ' . $saturation . ', 100% ); /* base: #fff; */
|
||||||
|
}
|
||||||
|
}
|
||||||
|
`
|
|
@ -1,12 +1,10 @@
|
||||||
{{ define "layout/base"}}
|
{{ define "layout/base"}}
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="{{getLang}}" class="no-js no-svg">
|
<html lang="{{getLang}}" class="no-js no-svg">
|
||||||
<head>
|
|
||||||
{{template "layout/head" .}}
|
{{template "layout/head" .}}
|
||||||
{{block "head" .}}
|
|
||||||
{{end}}
|
<body class="{{.bodyClass}}">
|
||||||
</head>
|
|
||||||
<body class="{{.bodyClass}} wp-embed-responsive hfeed has-sidebar colors-light">
|
|
||||||
{{template "svg"}}
|
{{template "svg"}}
|
||||||
<div id="page" class="site">
|
<div id="page" class="site">
|
||||||
<a class="skip-link screen-reader-text" href="#content">跳至内容</a>
|
<a class="skip-link screen-reader-text" href="#content">跳至内容</a>
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
{{define "layout/head"}}
|
{{define "layout/head"}}
|
||||||
|
<head>
|
||||||
<meta charset="{{"blog_charset"| getOption}}">
|
<meta charset="{{"blog_charset"| getOption}}">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
<link rel="profile" href="https://gmpg.org/xfn/11">
|
<link rel="profile" href="https://gmpg.org/xfn/11">
|
||||||
|
@ -64,7 +65,8 @@
|
||||||
<link rel="wlwmanifest" type="application/wlwmanifest+xml" href="/wp-includes/wlwmanifest.xml" />
|
<link rel="wlwmanifest" type="application/wlwmanifest+xml" href="/wp-includes/wlwmanifest.xml" />
|
||||||
<meta name="generator" content="WordPress 6.1.1" />
|
<meta name="generator" content="WordPress 6.1.1" />
|
||||||
<style>.recentcomments a{display:inline !important;padding:0 !important;margin:0 !important;}</style>
|
<style>.recentcomments a{display:inline !important;padding:0 !important;margin:0 !important;}</style>
|
||||||
|
{{block "head" .}}
|
||||||
|
{{end}}
|
||||||
{{template "common/head" .}}
|
{{template "common/head" .}}
|
||||||
|
</head>
|
||||||
{{end}}
|
{{end}}
|
|
@ -4,6 +4,7 @@ import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"github.com/fthvgb1/wp-go/helper"
|
"github.com/fthvgb1/wp-go/helper"
|
||||||
"github.com/fthvgb1/wp-go/helper/maps"
|
"github.com/fthvgb1/wp-go/helper/maps"
|
||||||
|
str "github.com/fthvgb1/wp-go/helper/strings"
|
||||||
"github.com/fthvgb1/wp-go/internal/cmd/reload"
|
"github.com/fthvgb1/wp-go/internal/cmd/reload"
|
||||||
"github.com/fthvgb1/wp-go/internal/pkg/constraints"
|
"github.com/fthvgb1/wp-go/internal/pkg/constraints"
|
||||||
"github.com/fthvgb1/wp-go/internal/pkg/models"
|
"github.com/fthvgb1/wp-go/internal/pkg/models"
|
||||||
|
@ -37,6 +38,7 @@ func dispatch(next common.HandleFn[*common.Handle], h *common.Handle) {
|
||||||
h.WidgetAreaData()
|
h.WidgetAreaData()
|
||||||
h.GetPassword()
|
h.GetPassword()
|
||||||
h.PushHandleFn(calClass)
|
h.PushHandleFn(calClass)
|
||||||
|
h.PushHeadScript(constraints.HeadScript, colorScheme)
|
||||||
h.GinH["HeaderImage"] = getHeaderImage(h)
|
h.GinH["HeaderImage"] = getHeaderImage(h)
|
||||||
switch h.Scene {
|
switch h.Scene {
|
||||||
case constraints.Detail:
|
case constraints.Detail:
|
||||||
|
@ -121,26 +123,23 @@ var header = reload.Vars(models.PostThumbnail{})
|
||||||
|
|
||||||
func getHeaderImage(h *common.Handle) (r models.PostThumbnail) {
|
func getHeaderImage(h *common.Handle) (r models.PostThumbnail) {
|
||||||
img := header.Load()
|
img := header.Load()
|
||||||
r.Sizes = "100vw"
|
if img.Path != "" {
|
||||||
if img.Path == "" {
|
return r
|
||||||
image, rand := h.GetCustomHeader()
|
|
||||||
if !rand {
|
|
||||||
if image.Path == "" {
|
|
||||||
r.Path = helper.CutUrlHost(h.ThemeMods.ThemeSupport.CustomHeader.DefaultImage)
|
|
||||||
r.Width = 2000
|
|
||||||
r.Height = 1200
|
|
||||||
header.Store(r)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
r = image
|
|
||||||
r.Sizes = "100vw"
|
|
||||||
header.Store(r)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
img = image
|
|
||||||
}
|
}
|
||||||
r = img
|
image, rand := h.GetCustomHeader()
|
||||||
|
if image.Path != "" {
|
||||||
|
r = image
|
||||||
|
r.Sizes = "100vw"
|
||||||
|
if !rand {
|
||||||
|
header.Store(r)
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
r.Path = helper.CutUrlHost(h.ThemeMods.ThemeSupport.CustomHeader.DefaultImage)
|
||||||
|
r.Width = 2000
|
||||||
|
r.Height = 1200
|
||||||
r.Sizes = "100vw"
|
r.Sizes = "100vw"
|
||||||
|
header.Store(r)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -149,6 +148,14 @@ func calClass(h *common.Handle) {
|
||||||
if u != "" && u != "remove-header" {
|
if u != "" && u != "remove-header" {
|
||||||
h.Class = append(h.Class, "has-header-image")
|
h.Class = append(h.Class, "has-header-image")
|
||||||
}
|
}
|
||||||
|
if len(h.ThemeMods.SidebarsWidgets.Data.Sidebar1) > 0 {
|
||||||
|
h.Class = append(h.Class, "has-sidebar")
|
||||||
|
}
|
||||||
|
if h.ThemeMods.HeaderTextcolor == "blank" {
|
||||||
|
h.Class = append(h.Class, "title-tagline-hidden")
|
||||||
|
}
|
||||||
|
h.Class = append(h.Class, "hfeed")
|
||||||
|
h.Class = append(h.Class, str.Join("colors-", wpconfig.GetThemeModsVal(h.Theme, "colorscheme", "light")))
|
||||||
if h.Scene == constraints.Archive {
|
if h.Scene == constraints.Archive {
|
||||||
if "one-column" == wpconfig.GetThemeModsVal(h.Theme, "page_layout", "") {
|
if "one-column" == wpconfig.GetThemeModsVal(h.Theme, "page_layout", "") {
|
||||||
h.Class = append(h.Class, "page-one-column")
|
h.Class = append(h.Class, "page-one-column")
|
||||||
|
|
|
@ -4,6 +4,7 @@ import (
|
||||||
"context"
|
"context"
|
||||||
"fmt"
|
"fmt"
|
||||||
"github.com/fthvgb1/wp-go/helper/slice"
|
"github.com/fthvgb1/wp-go/helper/slice"
|
||||||
|
str "github.com/fthvgb1/wp-go/helper/strings"
|
||||||
"github.com/jmoiron/sqlx"
|
"github.com/jmoiron/sqlx"
|
||||||
"strconv"
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
|
@ -150,5 +151,5 @@ func FormatSql(sql string, params ...any) string {
|
||||||
sql = strings.Replace(sql, "?", fmt.Sprintf("%f", param.(float64)), 1)
|
sql = strings.Replace(sql, "?", fmt.Sprintf("%f", param.(float64)), 1)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return sql
|
return str.CutSpecialDuplicate(sql, " ")
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user