From 4f0d19fb916162e62b5e77340fcf1444ab537d8e Mon Sep 17 00:00:00 2001 From: laoyang Date: Fri, 23 Oct 2026 12:55:41 +0800 Subject: [PATCH] =?UTF-8?q?=E7=89=88=E6=9C=AC=E5=8F=B7=203.2.4=20->=203.2.?= =?UTF-8?q?5=EF=BC=88=E4=BF=AE=20Prism=20=E6=8A=A5=E9=94=99=EF=BC=8C?= =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E5=9C=B0=E5=9D=80=E6=94=B9=E4=B8=BA=E8=87=AA?= =?UTF-8?q?=E5=BB=BA=20Git=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## 修 Prism is not defined 首页控制台报 `Uncaught ReferenceError: Prism is not defined`,来源是 wp-editormd 插件(不是本主题):它在 Prism 脚本加载之前就无条件执行了 `Prism.plugins.autoloader.languages_path = "..."`。 线上页面里的真实顺序: 第 668 行 该赋值语句 第 695 行 prism-core.min.js 第 696 行 prism-autoloader.min.js 在 `wp_head` 优先级 0 垫一个最小空壳 `window.Prism`(含 plugins.autoloader 这条访问链路),让那句赋值有地方可写。已核对 prism-core.min.js 源码:它开头 只读 `u.Prism.manual` 与 `u.Prism.disableWorkerMessageHandler`,结尾 `global.Prism = Prism` 整体覆盖 —— 空壳必定被真实对象替换,不承担持久职责, 只为吸收那条过早的赋值。已用 jsdom 验证:去掉空壳重现原始报错,加上后消失, 且之后 `Prism.highlightAll` 仍可正常调用。 ## 项目地址统一到 code.yangyq.net 原作者署名、原主题地址、README、语言包、JS 里的控制台横幅全部换成自建仓库地址。 LICENSE 文件保持原样不动(MIT 要求保留原始版权声明)。 ## CDN 分支改成拿不到就回退本地 原来的 `g_cdn` 分支指向 `cdn.jsdelivr.net/gh/vtrois/kratos`,本仓库在自建 Gitea 上,jsDelivr 只认 github/npm/wordpress,实测该地址 404。现改为仅在 `YANG_THEME_CDN_REPO` 常量存在时才走 CDN,否则一律用 `get_template_directory_uri()`。留一个 404 的地址比留空更危险:页面能开、 样式全丢,极难排查。 ## 顺带 - `.gitattributes` 补 `*.mo binary`:原来是靠"含 NUL"启发式判定,不是契约 - `update.json` 的版本号跟进到 3.2.5 - `kratos.min.js` / `kratos.min.css` 用压缩器重新生成,不手工改产物 --- .gitattributes | 8 ++++- 404.php | 2 +- README.md | 6 ++-- assets/css/kratos.css | 2 +- assets/js/kratos.js | 4 +-- assets/js/kratos.min.js | 2 +- comments.php | 2 +- footer.php | 2 +- functions.php | 2 +- header.php | 2 +- inc/theme-article.php | 2 +- inc/theme-core.php | 63 +++++++++++++++++++++++++++++++-- inc/theme-custom-code.php | 2 +- inc/theme-dogecloud.php | 2 +- inc/theme-options.php | 2 +- inc/theme-setting.php | 2 +- inc/theme-shortcode.php | 2 +- inc/theme-smtp.php | 2 +- inc/theme-widgets.php | 2 +- inc/update-checker/update.json | 8 ++--- index.php | 2 +- languages/en_US.mo | Bin 21036 -> 19725 bytes languages/en_US.po | 16 ++++----- languages/kratos.pot | 8 ++--- languages/zh_TW.mo | Bin 20529 -> 19218 bytes languages/zh_TW.po | 16 ++++----- page.php | 2 +- pages/page-content.php | 2 +- pages/page-smilies.php | 2 +- pages/page-toolbar.php | 2 +- single.php | 2 +- style.css | 9 ++--- 32 files changed, 120 insertions(+), 60 deletions(-) diff --git a/.gitattributes b/.gitattributes index 6d0d793..b1606e3 100644 --- a/.gitattributes +++ b/.gitattributes @@ -23,4 +23,10 @@ *.zip binary *.gz binary -*.pdf binary \ No newline at end of file +*.pdf binary + +# 编译后的 gettext 语言包。 +# git 目前靠"前 8000 字节里有 NUL"自动判成二进制,所以暂时没坏; +# 但这是启发式,不是契约 —— 显式标出来才不会被将来的 autocrlf 配置变动打穿。 +# (.po / .pot 是纯文本,不能标 binary,它们要参与 EOL 归一化。) +*.mo binary \ No newline at end of file diff --git a/404.php b/404.php index 40aa785..b5691b6 100644 --- a/404.php +++ b/404.php @@ -1,7 +1,7 @@ + * @author Yongquan Yang * @license MIT License * @version 2020.04.12 */ diff --git a/README.md b/README.md index 3573279..1a56350 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,11 @@ 该项目是原kratos的一个分支。 -原主题的地址是: -https://github.com/vtrois/kratos +本项目仓库地址: +https://code.yangyq.net/laoyang/wordpress-kratos-yang 因为我需要一些定制的功能,就fork出来一个新的分支,自己用。如果你对原有的主题开发也有不满意的地方,欢迎使用我的这个版本。当然,版权仍然是属于原主题。 主题预览:老杨说话的地方。 该仓库已同步到多个git托管平台,包括Github、Gitee、 -Gitlab和阿里云Code。这些代码库都和源库保持一致和同步,在任何平台上关注都可以。 +Gitlab和阿里云Code。这些代码库都和源库保持一致和同步,在任何平台上关注都可以。 **Github因为网络原因,同步会出现失败情况,无法保证最新。** diff --git a/assets/css/kratos.css b/assets/css/kratos.css index c41342a..ebfe3c5 100644 --- a/assets/css/kratos.css +++ b/assets/css/kratos.css @@ -2,7 +2,7 @@ /*-------------------------------------------------------------- >>> Kratos 样式表 ->>> Seaton Jiang +>>> Yongquan Yang ---------------------------------------------------------------- 1. 全局 diff --git a/assets/js/kratos.js b/assets/js/kratos.js index 8c22da5..f9463be 100644 --- a/assets/js/kratos.js +++ b/assets/js/kratos.js @@ -1,6 +1,6 @@ /*! * Kratos - * Seaton Jiang + * Yongquan Yang */ ; (function () { 'use strict' @@ -137,7 +137,7 @@ } var consoleConfig = function () { - console.log('\n Kratos v' + KRATOS_VERSION + '\n\n https://github.com/vtrois/kratos \n\n') + console.log('\n Kratos v' + KRATOS_VERSION + '\n\n https://code.yangyq.net/laoyang/wordpress-kratos-yang \n\n') } $(function () { diff --git a/assets/js/kratos.min.js b/assets/js/kratos.min.js index 00a73e8..4492d27 100644 --- a/assets/js/kratos.min.js +++ b/assets/js/kratos.min.js @@ -1 +1 @@ -function grin (t) { var o; if (t = " " + t + " ", !document.getElementById("comment") || "textarea" != document.getElementById("comment").type) return !1; if (o = document.getElementById("comment"), document.selection) o.focus(), sel = document.selection.createRange(), sel.text = t, o.focus(); else if (o.selectionStart || "0" == o.selectionStart) { var e = o.selectionStart, a = o.selectionEnd, n = a; o.value = o.value.substring(0, e) + t + o.value.substring(a, o.value.length), n += t.length, o.focus(), o.selectionStart = n, o.selectionEnd = n } else o.value += t, o.focus() } (function () { "use strict"; var t = "3.1.7", o = function () { $("#navbutton").on("click", function () { $(".navbar-toggler").toggleClass("nav-close") }) }, e = function () { $(function () { $('[data-toggle="tooltip"]').tooltip() }) }, a = function () { $(window).on("load", function () { var t = $(window); t.scrollTop() > 200 ? $(".gotop").addClass("active") : $(".gotop").removeClass("active"), t.scroll(function () { t.scrollTop() > 200 ? $(".gotop").addClass("active") : $(".gotop").removeClass("active") }) }), $(".gotop").on("click", function (t) { return t.preventDefault(), $("html, body").animate({ scrollTop: $("html").offset().top }, 500), !1 }) }, n = function () { $(".search").on("click", function (t) { $(".search-form").animate({ width: "200px" }, 200), $(".search-form input").css("display", "block"), $(document).one("click", function () { $(".search-form").animate({ width: "0" }, 100), $(".search-form input").hide() }), t.stopPropagation() }), $(".search-form").on("click", function (t) { t.stopPropagation() }) }, c = function () { $(".wechat").mouseout(function () { $(".wechat-pic")[0].style.display = "none" }), $(".wechat").mouseover(function () { $(".wechat-pic")[0].style.display = "block" }) }, s = function () { $("#addsmile").on("click", function (t) { return $(".smile").toggleClass("open"), $(document).one("click", function () { $(".smile").toggleClass("open") }), t.stopPropagation(), !1 }) }, i = function () { $.fn.postLike = function () { if ($(this).hasClass("done")) return layer.msg(kratos.repeat, function () { }), !1; $(this).addClass("done"), layer.msg(kratos.thanks); var t = $(this).data("id"), o = $(this).data("action"), e = { action: "love", um_id: t, um_action: o }; return $.post(kratos.site + "/wp-admin/admin-ajax.php", e, function (t) { }), !1 }, $(document).on("click", ".btn-thumbs", function () { $(this).postLike() }) }, l = function () { $("#donate").on("click", function () { layer.open({ type: 1, area: ["300px", "370px"], title: kratos.donate, resize: !1, scrollbar: !1, content: '' }), $(".choose-pay input[type='radio']").click(function () { var t = $(this).attr("id"); "alipay" == t && ($(".qr-pay #alipay_qr").removeClass("d-none"), $(".qr-pay #wechat_qr").addClass("d-none")), "wechatpay" == t && ($(".qr-pay #alipay_qr").addClass("d-none"), $(".qr-pay #wechat_qr").removeClass("d-none")) }) }) }, r = function () { $(document).on("click", ".acheader", function (t) { var o = $(this); o.closest(".accordion").find(".contents").slideToggle(300), o.closest(".accordion").hasClass("active") ? o.closest(".accordion").removeClass("active") : o.closest(".accordion").addClass("active"), t.preventDefault() }) }, d = function () { console.log("\n Kratos v" + t + "\n\n https://github.com/vtrois/kratos \n\n") }; $(function () { r(), o(), e(), a(), n(), c(), s(), i(), l(), d() }) })() \ No newline at end of file +function grin(t){var a,e,o,n;if(t=" "+t+" ",!document.getElementById("comment")||"textarea"!=document.getElementById("comment").type)return!1;a=document.getElementById("comment"),document.selection?(a.focus(),(sel=document.selection.createRange()).text=t,a.focus()):a.selectionStart||"0"==a.selectionStart?(e=a.selectionStart,n=o=a.selectionEnd,a.value=a.value.substring(0,e)+t+a.value.substring(o,a.value.length),n+=t.length,a.focus(),a.selectionStart=n,a.selectionEnd=n):(a.value+=t,a.focus())}$(function(){$(document).on("click",".acheader",function(t){var a=$(this);a.closest(".accordion").find(".contents").slideToggle(300),a.closest(".accordion").hasClass("active")?a.closest(".accordion").removeClass("active"):a.closest(".accordion").addClass("active"),t.preventDefault()}),$("#navbutton").on("click",function(){$(".navbar-toggler").toggleClass("nav-close")}),$(function(){$('[data-toggle="tooltip"]').tooltip()}),$(window).on("load",function(){var t=$(window);200