fix(single): align article code blocks with the reference theme

The article body ran two highlighting pipelines at once: the runtime
EnlighterJS pass (same one the comment area uses) plus a bespoke
precode.js enhancer, and a hand-rolled .code-block skin. The two
disagreed, so rendered blocks carried a dark #282c34 card with 15px
padding, 14px text, a border and a second copy button stacked on top of
the EnlighterJS toolbar.

Drop the parallel path and let one pipeline own code blocks:
- delete precode.js, single-post/code-blocks.css and the unused
  assets/js/enlighter copy that only precode.js referenced
- drop the now-dead has_code requirement (PHP scan + feature enqueue)
- render pre exactly as the reference does: bootstrap's pre box
  (9.5px padding / 13px / radius 4) plus main.css's muted background,
  with the EnlighterJS theme supplying the skin

Also scope the inline-code skin to :not(pre code) so it stops painting
the block background pink, and remap the toolbar copy glyph: \f0ea is
the clipboard in FA4 but "paste" in FA5; the clipboard is \f328.

Verified against the reference at 1440px both themes: pre 13px/18.57,
9.5px padding, radius 4, muted background; EnlighterJS block heights
151.31 / 60.38 match exactly.
This commit is contained in:
kate522 committed 2026-11-03 23:31:28 +08:00
1 parent ba32e0ef9c
commit 8ad5ef9aff
19 files changed
+112 -430

No files matched your search

+4 -2
View File
@@ -205,8 +205,10 @@ article.article.box-body,
margin: 1.5em 0;
}
/* 行内代码 — 对齐 legacy: 粉色文字 + 粉色背景 */
:is(.entry-content, .wp-posts-content) code {
/* 行内代码 — 对齐 legacy: 粉色文字 + 粉色背景。
* 必须排除 pre code:代码块底色/字号由 bootstrap 的 pre 与 EnlighterJS
* 主题决定,行内皮肤套到块内会把整块代码染成粉底。 */
:is(.entry-content, .wp-posts-content) code:not(pre code) {
font-family: var(--font-mono);
font-size: 0.9em;
color: #ff3c98;