news.js: Variablen-Defaults ohne Spezifitaet, Combo-Umbruch, Bildmaße absichern
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
035d1d5517
commit
0e0776b406
3 files changed
+43
-15
No files matched your search
+20
-13
@@ -10,7 +10,8 @@
|
||||
var PAPERS = { sun: 1, sky: 1, coral: 1, white: 1 }
|
||||
|
||||
var CSS = [
|
||||
'.wkn-root{container-type:inline-size;display:block;--wkn-board:#C08A52;--wkn-frame:#A8733F;--wkn-font-display:"Fredoka",system-ui,sans-serif;--wkn-font-body:"Nunito",system-ui,sans-serif;--wkn-paper-sun:#FFF6D6;--wkn-paper-sky:#DDEEFB;--wkn-paper-coral:#FFE1DA;--wkn-paper-white:#fff;--wkn-ink:#232A33;--wkn-ink-soft:#5B6673;font-family:var(--wkn-font-body)}',
|
||||
'.wkn-root{container:wkn-root/inline-size;display:block}',
|
||||
':where(.wkn-root){--wkn-board:#C08A52;--wkn-frame:#A8733F;--wkn-font-display:"Fredoka",system-ui,sans-serif;--wkn-font-body:"Nunito",system-ui,sans-serif;--wkn-paper-sun:#FFF6D6;--wkn-paper-sky:#DDEEFB;--wkn-paper-coral:#FFE1DA;--wkn-paper-white:#fff;--wkn-ink:#232A33;--wkn-ink-soft:#5B6673;font-family:var(--wkn-font-body)}',
|
||||
'.wkn-root *,.wkn-root *::before,.wkn-root *::after{box-sizing:border-box}',
|
||||
'.wkn-board{position:relative;isolation:isolate;overflow:hidden;border-radius:28px;padding:40px 32px 48px;background-color:var(--wkn-board);',
|
||||
'background-image:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%27260%27 height=%27260%27%3E%3Cfilter id=%27a%27%3E%3CfeTurbulence type=%27fractalNoise%27 baseFrequency=%271.1%27 numOctaves=%272%27 seed=%273%27/%3E%3CfeColorMatrix values=%270 0 0 0 .29 0 0 0 0 .16 0 0 0 0 .06 0 0 0 -2.4 1.25%27/%3E%3C/filter%3E%3Crect width=%27100%25%27 height=%27100%25%27 filter=%27url(%23a)%27/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%27220%27 height=%27220%27%3E%3Cfilter id=%27b%27%3E%3CfeTurbulence type=%27fractalNoise%27 baseFrequency=%27.85%27 numOctaves=%272%27 seed=%2711%27/%3E%3CfeColorMatrix values=%270 0 0 0 .95 0 0 0 0 .8 0 0 0 0 .58 0 0 0 2.6 -1.55%27/%3E%3C/filter%3E%3Crect width=%27100%25%27 height=%27100%25%27 filter=%27url(%23b)%27/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%27600%27 height=%27600%27%3E%3Cfilter id=%27c%27%3E%3CfeTurbulence type=%27fractalNoise%27 baseFrequency=%27.012%27 numOctaves=%273%27 seed=%277%27/%3E%3CfeColorMatrix values=%270 0 0 0 .45 0 0 0 0 .27 0 0 0 0 .12 0 0 0 1.4 -.45%27/%3E%3C/filter%3E%3Crect width=%27100%25%27 height=%27100%25%27 filter=%27url(%23c)%27/%3E%3C/svg%3E");',
|
||||
@@ -25,14 +26,15 @@
|
||||
'.wkn-new{position:absolute;top:-14px;right:-10px;z-index:3;transform:rotate(8deg);background:#E4573D;color:#fff;font:700 12px/1 var(--wkn-font-body);letter-spacing:.04em;padding:7px 12px;border-radius:999px;box-shadow:0 3px 8px rgba(35,52,74,.25)}',
|
||||
'.wkn-note{padding:28px 24px 22px;border-radius:6px 6px 18px 6px;box-shadow:0 8px 18px rgba(35,52,74,.14);background:var(--wkn-paper,#fff)}',
|
||||
'.wkn-note h3{font:600 20px/1.25 var(--wkn-font-display);color:var(--wkn-ink);margin:8px 0}',
|
||||
'.wkn-note p{font:400 16px/1.5 var(--wkn-font-body);color:var(--wkn-ink);margin:0;white-space:pre-line;overflow-wrap:anywhere}',
|
||||
'.wkn-lead .wkn-note h3{font-size:28px}',
|
||||
'.wkn-note p{font:400 16px/1.5 var(--wkn-font-body);color:var(--wkn-ink);margin:0;white-space:pre-line;overflow-wrap:break-word;hyphens:auto}',
|
||||
'.wkn-lead .wkn-note h3,.wkn-lead.wkn-note h3{font-size:28px}',
|
||||
'.wkn-paper-sun{--wkn-paper:var(--wkn-paper-sun)}.wkn-paper-sky{--wkn-paper:var(--wkn-paper-sky)}.wkn-paper-coral{--wkn-paper:var(--wkn-paper-coral)}.wkn-paper-white{--wkn-paper:var(--wkn-paper-white)}',
|
||||
'.wkn-polaroid{margin:0;background:#fff;padding:12px 12px 16px;border-radius:4px;box-shadow:0 10px 22px rgba(35,52,74,.16)}',
|
||||
'.wkn-polaroid img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:2px;background:#eef0f3}',
|
||||
'.wkn-polaroid figcaption{display:flex;justify-content:space-between;gap:12px;align-items:baseline;margin-top:12px}',
|
||||
'.wkn-polaroid figcaption b{font:600 17px/1.25 var(--wkn-font-display);color:var(--wkn-ink);overflow-wrap:anywhere}',
|
||||
'.wkn-combo{display:grid;grid-template-columns:1.25fr 1fr;align-items:center}',
|
||||
'.wkn-polaroid figcaption b{font:600 17px/1.25 var(--wkn-font-display);color:var(--wkn-ink);overflow-wrap:break-word;hyphens:auto}',
|
||||
'.wkn-combo{container:wkn-card/inline-size}',
|
||||
'.wkn-combo-in{display:grid;grid-template-columns:1.25fr 1fr;align-items:center}',
|
||||
'.wkn-combo .wkn-polaroid{transform:rotate(-2deg)}',
|
||||
'.wkn-combo .wkn-note{margin-left:-28px;transform:rotate(2.5deg);z-index:1}',
|
||||
'.wkn-combo::before{left:28%}',
|
||||
@@ -44,18 +46,18 @@
|
||||
'.wkn-dots{display:flex;gap:6px;margin-right:8px}',
|
||||
'.wkn-dots i{width:7px;height:7px;border-radius:50%;background:rgba(35,42,51,.2);transition:width .2s}',
|
||||
'.wkn-dots i.wkn-on{background:var(--wkn-ink);width:18px;border-radius:999px}',
|
||||
'@container (max-width:700px){',
|
||||
'@container wkn-root (max-width:700px){',
|
||||
'.wkn-board{padding:32px 0;border-radius:20px}',
|
||||
'.wkn-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:18px;padding:28px 20px 12px;scrollbar-width:none}',
|
||||
'.wkn-grid::-webkit-scrollbar{display:none}',
|
||||
'.wkn-grid>*{flex:0 0 76%;scroll-snap-align:center}',
|
||||
'.wkn-grid>:first-child{grid-column:auto}',
|
||||
'.wkn-combo{grid-template-columns:1fr}',
|
||||
'.wkn-combo .wkn-note{margin:-26px 12px 0 26px}',
|
||||
'.wkn-lead .wkn-note h3{font-size:20px}',
|
||||
|
||||
'.wkn-lead .wkn-note h3,.wkn-lead.wkn-note h3{font-size:20px}',
|
||||
'.wkn-more{margin-top:24px;padding-inline:20px}.wkn-more .wkn-btn{width:100%}',
|
||||
'.wkn-swipehint{display:flex}',
|
||||
'}',
|
||||
'@container wkn-card (max-width:340px){.wkn-combo-in{grid-template-columns:1fr}.wkn-combo .wkn-note{margin:-26px 12px 0 26px}}',
|
||||
'@media (prefers-reduced-motion:reduce){.wkn-pin,.wkn-btn,.wkn-dots i{transition:none}}'
|
||||
].join('\n')
|
||||
|
||||
@@ -99,14 +101,17 @@
|
||||
var fig = el('figure', 'wkn-polaroid')
|
||||
if (p.image) {
|
||||
var img = document.createElement('img')
|
||||
var iw = Number.isFinite(+p.image.w) && +p.image.w > 0 ? Math.round(+p.image.w) : 1600
|
||||
var ih = Number.isFinite(+p.image.h) && +p.image.h > 0 ? Math.round(+p.image.h) : 1200
|
||||
var small = absUrl(api, p.image.srcSmall)
|
||||
var full = absUrl(api, p.image.src)
|
||||
img.src = small || full
|
||||
if (small && full) {
|
||||
img.srcset = small + ' 480w, ' + full + ' ' + (p.image.w || 1600) + 'w'
|
||||
img.srcset = small + ' 480w, ' + full + ' ' + iw + 'w'
|
||||
img.sizes = '(max-width:700px) 80vw, 480px'
|
||||
}
|
||||
if (p.image.w && p.image.h) { img.width = p.image.w; img.height = p.image.h }
|
||||
img.width = iw
|
||||
img.height = ih
|
||||
img.alt = p.title || ''
|
||||
img.loading = 'lazy'
|
||||
img.decoding = 'async'
|
||||
@@ -133,8 +138,10 @@
|
||||
} else if (p.type === 'combo' && p.image) {
|
||||
item = el('article', cls + ' wkn-combo')
|
||||
item.style.setProperty('--wkn-r', '0deg')
|
||||
item.appendChild(buildPhoto(p, api, false))
|
||||
item.appendChild(buildNote(p))
|
||||
var inner = el('div', 'wkn-combo-in')
|
||||
inner.appendChild(buildPhoto(p, api, false))
|
||||
inner.appendChild(buildNote(p))
|
||||
item.appendChild(inner)
|
||||
} else {
|
||||
item = el('article', cls)
|
||||
item.style.setProperty('--wkn-r', r + 'deg')
|
||||
|
||||
Reference in new issue
Block a user