The theme was renamed Zibll/子比 → AKSRT → Jio, but upstream branding survived the sweeps in CSS classes, the SVG sprite prefix, a persisted widget field ID, JS events, admin Vue class names, test infrastructure and docblocks. Renames: - zib-widget / zib-widget-wrap / zib-slider → jio-widget-box / jio-widget-box-wrap / jio-slider-box (jio-widget is taken by the modern widget shell, jio-box-* by the card primitives) - zib-partners-scroll + zps-* → jio-partners-scroll + jps-* - zib-combo-info-card + zci-* → jio-combo-info-card + jci-* - zibsvg- → jiosvg-, including the exported picker helpers and the fa-zibsvg- family-prefix guard - zibpay_type → pay_type; the dual-read fallback in PostQuery collapses to a single key - [zibajax="submit"] dropped (no PHP emitter); zib_ajax.success → jio_ajax.success - aks-* admin Vue classes → jio-* - zib_palette() → palette() User-facing vendor traces are gone: the floating "more" button default no longer ships a zibll.com link or 子比主题 marketing copy, the notice widget ships no preset promo entries, and the four 官网教程 links are removed from the post-list admin schema. Test infrastructure renamed to neutral names (docker-compose.reference.yml, Caddyfile, article-baseline.json, modern-widgets-contract.test.cjs) with their DB/volume/env/slug identifiers following. Kept intentionally, documented in tests/fixtures/README.md: the golden fixture reference fingerprint (a SHA-256 record of an external directory, read by validate-widget-golden / generate-widget-golden-fixture / audit-widget-system), the doesNotMatch guards that prove the old tokens are gone, and the reference theme's own meta key in the visual fixtures. No backward-compat or data migration: saved widget configs holding old icon keys or the old field ID silently lose them, per the project's rewrite-over-compatibility rule. Verified: 132/132 node contract tests, php tests/widget-system/run.php (146 assertions), audit-admin-contracts, audit-psr4-paths and validate-widget-golden all green; tracked bundles regenerated and in sync. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
122 lines
2.7 KiB
CSS
122 lines
2.7 KiB
CSS
/* ========== 面包屑导航 — 对齐 legacy .breadcrumb (main.css) ========== */
|
||
/* Single source for breadcrumb chrome. Do not re-define in layout.css. */
|
||
|
||
.breadcrumb,
|
||
ul.breadcrumb,
|
||
.breadcrumb-nav,
|
||
.breadcrumbs-wrap {
|
||
background: transparent;
|
||
font-size: 13px;
|
||
padding: 0 8px;
|
||
margin: 0 0 12px;
|
||
opacity: 0.6;
|
||
line-height: 1.8;
|
||
list-style: none;
|
||
}
|
||
|
||
.breadcrumb-nav ol,
|
||
.breadcrumb-nav ul,
|
||
ul.breadcrumb,
|
||
.breadcrumbs.breadcrumb {
|
||
list-style: none;
|
||
margin: 0;
|
||
padding: 0;
|
||
display: block;
|
||
}
|
||
|
||
/* legacy uses flat li + li:before separators (not flex-gap nodes) */
|
||
.breadcrumb > li,
|
||
ul.breadcrumb > li,
|
||
.breadcrumb-nav li,
|
||
.breadcrumbs.breadcrumb > li {
|
||
display: inline;
|
||
}
|
||
|
||
.breadcrumb > li + li:before,
|
||
ul.breadcrumb > li + li:before,
|
||
.breadcrumb-nav li + li:before {
|
||
content: "/";
|
||
padding: 0 0 0 6px;
|
||
opacity: 0.6;
|
||
}
|
||
|
||
/* Archive/nav variant may still stamp sep nodes — keep neutral */
|
||
.breadcrumbs.breadcrumb .breadcrumbs__sep {
|
||
padding: 0 6px;
|
||
opacity: 0.6;
|
||
}
|
||
|
||
.breadcrumb a,
|
||
ul.breadcrumb a,
|
||
.breadcrumb-nav a,
|
||
.breadcrumbs a {
|
||
color: var(--muted-2-color, var(--color-ink-4, #999));
|
||
text-decoration: none;
|
||
transition: color 0.2s;
|
||
}
|
||
|
||
.breadcrumb a:hover,
|
||
ul.breadcrumb a:hover,
|
||
.breadcrumb-nav a:hover,
|
||
.breadcrumbs a:hover {
|
||
color: var(--focus-color, var(--color-primary, #f04494));
|
||
}
|
||
|
||
.breadcrumb > li:last-child,
|
||
ul.breadcrumb > li:last-child,
|
||
.breadcrumb-nav .current,
|
||
.breadcrumbs__item.is-current {
|
||
color: var(--main-color, var(--color-ink-2, #4e5358));
|
||
}
|
||
|
||
/* Cover overlay breadcrumb — legacy .single-cover-con:标题叠加封面,
|
||
面包屑需要 -6px 左拉与不透明度还原。 */
|
||
.single-cover-con .breadcrumb,
|
||
.single-cover-con ul.breadcrumb,
|
||
.single-cover-con .breadcrumb-nav {
|
||
font-size: 13px;
|
||
margin: 5px 0 0 -6px;
|
||
opacity: unset;
|
||
padding: 0;
|
||
background: transparent;
|
||
}
|
||
|
||
/* Video footer breadcrumb — legacy .single-video .breadcrumb:标题在下方
|
||
footer(flex jsb at 行)不叠加封面,只归零内边距,保留基础弱化样式
|
||
(opacity .6 与 12px 下边距)。 */
|
||
.single-video .breadcrumb {
|
||
padding: 0;
|
||
}
|
||
|
||
.single-cover-con .breadcrumb,
|
||
.single-cover-con ul.breadcrumb,
|
||
.single-cover-con .breadcrumb-nav {
|
||
color: rgba(255, 255, 255, 0.85);
|
||
}
|
||
|
||
.single-cover-con .breadcrumb a,
|
||
.single-cover-con ul.breadcrumb a,
|
||
.single-cover-con .breadcrumb-nav a {
|
||
color: rgba(255, 255, 255, 0.85);
|
||
}
|
||
|
||
.single-cover-con .breadcrumb a:hover,
|
||
.single-cover-con ul.breadcrumb a:hover,
|
||
.single-cover-con .breadcrumb-nav a:hover {
|
||
color: #fff;
|
||
}
|
||
|
||
.single-cover-con .breadcrumb > li:last-child,
|
||
.single-cover-con ul.breadcrumb > li:last-child {
|
||
color: #fff;
|
||
}
|
||
|
||
@media (max-width: 767px) {
|
||
.breadcrumb,
|
||
ul.breadcrumb,
|
||
.breadcrumb-nav,
|
||
.breadcrumbs-wrap {
|
||
font-size: 12px;
|
||
}
|
||
}
|