Markdown blog on Flask with Vite-built assets and WeasyPrint PDF export, rewritten from the Wagtail build that preceded it.
blogdockerflaskmarkdownpythonself-hostedvite
1.block-title {
2 max-width: 600px;
3 margin: 2rem auto;
4}
5
6.block-rich-text {
7 max-width: 600px;
8 margin: 2rem auto;
9 font-size: 1.05em;
10 line-height: 1.9;
11 color: #c4bdb2;
12
13 a {
14 color: #7db88c;
15 text-decoration: underline;
16 text-underline-offset: 3px;
17 text-decoration-color: rgba(125, 184, 140, 0.3);
18 transition: text-decoration-color 200ms ease;
19
20 &:hover {
21 text-decoration-color: #7db88c;
22 }
23 }
24
25 blockquote {
26 border-left: 2px solid rgba(201, 168, 76, 0.3);
27 padding-left: 1.25rem;
28 color: #a09890;
29 }
30
31 h1, h2, h3, h4, h5, h6 {
32 color: #ddd7cd;
33 }
34
35 strong {
36 color: #ddd7cd;
37 }
38
39 code {
40 background: rgba(107, 158, 120, 0.1);
41 color: #8dc49c;
42 padding: 0.15em 0.4em;
43 border-radius: 0.2rem;
44 font-size: 0.9em;
45 }
46
47 hr {
48 border-color: rgba(107, 158, 120, 0.08);
49 }
50}
51
52.block-image {
53 display: flex;
54 align-items: center;
55 justify-content: center;
56 margin: 2rem 0;
57}
58
59.block-image * {
60 width: auto;
61 height: auto;
62 max-height: 75vh;
63 max-width: 100%;
64 border-radius: 0.25rem;
65}
66
67.block-embed {
68 margin: 2rem auto;
69 width: 800px !important;
70 height: 50vh;
71}
72
73.block-embed * {
74 width: 800px !important;
75 height: 50vh;
76}