Azzy-Blog/src/components/Prose.astro
2026-04-11 21:33:52 +01:00

104 lines
1.9 KiB
Text

<div class="prose">
<slot />
</div>
<style>
.prose {
font-family: var(--font-body);
font-size: 1rem;
line-height: 1.75;
color: var(--color-text);
}
.prose :global(p) {
margin-bottom: 1.5em;
}
.prose :global(h2) {
font-family: var(--font-heading);
font-size: 1.375rem;
font-weight: 600;
letter-spacing: -0.02em;
line-height: 1.3;
margin-top: 2.5em;
margin-bottom: 0.75em;
color: var(--color-text);
}
.prose :global(h3) {
font-family: var(--font-heading);
font-size: 1.125rem;
font-weight: 600;
letter-spacing: -0.01em;
line-height: 1.4;
margin-top: 2em;
margin-bottom: 0.5em;
color: var(--color-text);
}
.prose :global(a) {
color: var(--color-link);
text-decoration-thickness: 1px;
text-underline-offset: 2px;
}
.prose :global(a:hover) {
color: var(--color-link-hover);
}
.prose :global(blockquote) {
border-left: 2px solid var(--color-border);
padding-left: var(--space-lg);
margin: 1.5em 0;
color: var(--color-text-secondary);
font-style: italic;
}
.prose :global(ul),
.prose :global(ol) {
margin-bottom: 1.5em;
padding-left: 1.5em;
}
.prose :global(li) {
margin-bottom: 0.375em;
}
.prose :global(code) {
font-family: var(--font-mono);
font-size: 0.85em;
background-color: var(--color-code-bg);
padding: 0.125em 0.375em;
border-radius: 3px;
}
.prose :global(pre) {
background-color: var(--color-code-bg);
padding: var(--space-lg);
border-radius: 4px;
overflow-x: auto;
margin: 1.5em 0;
line-height: 1.5;
}
.prose :global(pre code) {
background: none;
padding: 0;
font-size: 0.8125rem;
}
.prose :global(hr) {
border: none;
border-top: 1px solid var(--color-border);
margin: 2.5em 0;
}
.prose :global(img) {
border-radius: 4px;
margin: 1.5em 0;
}
.prose :global(strong) {
font-weight: 600;
}
</style>