character-ref/src/layouts/character.webc
Sebin Nyshkim db8cf3f93c refactor: ♻️ use SVG sprite instead of individual SVGs
This prevents 11ty with WebC/Markdown to produce excessive newlines in output markup
2025-06-26 16:03:51 +02:00

91 lines
2 KiB
Text

---
layout: base.webc
---
<popup-modal id="nsfw-warning" :open="isOpen">
<template webc:nokeep slot="heading">
🔞 Whoa, Nelly! 🔞
</template>
<template webc:nokeep slot="message">
<p>Entering the kinky zone!</p>
<p>You confirm that you are of legal age to view adult content!</p>
</template>
</popup-modal>
<icon-sprite></icon-sprite>
<main :class="firstName.toLowerCase()">
<profile>
<eleventy-image
slot="avatar"
:src="`src/img/${firstName.toLowerCase()}/avatar.png`"
:alt="firstName + ' Avatar'"
:width="[500, 1000]"
></eleventy-image>
<template webc:nokeep slot="name" @text="fullName"></template>
<template webc:nokeep slot="species" @text="species"></template>
<traits :@traits="$data.getTraits()"></traits>
</profile>
<page-content :@char="$data.firstName.toLowerCase()">
<h1 @text="$data.eleventyNavigation.key"></h1>
<article @raw="content"></article>
</page-content>
<footer>&copy; Sebin Nyshkim 2025</footer>
</main>
<style>
main {
--inbox-margin: 1rem;
display: grid;
justify-content: center;
justify-items: center;
align-items: start;
gap: 1em;
grid-auto-columns: 100%;
grid-template-areas:
'info'
'content'
'footer';
margin-block: var(--container-spacing-top-safe) var(--container-spacing-bottom-safe);
margin-inline: var(--container-spacing-left-safe) var(--container-spacing-right-safe);
margin-block: var(--page-spacing);
@media (min-width: 64em) {
--inbox-margin: 1.5rem;
grid-auto-columns: revert;
grid-template-columns: 18em minmax(0, 65ch);
grid-template-areas:
'info content'
'. footer';
}
}
h1 {
margin-inline: var(--inbox-margin);
}
article {
margin-block: var(--inbox-margin);
margin-inline: var(--inbox-margin);
hyphens: auto;
}
aside {
grid-area: info;
}
section {
grid-area: content;
}
footer {
text-align: end;
grid-area: footer;
}
</style>