Deploy stack su Proxmox / deploy (push) Failing after 3s
Monorepo npm con apps/public (Angular SSR), apps/private (Angular SPA), apps/api (Fastify), packages/shared e packages/styles; Medusa 2.21 in medusa/; infrastruttura Docker (Postgres PostGIS+pgvector, Redis, Caddy, backup) e workflow Gitea Actions per il deploy via SSH a ogni push su master. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018jQyT6dR9czzGwqb7FkG6u
105 lines
2.3 KiB
SCSS
105 lines
2.3 KiB
SCSS
// Tipografia del corpo degli articoli del blog: HTML generato dal markdown dall'API (marked + sanitize-html).
|
|
// Usata dal sito pubblico (pagina articolo) e dall'anteprima dell'editor admin: stesso aspetto nei due punti.
|
|
// Il contenuto è inserito con [innerHTML], senza attributi di incapsulamento: includere dentro `::ng-deep`.
|
|
|
|
/// Stili del contenitore (larghezza di lettura, corpo del testo).
|
|
@mixin container {
|
|
max-width: 72ch;
|
|
font-size: var(--font-size-lg);
|
|
line-height: var(--line-height-normal);
|
|
}
|
|
|
|
/// Stili degli elementi generati dal markdown.
|
|
/// @example .prose { @include prose.container; } .prose ::ng-deep { @include prose.content; }
|
|
@mixin content {
|
|
h2,
|
|
h3,
|
|
h4 {
|
|
margin-top: var(--space-6);
|
|
margin-bottom: var(--space-3);
|
|
}
|
|
h2 {
|
|
font-size: var(--font-size-2xl);
|
|
}
|
|
h3 {
|
|
font-size: var(--font-size-xl);
|
|
}
|
|
p,
|
|
ul,
|
|
ol,
|
|
blockquote,
|
|
pre,
|
|
table,
|
|
figure {
|
|
margin-block: 0 var(--space-4);
|
|
}
|
|
li + li {
|
|
margin-top: var(--space-2);
|
|
}
|
|
img {
|
|
display: block;
|
|
max-width: 100%;
|
|
height: auto;
|
|
border-radius: var(--radius-md);
|
|
}
|
|
figure {
|
|
margin-inline: 0;
|
|
}
|
|
figcaption {
|
|
margin-top: var(--space-2);
|
|
font-size: var(--font-size-sm);
|
|
color: var(--color-ink-muted);
|
|
}
|
|
blockquote {
|
|
margin-inline: 0;
|
|
padding: var(--space-3) var(--space-5);
|
|
border-left: 4px solid var(--color-primary);
|
|
background: var(--color-primary-soft);
|
|
border-radius: 0 var(--radius-md) var(--radius-md) 0;
|
|
|
|
p:last-child {
|
|
margin-bottom: 0;
|
|
}
|
|
}
|
|
code {
|
|
font-family: var(--font-mono);
|
|
font-size: 0.9em;
|
|
padding: 0.1em 0.3em;
|
|
border-radius: var(--radius-sm);
|
|
background: var(--color-surface-alt);
|
|
}
|
|
pre {
|
|
overflow-x: auto;
|
|
padding: var(--space-4);
|
|
border-radius: var(--radius-md);
|
|
background: var(--color-surface-alt);
|
|
font-size: var(--font-size-sm);
|
|
|
|
code {
|
|
padding: 0;
|
|
background: none;
|
|
}
|
|
}
|
|
table {
|
|
display: block;
|
|
max-width: 100%;
|
|
overflow-x: auto;
|
|
border-collapse: collapse;
|
|
font-size: var(--font-size-md);
|
|
}
|
|
th,
|
|
td {
|
|
padding: var(--space-2) var(--space-3);
|
|
border: 1px solid var(--color-line);
|
|
text-align: left;
|
|
}
|
|
th {
|
|
background: var(--color-surface-alt);
|
|
}
|
|
hr {
|
|
margin-block: var(--space-6);
|
|
border: 0;
|
|
border-top: 1px solid var(--color-line);
|
|
}
|
|
}
|