Candidate:Gadget-pickipedia-show.css: Difference between revisions
From PickiPedia: A knowledge base of bluegrass, old time psychedelic jams, and other public domain music
Jump to navigationJump to search
Add .pp-ensemble styling for the Featuring credit line |
Full-takeover layout: hide wiki chrome, paper bg, centered 720px column |
||
| Line 213: | Line 213: | ||
.pickipedia-show .show-poster .pp-venue { font-size: 18px; } | .pickipedia-show .show-poster .pp-venue { font-size: 18px; } | ||
.pickipedia-show .mw-parser-output ul li { font-size: 17px; } | .pickipedia-show .mw-parser-output ul li { font-size: 17px; } | ||
} | |||
/* ============================================================ | |||
* Full-takeover layout for Show: pages with hero | |||
* | |||
* Only fires when .pickipedia-show AND .has-show-hero (i.e., | |||
* Template:Show is present). Bare Show: pages keep their wiki | |||
* chrome — the setlist typography from the base section still | |||
* applies. | |||
* | |||
* The DOM additions (corner logo, topbar) are inserted by | |||
* Gadget-pickipedia-show.js. The patterns here mirror what | |||
* .pickipedia-userpost does, so future deduping into a shared | |||
* .pickipedia-publication base class stays straightforward. | |||
* ============================================================ */ | |||
.pickipedia-show.has-show-hero { | |||
background: var(--pp-paper) !important; | |||
color: var(--pp-ink); | |||
position: relative; | |||
} | |||
.pickipedia-show.has-show-hero #column-one, | |||
.pickipedia-show.has-show-hero #sidebar, | |||
.pickipedia-show.has-show-hero #mw-panel, | |||
.pickipedia-show.has-show-hero .vector-main-menu-container, | |||
.pickipedia-show.has-show-hero .vector-page-toolbar, | |||
.pickipedia-show.has-show-hero #mw-navigation .portal, | |||
.pickipedia-show.has-show-hero .mw-sidebar-container, | |||
.pickipedia-show.has-show-hero #p-views, | |||
.pickipedia-show.has-show-hero #p-cactions, | |||
.pickipedia-show.has-show-hero #p-cactions-mobile, | |||
.pickipedia-show.has-show-hero #p-personal, | |||
.pickipedia-show.has-show-hero #p-logo, | |||
.pickipedia-show.has-show-hero .vector-page-tools, | |||
.pickipedia-show.has-show-hero .mw-footer, | |||
.pickipedia-show.has-show-hero #footer, | |||
.pickipedia-show.has-show-hero .printfooter, | |||
.pickipedia-show.has-show-hero .catlinks, | |||
.pickipedia-show.has-show-hero .mw-indicators, | |||
.pickipedia-show.has-show-hero #siteSub, | |||
.pickipedia-show.has-show-hero #contentSub, | |||
.pickipedia-show.has-show-hero .subpages, | |||
.pickipedia-show.has-show-hero #jump-to-nav, | |||
.pickipedia-show.has-show-hero .mw-jump-link { | |||
display: none !important; | |||
} | |||
.pickipedia-show.has-show-hero #globalWrapper, | |||
.pickipedia-show.has-show-hero #column-content, | |||
.pickipedia-show.has-show-hero .monobook-body { | |||
float: none !important; | |||
margin: 0 !important; | |||
padding: 0 !important; | |||
width: auto !important; | |||
background: transparent !important; | |||
} | |||
.pickipedia-show.has-show-hero #content, | |||
.pickipedia-show.has-show-hero .mw-body, | |||
.pickipedia-show.has-show-hero #bodyContent, | |||
.pickipedia-show.has-show-hero .mw-content-container { | |||
background: var(--pp-paper) !important; | |||
border: none !important; | |||
box-shadow: none !important; | |||
margin: 0 !important; | |||
padding: 0 !important; | |||
max-width: none !important; | |||
color: var(--pp-ink); | |||
} | |||
/* ---------- Corner logo ---------- */ | |||
.pickipedia-show.has-show-hero .pp-corner-logo { | |||
position: absolute; | |||
top: 0; | |||
left: 0; | |||
width: clamp(60px, 9vw, 130px); | |||
z-index: 5; | |||
display: block; | |||
text-decoration: none; | |||
} | |||
.pickipedia-show.has-show-hero .pp-corner-logo img { | |||
display: block; | |||
width: 100%; | |||
height: auto; | |||
} | |||
/* ---------- Topbar ---------- */ | |||
.pickipedia-show.has-show-hero .pickipedia-show-topbar { | |||
position: static; | |||
display: flex; | |||
align-items: center; | |||
justify-content: space-between; | |||
padding: 14px 24px; | |||
background: transparent; | |||
font-family: var(--pp-mono); | |||
} | |||
.pickipedia-show.has-show-hero .pickipedia-show-topbar-left, | |||
.pickipedia-show.has-show-hero .pickipedia-show-topbar-right { | |||
display: flex; | |||
gap: 16px; | |||
font-size: 11px; | |||
letter-spacing: 0.08em; | |||
text-transform: uppercase; | |||
} | |||
.pickipedia-show.has-show-hero .pickipedia-show-topbar a { | |||
color: var(--pp-muted); | |||
text-decoration: none; | |||
border-bottom: 1px dotted currentColor; | |||
padding-bottom: 1px; | |||
} | |||
.pickipedia-show.has-show-hero .pickipedia-show-topbar a:hover { color: var(--pp-accent); } | |||
/* ---------- Centered content column ---------- */ | |||
.pickipedia-show.has-show-hero .mw-parser-output { | |||
max-width: 720px; | |||
margin: 0 auto; | |||
padding: 8px 24px 80px; | |||
font-family: var(--pp-serif); | |||
color: var(--pp-ink); | |||
font-size: 18px; | |||
line-height: 1.55; | |||
} | |||
.pickipedia-show.has-show-hero .mw-parser-output > p { | |||
text-wrap: pretty; | |||
margin: 0 0 22px; | |||
} | |||
.pickipedia-show.has-show-hero .mw-parser-output a { | |||
color: var(--pp-ink); | |||
text-decoration: none; | |||
background-image: linear-gradient(var(--pp-accent), var(--pp-accent)); | |||
background-repeat: no-repeat; | |||
background-size: 100% 1px; | |||
background-position: 0 100%; | |||
padding-bottom: 1px; | |||
transition: color .15s; | |||
} | |||
.pickipedia-show.has-show-hero .mw-parser-output a:hover { color: var(--pp-accent); } | |||
.pickipedia-show.has-show-hero .mw-parser-output a.new { | |||
color: var(--pp-muted); | |||
background-image: linear-gradient(var(--pp-muted), var(--pp-muted)); | |||
font-style: italic; | |||
} | |||
/* Setlist links shouldn't get the body-paragraph underline treatment — | |||
* they live inside numbered list items and already get serif styling. */ | |||
.pickipedia-show.has-show-hero .mw-parser-output ul li a { | |||
background-image: none; | |||
padding-bottom: 0; | |||
} | |||
/* ---------- Responsive ---------- */ | |||
@media (min-width: 720px) and (max-width: 1100px) { | |||
.pickipedia-show.has-show-hero .mw-parser-output, | |||
.pickipedia-show.has-show-hero .pickipedia-show-topbar { | |||
margin-left: 160px; | |||
margin-right: 24px; | |||
} | |||
} | |||
@media (max-width: 720px) { | |||
.pickipedia-show.has-show-hero .mw-parser-output, | |||
.pickipedia-show.has-show-hero .pickipedia-show-topbar { | |||
padding-left: max(24px, calc(9vw + 24px)); | |||
padding-right: 24px; | |||
} | |||
} | } | ||
Revision as of 20:05, 2 June 2026
/* |status=proposed -- bot-staged; remove this line when promoting. */
/* ============================================================
* Pickipedia — Show: page styling
*
* Triggers when an article's title starts with "Show:" (legacy
* mainspace convention, not a real namespace). Common.js adds
* .pickipedia-show to body and absorbs Template:Show's infobox
* into a poster-style hero; once absorbed the infobox is hidden.
* Pages without Template:Show still get the setlist typography.
*
* Reuses the same paper/ink palette as .pickipedia-userpost so
* shows and zine posts feel like the same publication.
* ============================================================ */
.pickipedia-show {
--pp-paper: #f5efe4;
--pp-ink: #2b1d12;
--pp-muted: #7a6450;
--pp-rule: #d9cdb8;
--pp-accent: #9a3b1b;
--pp-card: #ede4d2;
--pp-serif: Georgia, "Iowan Old Style", "Charter", "Times New Roman", serif;
--pp-mono: ui-monospace, "SF Mono", "Menlo", "Consolas", monospace;
--pp-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
}
/* ---------- Poster (hero block) ---------- */
.pickipedia-show .show-poster {
background: var(--pp-paper);
color: var(--pp-ink);
padding: 32px 36px 28px;
margin: 0 0 24px;
position: relative;
border: 1px solid var(--pp-rule);
}
.pickipedia-show .show-poster .pp-kicker {
font-family: var(--pp-mono);
font-size: 11px;
letter-spacing: 0.18em;
text-transform: uppercase;
color: var(--pp-accent);
margin: 0 0 12px;
display: flex;
flex-wrap: wrap;
gap: 14px;
align-items: baseline;
}
.pickipedia-show .show-poster .pp-kicker a {
color: inherit;
text-decoration: none;
border-bottom: 1px dotted currentColor;
}
.pickipedia-show .show-poster .pp-kicker .pp-sep { color: var(--pp-muted); }
.pickipedia-show .show-poster h1.pp-title {
font-family: var(--pp-serif);
font-weight: 700;
font-size: 44px;
line-height: 1.05;
letter-spacing: -0.018em;
margin: 0;
padding: 0;
border: none;
color: var(--pp-ink);
text-wrap: balance;
}
.pickipedia-show .show-poster .pp-venue {
font-family: var(--pp-serif);
font-style: italic;
font-size: 22px;
color: var(--pp-muted);
margin: 10px 0 0;
}
.pickipedia-show .show-poster .pp-venue a { color: inherit; }
.pickipedia-show .show-poster .pp-ensemble {
font-family: var(--pp-mono);
font-size: 11px;
letter-spacing: 0.14em;
text-transform: uppercase;
color: var(--pp-muted);
margin: 14px 0 0;
text-wrap: pretty;
}
.pickipedia-show .show-poster .pp-ensemble .pp-ensemble-label {
color: var(--pp-accent);
margin-right: 8px;
}
.pickipedia-show .show-poster .pp-ensemble .pp-sep { color: var(--pp-rule); margin: 0 4px; }
.pickipedia-show .show-poster .pp-meta {
font-family: var(--pp-mono);
font-size: 11px;
letter-spacing: 0.1em;
text-transform: uppercase;
color: var(--pp-muted);
margin: 16px 0 0;
display: flex;
flex-wrap: wrap;
gap: 16px;
}
.pickipedia-show .show-poster .pp-meta .pp-meta-label { opacity: 0.7; margin-right: 4px; }
.pickipedia-show .show-poster .pp-meta .pp-meta-value { color: var(--pp-ink); }
.pickipedia-show .show-poster .pp-image { margin: 22px 0 0; }
.pickipedia-show .show-poster .pp-image img {
display: block;
max-width: 100%;
height: auto;
border: 1px solid var(--pp-rule);
}
.pickipedia-show .show-poster .pp-actions {
margin: 22px 0 0;
display: flex;
flex-wrap: wrap;
gap: 10px;
}
.pickipedia-show .show-poster .pp-actions a {
font-family: var(--pp-mono);
font-size: 11px;
letter-spacing: 0.12em;
text-transform: uppercase;
color: var(--pp-paper);
background: var(--pp-accent);
border: 1px solid var(--pp-accent);
padding: 8px 14px;
text-decoration: none;
border-radius: 999px;
}
.pickipedia-show .show-poster .pp-actions a:hover {
background: var(--pp-ink);
border-color: var(--pp-ink);
}
.pickipedia-show .show-poster .pp-status {
position: absolute;
top: 14px;
right: 18px;
font-family: var(--pp-mono);
font-size: 10px;
letter-spacing: 0.18em;
text-transform: uppercase;
color: var(--pp-muted);
}
.pickipedia-show .show-poster .pp-status.is-verified { color: #228b22; }
.pickipedia-show .show-poster .pp-status.is-proposed { color: #b8860b; }
/* Hide the original infobox once the hero has absorbed its data. */
.pickipedia-show .show-infobox.is-absorbed { display: none; }
/* Hide the slug-style firstHeading only when the hero has been built —
bare Show: pages without Template:Show keep the heading so users
aren't left with an untitled page. */
.pickipedia-show.has-show-hero #firstHeading,
.pickipedia-show.has-show-hero .mw-first-heading { display: none; }
/* ---------- Setlist typography ---------- */
.pickipedia-show .mw-parser-output h2 {
font-family: var(--pp-mono);
font-size: 12px;
letter-spacing: 0.22em;
text-transform: uppercase;
color: var(--pp-accent);
border: none;
border-top: 1px solid var(--pp-rule);
margin: 32px 0 14px;
padding-top: 14px;
}
.pickipedia-show .mw-parser-output h2 .mw-editsection {
font-family: var(--pp-sans);
text-transform: none;
letter-spacing: 0;
}
.pickipedia-show .mw-parser-output ul {
list-style: none;
padding: 0;
margin: 0 0 16px;
counter-reset: setlist;
}
.pickipedia-show .mw-parser-output ul li {
font-family: var(--pp-serif);
font-size: 19px;
line-height: 1.5;
padding: 6px 0 6px 40px;
border-bottom: 1px dotted var(--pp-rule);
position: relative;
counter-increment: setlist;
}
.pickipedia-show .mw-parser-output ul li::before {
content: counter(setlist, decimal-leading-zero);
position: absolute;
left: 0;
top: 8px;
font-family: var(--pp-mono);
font-size: 12px;
color: var(--pp-muted);
letter-spacing: 0.05em;
}
.pickipedia-show .mw-parser-output ul li:last-child { border-bottom: none; }
/* Reset counter at every h2 so each set starts at 01. */
.pickipedia-show .mw-parser-output h2 + ul,
.pickipedia-show .mw-parser-output h2 ~ ul:first-of-type { counter-reset: setlist; }
/* ---------- Responsive ---------- */
@media (max-width: 720px) {
.pickipedia-show .show-poster { padding: 22px 18px 18px; }
.pickipedia-show .show-poster h1.pp-title { font-size: 30px; }
.pickipedia-show .show-poster .pp-venue { font-size: 18px; }
.pickipedia-show .mw-parser-output ul li { font-size: 17px; }
}
/* ============================================================
* Full-takeover layout for Show: pages with hero
*
* Only fires when .pickipedia-show AND .has-show-hero (i.e.,
* Template:Show is present). Bare Show: pages keep their wiki
* chrome — the setlist typography from the base section still
* applies.
*
* The DOM additions (corner logo, topbar) are inserted by
* Gadget-pickipedia-show.js. The patterns here mirror what
* .pickipedia-userpost does, so future deduping into a shared
* .pickipedia-publication base class stays straightforward.
* ============================================================ */
.pickipedia-show.has-show-hero {
background: var(--pp-paper) !important;
color: var(--pp-ink);
position: relative;
}
.pickipedia-show.has-show-hero #column-one,
.pickipedia-show.has-show-hero #sidebar,
.pickipedia-show.has-show-hero #mw-panel,
.pickipedia-show.has-show-hero .vector-main-menu-container,
.pickipedia-show.has-show-hero .vector-page-toolbar,
.pickipedia-show.has-show-hero #mw-navigation .portal,
.pickipedia-show.has-show-hero .mw-sidebar-container,
.pickipedia-show.has-show-hero #p-views,
.pickipedia-show.has-show-hero #p-cactions,
.pickipedia-show.has-show-hero #p-cactions-mobile,
.pickipedia-show.has-show-hero #p-personal,
.pickipedia-show.has-show-hero #p-logo,
.pickipedia-show.has-show-hero .vector-page-tools,
.pickipedia-show.has-show-hero .mw-footer,
.pickipedia-show.has-show-hero #footer,
.pickipedia-show.has-show-hero .printfooter,
.pickipedia-show.has-show-hero .catlinks,
.pickipedia-show.has-show-hero .mw-indicators,
.pickipedia-show.has-show-hero #siteSub,
.pickipedia-show.has-show-hero #contentSub,
.pickipedia-show.has-show-hero .subpages,
.pickipedia-show.has-show-hero #jump-to-nav,
.pickipedia-show.has-show-hero .mw-jump-link {
display: none !important;
}
.pickipedia-show.has-show-hero #globalWrapper,
.pickipedia-show.has-show-hero #column-content,
.pickipedia-show.has-show-hero .monobook-body {
float: none !important;
margin: 0 !important;
padding: 0 !important;
width: auto !important;
background: transparent !important;
}
.pickipedia-show.has-show-hero #content,
.pickipedia-show.has-show-hero .mw-body,
.pickipedia-show.has-show-hero #bodyContent,
.pickipedia-show.has-show-hero .mw-content-container {
background: var(--pp-paper) !important;
border: none !important;
box-shadow: none !important;
margin: 0 !important;
padding: 0 !important;
max-width: none !important;
color: var(--pp-ink);
}
/* ---------- Corner logo ---------- */
.pickipedia-show.has-show-hero .pp-corner-logo {
position: absolute;
top: 0;
left: 0;
width: clamp(60px, 9vw, 130px);
z-index: 5;
display: block;
text-decoration: none;
}
.pickipedia-show.has-show-hero .pp-corner-logo img {
display: block;
width: 100%;
height: auto;
}
/* ---------- Topbar ---------- */
.pickipedia-show.has-show-hero .pickipedia-show-topbar {
position: static;
display: flex;
align-items: center;
justify-content: space-between;
padding: 14px 24px;
background: transparent;
font-family: var(--pp-mono);
}
.pickipedia-show.has-show-hero .pickipedia-show-topbar-left,
.pickipedia-show.has-show-hero .pickipedia-show-topbar-right {
display: flex;
gap: 16px;
font-size: 11px;
letter-spacing: 0.08em;
text-transform: uppercase;
}
.pickipedia-show.has-show-hero .pickipedia-show-topbar a {
color: var(--pp-muted);
text-decoration: none;
border-bottom: 1px dotted currentColor;
padding-bottom: 1px;
}
.pickipedia-show.has-show-hero .pickipedia-show-topbar a:hover { color: var(--pp-accent); }
/* ---------- Centered content column ---------- */
.pickipedia-show.has-show-hero .mw-parser-output {
max-width: 720px;
margin: 0 auto;
padding: 8px 24px 80px;
font-family: var(--pp-serif);
color: var(--pp-ink);
font-size: 18px;
line-height: 1.55;
}
.pickipedia-show.has-show-hero .mw-parser-output > p {
text-wrap: pretty;
margin: 0 0 22px;
}
.pickipedia-show.has-show-hero .mw-parser-output a {
color: var(--pp-ink);
text-decoration: none;
background-image: linear-gradient(var(--pp-accent), var(--pp-accent));
background-repeat: no-repeat;
background-size: 100% 1px;
background-position: 0 100%;
padding-bottom: 1px;
transition: color .15s;
}
.pickipedia-show.has-show-hero .mw-parser-output a:hover { color: var(--pp-accent); }
.pickipedia-show.has-show-hero .mw-parser-output a.new {
color: var(--pp-muted);
background-image: linear-gradient(var(--pp-muted), var(--pp-muted));
font-style: italic;
}
/* Setlist links shouldn't get the body-paragraph underline treatment —
* they live inside numbered list items and already get serif styling. */
.pickipedia-show.has-show-hero .mw-parser-output ul li a {
background-image: none;
padding-bottom: 0;
}
/* ---------- Responsive ---------- */
@media (min-width: 720px) and (max-width: 1100px) {
.pickipedia-show.has-show-hero .mw-parser-output,
.pickipedia-show.has-show-hero .pickipedia-show-topbar {
margin-left: 160px;
margin-right: 24px;
}
}
@media (max-width: 720px) {
.pickipedia-show.has-show-hero .mw-parser-output,
.pickipedia-show.has-show-hero .pickipedia-show-topbar {
padding-left: max(24px, calc(9vw + 24px));
padding-right: 24px;
}
}