scriptloader for themeseventeen
This commit is contained in:
parent
b247b8640d
commit
25bf1dd1f7
|
@ -14,6 +14,7 @@ import (
|
||||||
"github.com/fthvgb1/wp-go/app/plugins"
|
"github.com/fthvgb1/wp-go/app/plugins"
|
||||||
"github.com/fthvgb1/wp-go/app/plugins/wphandle"
|
"github.com/fthvgb1/wp-go/app/plugins/wphandle"
|
||||||
"github.com/fthvgb1/wp-go/app/theme"
|
"github.com/fthvgb1/wp-go/app/theme"
|
||||||
|
"github.com/fthvgb1/wp-go/app/theme/wp/scriptloader"
|
||||||
"github.com/fthvgb1/wp-go/app/wpconfig"
|
"github.com/fthvgb1/wp-go/app/wpconfig"
|
||||||
"github.com/fthvgb1/wp-go/model"
|
"github.com/fthvgb1/wp-go/model"
|
||||||
"log"
|
"log"
|
||||||
|
@ -43,6 +44,7 @@ func init() {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
|
scriptloader.InitDefaultScriptSetting()
|
||||||
cache.InitActionsCommonCache()
|
cache.InitActionsCommonCache()
|
||||||
plugins.InitDigestCache()
|
plugins.InitDigestCache()
|
||||||
theme.InitTheme()
|
theme.InitTheme()
|
||||||
|
@ -116,6 +118,7 @@ func reloads() {
|
||||||
logs.IfError(err, "获取网站设置WpOption失败")
|
logs.IfError(err, "获取网站设置WpOption失败")
|
||||||
err = wpconfig.InitTerms()
|
err = wpconfig.InitTerms()
|
||||||
logs.IfError(err, "获取WpTerms表失败")
|
logs.IfError(err, "获取WpTerms表失败")
|
||||||
|
scriptloader.InitDefaultScriptSetting()
|
||||||
wphandle.LoadPlugins()
|
wphandle.LoadPlugins()
|
||||||
reload.Reload()
|
reload.Reload()
|
||||||
flushCache()
|
flushCache()
|
||||||
|
|
|
@ -4,14 +4,29 @@ import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"github.com/fthvgb1/wp-go/app/pkg/constraints"
|
"github.com/fthvgb1/wp-go/app/pkg/constraints"
|
||||||
"github.com/fthvgb1/wp-go/app/theme/wp"
|
"github.com/fthvgb1/wp-go/app/theme/wp"
|
||||||
|
"github.com/fthvgb1/wp-go/app/theme/wp/scriptloader"
|
||||||
"github.com/fthvgb1/wp-go/app/wpconfig"
|
"github.com/fthvgb1/wp-go/app/wpconfig"
|
||||||
)
|
)
|
||||||
|
|
||||||
func pushScripts(h *wp.Handle) {
|
func pushScripts(h *wp.Handle) {
|
||||||
wp.AddStaticLocalize("twentyseventeen-skip-link-focus-fix", "twentyseventeenScreenReaderText", map[string]any{
|
scriptloader.EnqueueStyle("twentyseventeen-style", scriptloader.GetStylesheetUri(), nil, "20230328", "")
|
||||||
|
scriptloader.EnqueueStyles("twentyseventeen-block-style", "/assets/css/blocks.css", []string{"twentyseventeen-style"}, "20220912", "")
|
||||||
|
|
||||||
|
if "dark" == wpconfig.GetThemeModsVal(ThemeName, "colorscheme", "light") {
|
||||||
|
scriptloader.EnqueueStyles("twentyseventeen-colors-dark", "/assets/css/colors-dark.css",
|
||||||
|
[]string{"twentyseventeen-style"}, "20191025", "")
|
||||||
|
}
|
||||||
|
|
||||||
|
scriptloader.AddData("twentyseventeen-ie8", "conditional", "lt IE 9")
|
||||||
|
scriptloader.EnqueueScripts("html5", "/assets/js/html5.js", nil, "20161020", false)
|
||||||
|
scriptloader.AddData("html5", "conditional", "lt IE 9")
|
||||||
|
|
||||||
|
scriptloader.EnqueueScripts("twentyseventeen-skip-link-focus-fix", "/assets/js/skip-link-focus-fix.js", nil, "20161114", true)
|
||||||
|
|
||||||
|
scriptloader.AddStaticLocalize("twentyseventeen-skip-link-focus-fix", "twentyseventeenScreenReaderText", map[string]any{
|
||||||
"quote": `<svg class="icon icon-quote-right" aria-hidden="true" role="img"> <use href="#icon-quote-right" xlink:href="#icon-quote-right"></use> </svg>`,
|
"quote": `<svg class="icon icon-quote-right" aria-hidden="true" role="img"> <use href="#icon-quote-right" xlink:href="#icon-quote-right"></use> </svg>`,
|
||||||
})
|
})
|
||||||
wp.AddStaticLocalize("wp-custom-header", "_wpCustomHeaderSettings", map[string]any{
|
scriptloader.AddStaticLocalize("wp-custom-header", "_wpCustomHeaderSettings", map[string]any{
|
||||||
"mimeType": `video/mp4`,
|
"mimeType": `video/mp4`,
|
||||||
"posterUrl": `/wp-content/uploads/2023/01/cropped-wallhaven-9dm7dd-1.png`,
|
"posterUrl": `/wp-content/uploads/2023/01/cropped-wallhaven-9dm7dd-1.png`,
|
||||||
"videoUrl": `/wp-content/uploads/2023/06/BloodMoon_GettyRM_495644264_1080_HD_ZH-CN.mp4`,
|
"videoUrl": `/wp-content/uploads/2023/06/BloodMoon_GettyRM_495644264_1080_HD_ZH-CN.mp4`,
|
||||||
|
|
|
@ -1,17 +1,16 @@
|
||||||
package wp
|
package scriptloader
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
|
"github.com/fthvgb1/wp-go/app/pkg/config"
|
||||||
"github.com/fthvgb1/wp-go/app/pkg/logs"
|
"github.com/fthvgb1/wp-go/app/pkg/logs"
|
||||||
"github.com/fthvgb1/wp-go/helper/maps"
|
"github.com/fthvgb1/wp-go/helper/maps"
|
||||||
"github.com/fthvgb1/wp-go/helper/number"
|
|
||||||
str "github.com/fthvgb1/wp-go/helper/strings"
|
str "github.com/fthvgb1/wp-go/helper/strings"
|
||||||
"github.com/fthvgb1/wp-go/safety"
|
"github.com/fthvgb1/wp-go/safety"
|
||||||
"os"
|
"os"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
"regexp"
|
"regexp"
|
||||||
"strings"
|
"strings"
|
||||||
"time"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
func defaultScripts(m *safety.Map[string, *Script], suffix string) {
|
func defaultScripts(m *safety.Map[string, *Script], suffix string) {
|
||||||
|
@ -241,13 +240,13 @@ func defaultScripts(m *safety.Map[string, *Script], suffix string) {
|
||||||
m.Store("wp-wordcount", NewScript("wp-wordcount", "/wp-includes/js/dist/wordcount"+suffix+".js", []string{"wp-polyfill"}, "feb9569307aec24292f2", 1))
|
m.Store("wp-wordcount", NewScript("wp-wordcount", "/wp-includes/js/dist/wordcount"+suffix+".js", []string{"wp-polyfill"}, "feb9569307aec24292f2", 1))
|
||||||
}
|
}
|
||||||
|
|
||||||
func defaultLocalize(h *Handle) {
|
func defaultLocalize() {
|
||||||
AddDynamicLocalize(h, "utils", "userSettings", map[string]any{
|
/*AddDynamicLocalize(h, "utils", "userSettings", map[string]any{
|
||||||
"url": h.C.Request.RequestURI,
|
"url": h.C.Request.RequestURI,
|
||||||
"uid": "0",
|
"uid": "0",
|
||||||
"time": number.IntToString(time.Now().Unix()),
|
"time": number.IntToString(time.Now().Unix()),
|
||||||
"secure": h.IsHttps(),
|
"secure": h.IsHttps(),
|
||||||
})
|
})*/
|
||||||
|
|
||||||
AddStaticLocalize("wp-ajax-response", "wpAjax", map[string]any{
|
AddStaticLocalize("wp-ajax-response", "wpAjax", map[string]any{
|
||||||
"noPerm": `抱歉,您不能这么做。`,
|
"noPerm": `抱歉,您不能这么做。`,
|
||||||
|
@ -367,121 +366,121 @@ func defaultTranslate() {
|
||||||
}
|
}
|
||||||
|
|
||||||
func defaultAddData() {
|
func defaultAddData() {
|
||||||
addData("json2", "conditional", `lt IE 8`)
|
AddData("json2", "conditional", `lt IE 8`)
|
||||||
addData("wp-embed-template-ie", "conditional", `lte IE 8`)
|
AddData("wp-embed-template-ie", "conditional", `lte IE 8`)
|
||||||
addData("wp-block-library-theme", "path", `wp-includes/css/dist/block-library/theme.min.css`)
|
AddData("wp-block-library-theme", "path", `wp-includes/css/dist/block-library/theme.min.css`)
|
||||||
addData("wp-block-editor", "path", `/wp-includes/css/dist/block-editor/style.min.css`)
|
AddData("wp-block-editor", "path", `/wp-includes/css/dist/block-editor/style.min.css`)
|
||||||
addData("wp-block-library", "path", `/wp-includes/css/dist/block-library/style.min.css`)
|
AddData("wp-block-library", "path", `/wp-includes/css/dist/block-library/style.min.css`)
|
||||||
addData("wp-block-directory", "path", `/wp-includes/css/dist/block-directory/style.min.css`)
|
AddData("wp-block-directory", "path", `/wp-includes/css/dist/block-directory/style.min.css`)
|
||||||
addData("wp-components", "path", `/wp-includes/css/dist/components/style.min.css`)
|
AddData("wp-components", "path", `/wp-includes/css/dist/components/style.min.css`)
|
||||||
addData("wp-edit-post", "path", `/wp-includes/css/dist/edit-post/style.min.css`)
|
AddData("wp-edit-post", "path", `/wp-includes/css/dist/edit-post/style.min.css`)
|
||||||
addData("wp-editor", "path", `/wp-includes/css/dist/editor/style.min.css`)
|
AddData("wp-editor", "path", `/wp-includes/css/dist/editor/style.min.css`)
|
||||||
addData("wp-format-library", "path", `/wp-includes/css/dist/format-library/style.min.css`)
|
AddData("wp-format-library", "path", `/wp-includes/css/dist/format-library/style.min.css`)
|
||||||
addData("wp-list-reusable-blocks", "path", `/wp-includes/css/dist/list-reusable-blocks/style.min.css`)
|
AddData("wp-list-reusable-blocks", "path", `/wp-includes/css/dist/list-reusable-blocks/style.min.css`)
|
||||||
addData("wp-reusable-blocks", "path", `/wp-includes/css/dist/reusable-blocks/style.min.css`)
|
AddData("wp-reusable-blocks", "path", `/wp-includes/css/dist/reusable-blocks/style.min.css`)
|
||||||
addData("wp-nux", "path", `/wp-includes/css/dist/nux/style.min.css`)
|
AddData("wp-nux", "path", `/wp-includes/css/dist/nux/style.min.css`)
|
||||||
addData("wp-widgets", "path", `/wp-includes/css/dist/widgets/style.min.css`)
|
AddData("wp-widgets", "path", `/wp-includes/css/dist/widgets/style.min.css`)
|
||||||
addData("wp-edit-widgets", "path", `/wp-includes/css/dist/edit-widgets/style.min.css`)
|
AddData("wp-edit-widgets", "path", `/wp-includes/css/dist/edit-widgets/style.min.css`)
|
||||||
addData("wp-customize-widgets", "path", `/wp-includes/css/dist/customize-widgets/style.min.css`)
|
AddData("wp-customize-widgets", "path", `/wp-includes/css/dist/customize-widgets/style.min.css`)
|
||||||
addData("wp-edit-site", "path", `/wp-includes/css/dist/edit-site/style.min.css`)
|
AddData("wp-edit-site", "path", `/wp-includes/css/dist/edit-site/style.min.css`)
|
||||||
addData("common", "rtl", `replace`)
|
AddData("common", "rtl", `replace`)
|
||||||
addData("common", "suffix", `.min`)
|
AddData("common", "suffix", `.min`)
|
||||||
addData("forms", "rtl", `replace`)
|
AddData("forms", "rtl", `replace`)
|
||||||
addData("forms", "suffix", `.min`)
|
AddData("forms", "suffix", `.min`)
|
||||||
addData("admin-menu", "rtl", `replace`)
|
AddData("admin-menu", "rtl", `replace`)
|
||||||
addData("admin-menu", "suffix", `.min`)
|
AddData("admin-menu", "suffix", `.min`)
|
||||||
addData("dashboard", "rtl", `replace`)
|
AddData("dashboard", "rtl", `replace`)
|
||||||
addData("dashboard", "suffix", `.min`)
|
AddData("dashboard", "suffix", `.min`)
|
||||||
addData("list-tables", "rtl", `replace`)
|
AddData("list-tables", "rtl", `replace`)
|
||||||
addData("list-tables", "suffix", `.min`)
|
AddData("list-tables", "suffix", `.min`)
|
||||||
addData("edit", "rtl", `replace`)
|
AddData("edit", "rtl", `replace`)
|
||||||
addData("edit", "suffix", `.min`)
|
AddData("edit", "suffix", `.min`)
|
||||||
addData("revisions", "rtl", `replace`)
|
AddData("revisions", "rtl", `replace`)
|
||||||
addData("revisions", "suffix", `.min`)
|
AddData("revisions", "suffix", `.min`)
|
||||||
addData("media", "rtl", `replace`)
|
AddData("media", "rtl", `replace`)
|
||||||
addData("media", "suffix", `.min`)
|
AddData("media", "suffix", `.min`)
|
||||||
addData("themes", "rtl", `replace`)
|
AddData("themes", "rtl", `replace`)
|
||||||
addData("themes", "suffix", `.min`)
|
AddData("themes", "suffix", `.min`)
|
||||||
addData("about", "rtl", `replace`)
|
AddData("about", "rtl", `replace`)
|
||||||
addData("about", "suffix", `.min`)
|
AddData("about", "suffix", `.min`)
|
||||||
addData("nav-menus", "rtl", `replace`)
|
AddData("nav-menus", "rtl", `replace`)
|
||||||
addData("nav-menus", "suffix", `.min`)
|
AddData("nav-menus", "suffix", `.min`)
|
||||||
addData("widgets", "rtl", `replace`)
|
AddData("widgets", "rtl", `replace`)
|
||||||
addData("widgets", "suffix", `.min`)
|
AddData("widgets", "suffix", `.min`)
|
||||||
addData("site-icon", "rtl", `replace`)
|
AddData("site-icon", "rtl", `replace`)
|
||||||
addData("site-icon", "suffix", `.min`)
|
AddData("site-icon", "suffix", `.min`)
|
||||||
addData("l10n", "rtl", `replace`)
|
AddData("l10n", "rtl", `replace`)
|
||||||
addData("l10n", "suffix", `.min`)
|
AddData("l10n", "suffix", `.min`)
|
||||||
addData("install", "rtl", `replace`)
|
AddData("install", "rtl", `replace`)
|
||||||
addData("install", "suffix", `.min`)
|
AddData("install", "suffix", `.min`)
|
||||||
addData("wp-color-picker", "rtl", `replace`)
|
AddData("wp-color-picker", "rtl", `replace`)
|
||||||
addData("wp-color-picker", "suffix", `.min`)
|
AddData("wp-color-picker", "suffix", `.min`)
|
||||||
addData("customize-controls", "rtl", `replace`)
|
AddData("customize-controls", "rtl", `replace`)
|
||||||
addData("customize-controls", "suffix", `.min`)
|
AddData("customize-controls", "suffix", `.min`)
|
||||||
addData("customize-widgets", "rtl", `replace`)
|
AddData("customize-widgets", "rtl", `replace`)
|
||||||
addData("customize-widgets", "suffix", `.min`)
|
AddData("customize-widgets", "suffix", `.min`)
|
||||||
addData("customize-nav-menus", "rtl", `replace`)
|
AddData("customize-nav-menus", "rtl", `replace`)
|
||||||
addData("customize-nav-menus", "suffix", `.min`)
|
AddData("customize-nav-menus", "suffix", `.min`)
|
||||||
addData("customize-preview", "rtl", `replace`)
|
AddData("customize-preview", "rtl", `replace`)
|
||||||
addData("customize-preview", "suffix", `.min`)
|
AddData("customize-preview", "suffix", `.min`)
|
||||||
addData("login", "rtl", `replace`)
|
AddData("login", "rtl", `replace`)
|
||||||
addData("login", "suffix", `.min`)
|
AddData("login", "suffix", `.min`)
|
||||||
addData("site-health", "rtl", `replace`)
|
AddData("site-health", "rtl", `replace`)
|
||||||
addData("site-health", "suffix", `.min`)
|
AddData("site-health", "suffix", `.min`)
|
||||||
addData("buttons", "rtl", `replace`)
|
AddData("buttons", "rtl", `replace`)
|
||||||
addData("buttons", "suffix", `.min`)
|
AddData("buttons", "suffix", `.min`)
|
||||||
addData("admin-bar", "rtl", `replace`)
|
AddData("admin-bar", "rtl", `replace`)
|
||||||
addData("admin-bar", "suffix", `.min`)
|
AddData("admin-bar", "suffix", `.min`)
|
||||||
addData("wp-auth-check", "rtl", `replace`)
|
AddData("wp-auth-check", "rtl", `replace`)
|
||||||
addData("wp-auth-check", "suffix", `.min`)
|
AddData("wp-auth-check", "suffix", `.min`)
|
||||||
addData("editor-buttons", "rtl", `replace`)
|
AddData("editor-buttons", "rtl", `replace`)
|
||||||
addData("editor-buttons", "suffix", `.min`)
|
AddData("editor-buttons", "suffix", `.min`)
|
||||||
addData("media-views", "rtl", `replace`)
|
AddData("media-views", "rtl", `replace`)
|
||||||
addData("media-views", "suffix", `.min`)
|
AddData("media-views", "suffix", `.min`)
|
||||||
addData("wp-pointer", "rtl", `replace`)
|
AddData("wp-pointer", "rtl", `replace`)
|
||||||
addData("wp-pointer", "suffix", `.min`)
|
AddData("wp-pointer", "suffix", `.min`)
|
||||||
addData("wp-jquery-ui-dialog", "rtl", `replace`)
|
AddData("wp-jquery-ui-dialog", "rtl", `replace`)
|
||||||
addData("wp-jquery-ui-dialog", "suffix", `.min`)
|
AddData("wp-jquery-ui-dialog", "suffix", `.min`)
|
||||||
addData("wp-reset-editor-styles", "rtl", `replace`)
|
AddData("wp-reset-editor-styles", "rtl", `replace`)
|
||||||
addData("wp-reset-editor-styles", "suffix", `.min`)
|
AddData("wp-reset-editor-styles", "suffix", `.min`)
|
||||||
addData("wp-editor-classic-layout-styles", "rtl", `replace`)
|
AddData("wp-editor-classic-layout-styles", "rtl", `replace`)
|
||||||
addData("wp-editor-classic-layout-styles", "suffix", `.min`)
|
AddData("wp-editor-classic-layout-styles", "suffix", `.min`)
|
||||||
addData("wp-block-library-theme", "rtl", `replace`)
|
AddData("wp-block-library-theme", "rtl", `replace`)
|
||||||
addData("wp-block-library-theme", "suffix", `.min`)
|
AddData("wp-block-library-theme", "suffix", `.min`)
|
||||||
addData("wp-edit-blocks", "rtl", `replace`)
|
AddData("wp-edit-blocks", "rtl", `replace`)
|
||||||
addData("wp-edit-blocks", "suffix", `.min`)
|
AddData("wp-edit-blocks", "suffix", `.min`)
|
||||||
addData("wp-block-editor", "rtl", `replace`)
|
AddData("wp-block-editor", "rtl", `replace`)
|
||||||
addData("wp-block-editor", "suffix", `.min`)
|
AddData("wp-block-editor", "suffix", `.min`)
|
||||||
addData("wp-block-library", "rtl", `replace`)
|
AddData("wp-block-library", "rtl", `replace`)
|
||||||
addData("wp-block-library", "suffix", `.min`)
|
AddData("wp-block-library", "suffix", `.min`)
|
||||||
addData("wp-block-directory", "rtl", `replace`)
|
AddData("wp-block-directory", "rtl", `replace`)
|
||||||
addData("wp-block-directory", "suffix", `.min`)
|
AddData("wp-block-directory", "suffix", `.min`)
|
||||||
addData("wp-components", "rtl", `replace`)
|
AddData("wp-components", "rtl", `replace`)
|
||||||
addData("wp-components", "suffix", `.min`)
|
AddData("wp-components", "suffix", `.min`)
|
||||||
addData("wp-customize-widgets", "rtl", `replace`)
|
AddData("wp-customize-widgets", "rtl", `replace`)
|
||||||
addData("wp-customize-widgets", "suffix", `.min`)
|
AddData("wp-customize-widgets", "suffix", `.min`)
|
||||||
addData("wp-edit-post", "rtl", `replace`)
|
AddData("wp-edit-post", "rtl", `replace`)
|
||||||
addData("wp-edit-post", "suffix", `.min`)
|
AddData("wp-edit-post", "suffix", `.min`)
|
||||||
addData("wp-edit-site", "rtl", `replace`)
|
AddData("wp-edit-site", "rtl", `replace`)
|
||||||
addData("wp-edit-site", "suffix", `.min`)
|
AddData("wp-edit-site", "suffix", `.min`)
|
||||||
addData("wp-edit-widgets", "rtl", `replace`)
|
AddData("wp-edit-widgets", "rtl", `replace`)
|
||||||
addData("wp-edit-widgets", "suffix", `.min`)
|
AddData("wp-edit-widgets", "suffix", `.min`)
|
||||||
addData("wp-editor", "rtl", `replace`)
|
AddData("wp-editor", "rtl", `replace`)
|
||||||
addData("wp-editor", "suffix", `.min`)
|
AddData("wp-editor", "suffix", `.min`)
|
||||||
addData("wp-format-library", "rtl", `replace`)
|
AddData("wp-format-library", "rtl", `replace`)
|
||||||
addData("wp-format-library", "suffix", `.min`)
|
AddData("wp-format-library", "suffix", `.min`)
|
||||||
addData("wp-list-reusable-blocks", "rtl", `replace`)
|
AddData("wp-list-reusable-blocks", "rtl", `replace`)
|
||||||
addData("wp-list-reusable-blocks", "suffix", `.min`)
|
AddData("wp-list-reusable-blocks", "suffix", `.min`)
|
||||||
addData("wp-reusable-blocks", "rtl", `replace`)
|
AddData("wp-reusable-blocks", "rtl", `replace`)
|
||||||
addData("wp-reusable-blocks", "suffix", `.min`)
|
AddData("wp-reusable-blocks", "suffix", `.min`)
|
||||||
addData("wp-nux", "rtl", `replace`)
|
AddData("wp-nux", "rtl", `replace`)
|
||||||
addData("wp-nux", "suffix", `.min`)
|
AddData("wp-nux", "suffix", `.min`)
|
||||||
addData("wp-widgets", "rtl", `replace`)
|
AddData("wp-widgets", "rtl", `replace`)
|
||||||
addData("wp-widgets", "suffix", `.min`)
|
AddData("wp-widgets", "suffix", `.min`)
|
||||||
addData("deprecated-media", "rtl", `replace`)
|
AddData("deprecated-media", "rtl", `replace`)
|
||||||
addData("deprecated-media", "suffix", `.min`)
|
AddData("deprecated-media", "suffix", `.min`)
|
||||||
addData("farbtastic", "rtl", `replace`)
|
AddData("farbtastic", "rtl", `replace`)
|
||||||
addData("farbtastic", "suffix", `.min`)
|
AddData("farbtastic", "suffix", `.min`)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -495,7 +494,7 @@ func defaultAddInLineScript() {
|
||||||
}
|
}
|
||||||
|
|
||||||
func defaultAddInLineStyle() {
|
func defaultAddInLineStyle() {
|
||||||
AddInlineStyle("global-styles", ``)
|
AddInlineStyle("global-styles", GetGlobalStyletSheet())
|
||||||
AddInlineStyle("global-styles", `.wp-block-navigation a:where(:not(.wp-element-button)){color: inherit;}`)
|
AddInlineStyle("global-styles", `.wp-block-navigation a:where(:not(.wp-element-button)){color: inherit;}`)
|
||||||
AddInlineStyle("global-styles", `:where(.wp-block-columns.is-layout-flex){gap: 2em;}`)
|
AddInlineStyle("global-styles", `:where(.wp-block-columns.is-layout-flex){gap: 2em;}`)
|
||||||
AddInlineStyle("global-styles", `.wp-block-pullquote{font-size: 1.5em;line-height: 1.6;}`)
|
AddInlineStyle("global-styles", `.wp-block-pullquote{font-size: 1.5em;line-height: 1.6;}`)
|
||||||
|
@ -504,10 +503,18 @@ func defaultAddInLineStyle() {
|
||||||
var re = regexp.MustCompile(`(?is:\([A-Za-z0-9'.:\-/, ]+\))`)
|
var re = regexp.MustCompile(`(?is:\([A-Za-z0-9'.:\-/, ]+\))`)
|
||||||
var rea = regexp.MustCompile(`array\(array\(.*?\)\)`)
|
var rea = regexp.MustCompile(`array\(array\(.*?\)\)`)
|
||||||
|
|
||||||
func themeJson() {
|
func InitDefaultScriptSetting() {
|
||||||
|
initThemeJson()
|
||||||
|
defaultLocalize()
|
||||||
|
defaultTranslate()
|
||||||
|
defaultAddData()
|
||||||
|
defaultAddInLineScript()
|
||||||
|
defaultAddInLineStyle()
|
||||||
|
}
|
||||||
|
|
||||||
|
func initThemeJson() {
|
||||||
blocksData := __blocksData()
|
blocksData := __blocksData()
|
||||||
//path := config.GetConfig().WpDir
|
path := config.GetConfig().WpDir
|
||||||
path := "/var/www/html/wordpress"
|
|
||||||
f, err := os.ReadFile(filepath.Join(path, "wp-includes/theme.json"))
|
f, err := os.ReadFile(filepath.Join(path, "wp-includes/theme.json"))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logs.Error(err, "can't open theme json", path)
|
logs.Error(err, "can't open theme json", path)
|
||||||
|
@ -523,7 +530,7 @@ func themeJson() {
|
||||||
t := ThemeJson{blocksData, j}
|
t := ThemeJson{blocksData, j}
|
||||||
setThemeJson(j)
|
setThemeJson(j)
|
||||||
setSpacingSizes(t)
|
setSpacingSizes(t)
|
||||||
GetStyletSheet(t, nil, nil, nil)
|
__themeJson.Store(t)
|
||||||
}
|
}
|
||||||
|
|
||||||
func setThemeJson(m map[string]any) {
|
func setThemeJson(m map[string]any) {
|
||||||
|
@ -594,7 +601,8 @@ func __propertyMap(m map[string]any) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func __blocksData() map[string]any {
|
func __blocksData() map[string]any {
|
||||||
path := "/var/www/html/wordpress"
|
path := config.GetConfig().WpDir
|
||||||
|
//path := "/var/www/html/wordpress"
|
||||||
b, err := os.ReadFile(filepath.Join(path, "wp-includes/blocks/blocks-json.php"))
|
b, err := os.ReadFile(filepath.Join(path, "wp-includes/blocks/blocks-json.php"))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logs.Error(err, "can't open block json", path)
|
logs.Error(err, "can't open block json", path)
|
|
@ -1,4 +1,4 @@
|
||||||
package wp
|
package scriptloader
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
|
@ -14,7 +14,7 @@ func Test_themeJson(t *testing.T) {
|
||||||
}
|
}
|
||||||
for _, tt := range tests {
|
for _, tt := range tests {
|
||||||
t.Run(tt.name, func(t *testing.T) {
|
t.Run(tt.name, func(t *testing.T) {
|
||||||
themeJson()
|
initThemeJson()
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -1,10 +1,11 @@
|
||||||
package wp
|
package scriptloader
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"fmt"
|
"fmt"
|
||||||
"github.com/dlclark/regexp2"
|
"github.com/dlclark/regexp2"
|
||||||
"github.com/fthvgb1/wp-go/app/cmd/reload"
|
"github.com/fthvgb1/wp-go/app/cmd/reload"
|
||||||
|
"github.com/fthvgb1/wp-go/app/theme/wp"
|
||||||
"github.com/fthvgb1/wp-go/app/wpconfig"
|
"github.com/fthvgb1/wp-go/app/wpconfig"
|
||||||
"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"
|
||||||
|
@ -14,6 +15,7 @@ import (
|
||||||
"github.com/fthvgb1/wp-go/safety"
|
"github.com/fthvgb1/wp-go/safety"
|
||||||
"html"
|
"html"
|
||||||
"math"
|
"math"
|
||||||
|
"path/filepath"
|
||||||
"regexp"
|
"regexp"
|
||||||
"strconv"
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
|
@ -46,9 +48,9 @@ func localize(handle, objectname string, l10n map[string]any) string {
|
||||||
}
|
}
|
||||||
|
|
||||||
func AddStaticLocalize(handle, objectname string, l10n map[string]any) {
|
func AddStaticLocalize(handle, objectname string, l10n map[string]any) {
|
||||||
addData(handle, "data", localize(handle, objectname, l10n))
|
AddData(handle, "data", localize(handle, objectname, l10n))
|
||||||
}
|
}
|
||||||
func AddDynamicLocalize(h *Handle, handle, objectname string, l10n map[string]any) {
|
func AddDynamicLocalize(h *wp.Handle, handle, objectname string, l10n map[string]any) {
|
||||||
AddDynamicData(h, handle, "data", localize(handle, objectname, l10n))
|
AddDynamicData(h, handle, "data", localize(handle, objectname, l10n))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -59,7 +61,7 @@ func getData(handle, key string) string {
|
||||||
}
|
}
|
||||||
return strings.Join(h.Extra[key], "\n")
|
return strings.Join(h.Extra[key], "\n")
|
||||||
}
|
}
|
||||||
func GetData(h *Handle, handle, key string) string {
|
func GetData(h *wp.Handle, handle, key string) string {
|
||||||
hh, ok := scripts.Load(handle)
|
hh, ok := scripts.Load(handle)
|
||||||
if !ok {
|
if !ok {
|
||||||
return ""
|
return ""
|
||||||
|
@ -69,7 +71,7 @@ func GetData(h *Handle, handle, key string) string {
|
||||||
return strings.Join(d, "\n")
|
return strings.Join(d, "\n")
|
||||||
}
|
}
|
||||||
|
|
||||||
func addData(handle, key, data string) {
|
func AddData(handle, key, data string) {
|
||||||
s, ok := scripts.Load(handle)
|
s, ok := scripts.Load(handle)
|
||||||
if !ok {
|
if !ok {
|
||||||
s = NewScript(handle, "", nil, "", nil)
|
s = NewScript(handle, "", nil, "", nil)
|
||||||
|
@ -87,14 +89,14 @@ func AddInlineScript(handle, data, position string) {
|
||||||
if position != "after" {
|
if position != "after" {
|
||||||
position = "before"
|
position = "before"
|
||||||
}
|
}
|
||||||
addData(handle, position, data)
|
AddData(handle, position, data)
|
||||||
}
|
}
|
||||||
|
|
||||||
func AddInlineStyle(handle, data string) {
|
func AddInlineStyle(handle, data string) {
|
||||||
if handle == "" || data == "" {
|
if handle == "" || data == "" {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
addData(handle, "after", data)
|
AddData(handle, "after", data)
|
||||||
}
|
}
|
||||||
|
|
||||||
func InlineScripts(handle, position string, display bool) string {
|
func InlineScripts(handle, position string, display bool) string {
|
||||||
|
@ -114,6 +116,69 @@ func AddScript(handle string, src string, deps []string, ver string, args any) {
|
||||||
scripts.Store(handle, script)
|
scripts.Store(handle, script)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var scriptQueues = scriptQueue{}
|
||||||
|
|
||||||
|
type scriptQueue struct {
|
||||||
|
Register map[string]struct{}
|
||||||
|
Queue []string
|
||||||
|
Args map[string]string
|
||||||
|
queuedBeforeRegister map[string]string
|
||||||
|
}
|
||||||
|
|
||||||
|
func EnqueueStyle(handle, src string, deps []string, ver, media string) {
|
||||||
|
if media == "" {
|
||||||
|
media = "all"
|
||||||
|
}
|
||||||
|
|
||||||
|
h := strings.Split(handle, "?")
|
||||||
|
if src != "" {
|
||||||
|
AddScript(h[0], src, deps, ver, media)
|
||||||
|
}
|
||||||
|
enqueue(handle)
|
||||||
|
}
|
||||||
|
func EnqueueStyles(handle, src string, deps []string, ver, media string) {
|
||||||
|
if src != "" {
|
||||||
|
src = GetThemeFileUri(src)
|
||||||
|
}
|
||||||
|
EnqueueStyle(handle, src, deps, ver, media)
|
||||||
|
}
|
||||||
|
func EnqueueScript(handle, src string, deps []string, ver string, inFooter bool) {
|
||||||
|
h := strings.Split(handle, "?")
|
||||||
|
if src != "" {
|
||||||
|
AddScript(h[0], src, deps, ver, nil)
|
||||||
|
}
|
||||||
|
if inFooter {
|
||||||
|
AddData(h[0], "group", "1")
|
||||||
|
}
|
||||||
|
enqueue(handle)
|
||||||
|
}
|
||||||
|
func EnqueueScripts(handle, src string, deps []string, ver string, inFooter bool) {
|
||||||
|
if src != "" {
|
||||||
|
src = GetThemeFileUri(src)
|
||||||
|
}
|
||||||
|
EnqueueScript(handle, src, deps, ver, inFooter)
|
||||||
|
}
|
||||||
|
|
||||||
|
func enqueue(handle string) {
|
||||||
|
h := strings.Split(handle, "?")
|
||||||
|
if slice.IsContained(scriptQueues.Queue, h[0]) && maps.IsExists(scriptQueues.Register, h[0]) {
|
||||||
|
scriptQueues.Queue = append(scriptQueues.Queue, h[0])
|
||||||
|
} else if maps.IsExists(scriptQueues.Register, h[0]) {
|
||||||
|
scriptQueues.queuedBeforeRegister[h[0]] = ""
|
||||||
|
if len(h) > 1 {
|
||||||
|
scriptQueues.queuedBeforeRegister[h[0]] = h[1]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func GetStylesheetUri() string {
|
||||||
|
return GetThemeFileUri("/styles.css")
|
||||||
|
}
|
||||||
|
|
||||||
|
func GetThemeFileUri(file string) string {
|
||||||
|
return filepath.Join("/wp-content/themes", wpconfig.GetOption("template"), file)
|
||||||
|
}
|
||||||
|
|
||||||
type Script struct {
|
type Script struct {
|
||||||
Handle string `json:"handle,omitempty"`
|
Handle string `json:"handle,omitempty"`
|
||||||
Src string `json:"src,omitempty"`
|
Src string `json:"src,omitempty"`
|
||||||
|
@ -129,7 +194,7 @@ func NewScript(handle string, src string, deps []string, ver string, args any) *
|
||||||
return &Script{Handle: handle, Src: src, Deps: deps, Ver: ver, Args: args}
|
return &Script{Handle: handle, Src: src, Deps: deps, Ver: ver, Args: args}
|
||||||
}
|
}
|
||||||
|
|
||||||
func AddDynamicData(h *Handle, handle, key, data string) {
|
func AddDynamicData(h *wp.Handle, handle, key, data string) {
|
||||||
da := helper.GetContextVal(h.C, "__scriptDynamicData__", map[string]map[string][]string{})
|
da := helper.GetContextVal(h.C, "__scriptDynamicData__", map[string]map[string][]string{})
|
||||||
m, ok := da[handle]
|
m, ok := da[handle]
|
||||||
if !ok {
|
if !ok {
|
||||||
|
@ -139,7 +204,7 @@ func AddDynamicData(h *Handle, handle, key, data string) {
|
||||||
da[handle] = m
|
da[handle] = m
|
||||||
}
|
}
|
||||||
|
|
||||||
func GetDynamicData(h *Handle, handle, key string) string {
|
func GetDynamicData(h *wp.Handle, handle, key string) string {
|
||||||
da := helper.GetContextVal(h.C, "__scriptDynamicData__", map[string]map[string][]string{})
|
da := helper.GetContextVal(h.C, "__scriptDynamicData__", map[string]map[string][]string{})
|
||||||
if len(da) < 1 {
|
if len(da) < 1 {
|
||||||
return ""
|
return ""
|
||||||
|
@ -906,7 +971,7 @@ func wpGetTypographyFontSizeValue(preset map[string]string, m map[string]any) st
|
||||||
return size
|
return size
|
||||||
}
|
}
|
||||||
|
|
||||||
var __themeJson *safety.Var[ThemeJson]
|
var __themeJson = reload.Vars(ThemeJson{})
|
||||||
|
|
||||||
func GetThemeJson() ThemeJson {
|
func GetThemeJson() ThemeJson {
|
||||||
return __themeJson.Load()
|
return __themeJson.Load()
|
||||||
|
@ -1116,7 +1181,9 @@ func getStyleNodes(t ThemeJson) []node {
|
||||||
return styleNodes
|
return styleNodes
|
||||||
}
|
}
|
||||||
|
|
||||||
func GetStyletSheet(t ThemeJson, types, origins []string, options map[string]string) string {
|
func GetGlobalStyletSheet() string {
|
||||||
|
t := __themeJson.Load()
|
||||||
|
var types, origins []string
|
||||||
if types == nil && !wpconfig.HasThemeJson() {
|
if types == nil && !wpconfig.HasThemeJson() {
|
||||||
types = []string{"variables", "presets", "base-layout-styles"}
|
types = []string{"variables", "presets", "base-layout-styles"}
|
||||||
} else if types == nil {
|
} else if types == nil {
|
Loading…
Reference in New Issue
Block a user