Compare commits
No commits in common. "1dcfb7715736709fb53aa1de071d8cf29132062d" and "dcf0d9a850c59954ec3df93a746262367f71bfb8" have entirely different histories.
1dcfb77157
...
dcf0d9a850
16 changed files with 47 additions and 240 deletions
|
|
@ -40,6 +40,4 @@ All commands are run from the root of the project, from a terminal:
|
||||||
|
|
||||||
## Bilder für Webuseage convertieren
|
## Bilder für Webuseage convertieren
|
||||||
|
|
||||||
`magick convert input_file -resize 50% output_file`
|
|
||||||
|
|
||||||
`magick mogrify -format webp -quality 80 *.jpg`
|
`magick mogrify -format webp -quality 80 *.jpg`
|
||||||
Binary file not shown.
|
Before Width: | Height: | Size: 66 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 9.4 KiB |
BIN
blog/public/favicon.png
Normal file
BIN
blog/public/favicon.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.3 KiB |
|
|
@ -1,23 +0,0 @@
|
||||||
const backdrop = document.querySelector("#image-backdrop");
|
|
||||||
const preview = document.querySelector("#image-preview");
|
|
||||||
|
|
||||||
if (backdrop instanceof HTMLElement && preview instanceof HTMLImageElement) {
|
|
||||||
document.addEventListener("click", (event) => {
|
|
||||||
if (!(event.target instanceof Element)) return;
|
|
||||||
|
|
||||||
if (!backdrop.hidden && backdrop.contains(event.target)) {
|
|
||||||
backdrop.hidden = true;
|
|
||||||
document.body.style.overflow = "";
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
const image = event.target.closest("article img");
|
|
||||||
|
|
||||||
if (!(image instanceof HTMLImageElement)) return;
|
|
||||||
|
|
||||||
preview.src = image.currentSrc || image.src;
|
|
||||||
preview.alt = image.alt;
|
|
||||||
backdrop.hidden = false;
|
|
||||||
document.body.style.overflow = "hidden";
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
@ -1,149 +1,58 @@
|
||||||
---
|
|
||||||
import Logo from "./Logo.astro";
|
|
||||||
---
|
|
||||||
|
|
||||||
<header>
|
<header>
|
||||||
<Logo />
|
<span id="name">Blauwasser Mausis</span>
|
||||||
|
<span class="vertical-line"></span>
|
||||||
<nav>
|
<nav>
|
||||||
<div class="nav-left">
|
<div class="nav-left">
|
||||||
<Logo id="side-nav-logo" />
|
<a class="nav-link" href="/">Startseite</a>
|
||||||
<a class="" href="/">Startseite</a>
|
<!-- <a class="nav-link" href="/about">Über uns</a> -->
|
||||||
</div>
|
</div>
|
||||||
<div class="nav-right">
|
<div class="nav-right">
|
||||||
<a href="/impressum" style="#789">Impressum</a>
|
<a class="nav-link" href="/impressum" style="#789">Impressum</a>
|
||||||
<a href="/privacy-policy" style="#789">Datenschutz</a>
|
<a class="nav-link" href="/privacy-policy" style="#789">Datenschutz</a>
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</nav>
|
||||||
|
|
||||||
<input type="checkbox" id="menu-toggle" class="menu-icon" />
|
|
||||||
<label for="menu-toggle" class="menu-icon" aria-label="Menü öffnen">
|
|
||||||
☰
|
|
||||||
</label>
|
|
||||||
|
|
||||||
<label for="menu-toggle" class="menu-backdrop"></label>
|
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
* {
|
* {
|
||||||
box-sizing: border-box;
|
|
||||||
color: var(--primary-text);
|
color: var(--primary-text);
|
||||||
}
|
}
|
||||||
|
|
||||||
header {
|
header {
|
||||||
position: relative;
|
|
||||||
width: 100%;
|
|
||||||
padding: 32px;
|
padding: 32px;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: space-between;
|
background-color: #fff;
|
||||||
gap: 20px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
nav {
|
#name {
|
||||||
display: flex;
|
font-weight: bold;
|
||||||
align-items: center;
|
width: min-content;
|
||||||
justify-content: space-between;
|
|
||||||
flex: 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
.nav-left,
|
|
||||||
.nav-right {
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
gap: 16px;
|
|
||||||
}
|
|
||||||
|
|
||||||
a {
|
|
||||||
color: var(--primary-text);
|
|
||||||
text-decoration: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
#menu-toggle,
|
|
||||||
.menu-icon,
|
|
||||||
.menu-backdrop,
|
|
||||||
#side-nav-logo {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
@media only screen and (max-width: 800px) {
|
|
||||||
.menu-icon {
|
|
||||||
display: block;
|
|
||||||
position: relative;
|
|
||||||
font-size: 1.6rem;
|
|
||||||
cursor: pointer;
|
|
||||||
z-index: 4;
|
|
||||||
}
|
|
||||||
|
|
||||||
#menu-toggle {
|
|
||||||
position: absolute;
|
|
||||||
opacity: 0;
|
|
||||||
pointer-events: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
nav {
|
|
||||||
position: fixed;
|
|
||||||
top: 0;
|
|
||||||
left: 0;
|
|
||||||
width: 66vw;
|
|
||||||
height: 100vh;
|
|
||||||
padding: 32px;
|
|
||||||
background: var(--primary-color);
|
|
||||||
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
align-items: flex-start;
|
|
||||||
justify-content: flex-start;
|
|
||||||
|
|
||||||
transform: translateX(-100%);
|
|
||||||
transition: transform 0.3s ease;
|
|
||||||
z-index: 3;
|
|
||||||
|
|
||||||
a {
|
|
||||||
color: whitesmoke;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.nav-left,
|
|
||||||
.nav-right {
|
|
||||||
flex-direction: column;
|
|
||||||
align-items: flex-start;
|
|
||||||
}
|
|
||||||
|
|
||||||
.nav-left {
|
|
||||||
gap: 32px;
|
|
||||||
margin-bottom: 64px;
|
|
||||||
}
|
|
||||||
|
|
||||||
nav:has(~ #menu-toggle:checked) {
|
|
||||||
transform: translateX(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
.menu-backdrop {
|
|
||||||
display: block;
|
|
||||||
position: fixed;
|
|
||||||
inset: 0;
|
|
||||||
background: rgba(0, 0, 0, 0.25);
|
|
||||||
backdrop-filter: blur(6px);
|
|
||||||
-webkit-backdrop-filter: blur(6px);
|
|
||||||
|
|
||||||
opacity: 0;
|
|
||||||
visibility: hidden;
|
|
||||||
pointer-events: none;
|
|
||||||
transition:
|
|
||||||
opacity 0.3s ease,
|
|
||||||
visibility 0.3s ease;
|
|
||||||
z-index: 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
#menu-toggle:checked ~ .menu-backdrop {
|
|
||||||
opacity: 1;
|
|
||||||
visibility: visible;
|
|
||||||
pointer-events: auto;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.vertical-line {
|
.vertical-line {
|
||||||
visibility: hidden;
|
color: var(--primary-text);
|
||||||
|
border-right-width: 3px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
nav {
|
||||||
|
width: 100%;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
}
|
||||||
|
|
||||||
|
a {
|
||||||
|
padding-left: 16px;
|
||||||
|
color: var(--primary-text);
|
||||||
|
width: fit-content;
|
||||||
|
}
|
||||||
|
|
||||||
|
.nav-right {
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
justify-content: end;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -1,20 +0,0 @@
|
||||||
<a id="logo-container" class="no-link-link" href="/">
|
|
||||||
<img id="logo-img" src="/BWM_512.webp" />
|
|
||||||
<span id="logo-text">Blauwasser Mausis</span>
|
|
||||||
</a>
|
|
||||||
|
|
||||||
<style>
|
|
||||||
#logo-container {
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
gap: 16px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#logo-img {
|
|
||||||
height: 64px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#logo-text {
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
|
|
@ -2,7 +2,6 @@
|
||||||
import type { Post } from "../types/global";
|
import type { Post } from "../types/global";
|
||||||
import { findImageByPath } from "../lib/findImage";
|
import { findImageByPath } from "../lib/findImage";
|
||||||
import { Image } from "astro:assets";
|
import { Image } from "astro:assets";
|
||||||
import { formatLocalizedDateString } from "../lib/formatDate";
|
|
||||||
|
|
||||||
interface Props {
|
interface Props {
|
||||||
post: Post;
|
post: Post;
|
||||||
|
|
@ -12,7 +11,6 @@ interface Props {
|
||||||
const { post, url } = Astro.props;
|
const { post, url } = Astro.props;
|
||||||
|
|
||||||
const img = findImageByPath(post.image.path);
|
const img = findImageByPath(post.image.path);
|
||||||
const localeDate = formatLocalizedDateString(post.date)
|
|
||||||
---
|
---
|
||||||
|
|
||||||
<div class="wide-container">
|
<div class="wide-container">
|
||||||
|
|
@ -27,7 +25,7 @@ const localeDate = formatLocalizedDateString(post.date)
|
||||||
</a>
|
</a>
|
||||||
<h7>{post.subtitle}</h7>
|
<h7>{post.subtitle}</h7>
|
||||||
<div class="top-info">
|
<div class="top-info">
|
||||||
<span>{localeDate}</span>
|
<span>{post.date}</span>
|
||||||
<span class="vertical-line"></span>
|
<span class="vertical-line"></span>
|
||||||
<span>Autor: {post.author}</span>
|
<span>Autor: {post.author}</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,6 @@
|
||||||
---
|
---
|
||||||
|
|
||||||
import { findImageByPath } from "../lib/findImage";
|
import { findImageByPath } from "../lib/findImage";
|
||||||
import { formatLocalizedDateString } from "../lib/formatDate";
|
|
||||||
import type { Post } from "../types/global";
|
import type { Post } from "../types/global";
|
||||||
|
|
||||||
interface Props {
|
interface Props {
|
||||||
|
|
@ -12,7 +11,6 @@ interface Props {
|
||||||
const { post, url } = Astro.props;
|
const { post, url } = Astro.props;
|
||||||
|
|
||||||
const img = findImageByPath(post.image.path)
|
const img = findImageByPath(post.image.path)
|
||||||
const localeDate = formatLocalizedDateString(post.date)
|
|
||||||
---
|
---
|
||||||
|
|
||||||
<a href={url} class="no-link-link">
|
<a href={url} class="no-link-link">
|
||||||
|
|
@ -23,7 +21,7 @@ const localeDate = formatLocalizedDateString(post.date)
|
||||||
<p class="description">{post.description}</p>
|
<p class="description">{post.description}</p>
|
||||||
<div class="bottom-info">
|
<div class="bottom-info">
|
||||||
<span>Author: {post.author}</span>
|
<span>Author: {post.author}</span>
|
||||||
<span>{localeDate}</span>
|
<span>{post.date}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</a>
|
</a>
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,6 @@ import BackNav from "../components/BackNav.astro";
|
||||||
import { findImageByPath } from "../lib/findImage";
|
import { findImageByPath } from "../lib/findImage";
|
||||||
import type { Post } from "../types/global";
|
import type { Post } from "../types/global";
|
||||||
import Main from "./Main.astro";
|
import Main from "./Main.astro";
|
||||||
import { formatLocalizedDateString } from "../lib/formatDate";
|
|
||||||
|
|
||||||
interface Props {
|
interface Props {
|
||||||
frontmatter: Post;
|
frontmatter: Post;
|
||||||
|
|
@ -13,7 +12,6 @@ interface Props {
|
||||||
const { frontmatter } = Astro.props;
|
const { frontmatter } = Astro.props;
|
||||||
|
|
||||||
const titleImg = findImageByPath(frontmatter.image.path);
|
const titleImg = findImageByPath(frontmatter.image.path);
|
||||||
const localeDate = formatLocalizedDateString(frontmatter.date);
|
|
||||||
---
|
---
|
||||||
|
|
||||||
<Main>
|
<Main>
|
||||||
|
|
@ -27,7 +25,7 @@ const localeDate = formatLocalizedDateString(frontmatter.date);
|
||||||
<h1 class="headline">{frontmatter.title}</h1>
|
<h1 class="headline">{frontmatter.title}</h1>
|
||||||
<div class="bottom-info">
|
<div class="bottom-info">
|
||||||
<span>Autor: {frontmatter.author}</span>
|
<span>Autor: {frontmatter.author}</span>
|
||||||
<span>{localeDate}</span>
|
<span>{frontmatter.date}</span>
|
||||||
</div>
|
</div>
|
||||||
<slot />
|
<slot />
|
||||||
<BackNav />
|
<BackNav />
|
||||||
|
|
@ -37,14 +35,8 @@ const localeDate = formatLocalizedDateString(frontmatter.date);
|
||||||
dienen allein dem Zweck der Information.
|
dienen allein dem Zweck der Information.
|
||||||
</p>
|
</p>
|
||||||
</article>
|
</article>
|
||||||
|
|
||||||
<div id="image-backdrop" hidden>
|
|
||||||
<img id="image-preview" class="rounded" src="" alt="" />
|
|
||||||
</div>
|
|
||||||
</Main>
|
</Main>
|
||||||
|
|
||||||
<script is:inline src="/scripts/image-modal.js"></script>
|
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
article {
|
article {
|
||||||
max-width: 900px;
|
max-width: 900px;
|
||||||
|
|
@ -54,11 +46,10 @@ const localeDate = formatLocalizedDateString(frontmatter.date);
|
||||||
.markdown-content {
|
.markdown-content {
|
||||||
font-size: 1.5rem;
|
font-size: 1.5rem;
|
||||||
line-height: 1.6;
|
line-height: 1.6;
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown-content img {
|
||||||
img {
|
width: 100%;
|
||||||
cursor: zoom-in;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#titleImg {
|
#titleImg {
|
||||||
|
|
@ -78,37 +69,4 @@ const localeDate = formatLocalizedDateString(frontmatter.date);
|
||||||
margin: 32px 0 64px 0;
|
margin: 32px 0 64px 0;
|
||||||
font-size: smaller;
|
font-size: smaller;
|
||||||
}
|
}
|
||||||
|
|
||||||
#image-backdrop {
|
|
||||||
position: fixed;
|
|
||||||
inset: 0;
|
|
||||||
z-index: 1000;
|
|
||||||
|
|
||||||
display: grid;
|
|
||||||
place-items: center;
|
|
||||||
|
|
||||||
padding: 24px;
|
|
||||||
background: rgba(0, 0, 0, 0.8);
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
|
|
||||||
#image-backdrop[hidden] {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
#image-preview {
|
|
||||||
max-width: 90vw;
|
|
||||||
max-height: 90vh;
|
|
||||||
width: auto;
|
|
||||||
height: auto;
|
|
||||||
object-fit: contain;
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
|
|
||||||
@media only screen and (max-width: 800px) {
|
|
||||||
.markdown-content {
|
|
||||||
font-size: 1.25rem;
|
|
||||||
line-height: 1.4;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@ import "../styles/global.css";
|
||||||
<html lang="de">
|
<html lang="de">
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<link rel="icon" type="image/x-icon" href="/favicon.ico" />
|
<link rel="icon" type="image/png" href="/favicon.png" />
|
||||||
<link
|
<link
|
||||||
rel="alternate"
|
rel="alternate"
|
||||||
type="application/rss+xml"
|
type="application/rss+xml"
|
||||||
|
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
export function formatLocalizedDateString(date: string): string {
|
|
||||||
return new Date(date).toLocaleDateString('de-DE')
|
|
||||||
}
|
|
||||||
|
|
@ -35,12 +35,10 @@ Einschlafen klappt dann aber doch irgendwie. Wenn man hier eins lernt, dann auch
|
||||||
<div style="display: flex; flex-direction: row; gap: 2%;">
|
<div style="display: flex; flex-direction: row; gap: 2%;">
|
||||||
<img src="/blog_img/ostseeurlaub/molly_1.webp"
|
<img src="/blog_img/ostseeurlaub/molly_1.webp"
|
||||||
alt="Chiara und Tim stehen vor der Dampflok Molly."
|
alt="Chiara und Tim stehen vor der Dampflok Molly."
|
||||||
class="rounded"
|
|
||||||
style="max-width: 49%; height: auto;"
|
style="max-width: 49%; height: auto;"
|
||||||
loading="lazy" />
|
loading="lazy" />
|
||||||
<img src="/blog_img/ostseeurlaub/molly_2.webp"
|
<img src="/blog_img/ostseeurlaub/molly_2.webp"
|
||||||
alt="Chiara und Tim stehen neben der Dampflok Molly."
|
alt="Chiara und Tim stehen neben der Dampflok Molly."
|
||||||
class="rounded"
|
|
||||||
style="max-width: 49%; height: auto;"
|
style="max-width: 49%; height: auto;"
|
||||||
loading="lazy" />
|
loading="lazy" />
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -63,8 +61,7 @@ Hier kommen wir schon zu einem meiner Highlights der Woche: Chiara, die das erst
|
||||||
<img src="/blog_img/ostseeurlaub/karls.webp"
|
<img src="/blog_img/ostseeurlaub/karls.webp"
|
||||||
alt="Chiara und Tim stehen vor dem Eingangsschild zum Karls Erlebnisdorf in Rövershagen."
|
alt="Chiara und Tim stehen vor dem Eingangsschild zum Karls Erlebnisdorf in Rövershagen."
|
||||||
style="max-width: 100%; height: auto;"
|
style="max-width: 100%; height: auto;"
|
||||||
loading="lazy"
|
loading="lazy" />
|
||||||
class="rounded"/>
|
|
||||||
|
|
||||||
Nächster Halt ist <a href="https://karls.de/" target="_blank">**Karls Erlebnis-Dorf**</a> in Rövershagen. Eine meiner jüngeren Kindheitserinnerungen.
|
Nächster Halt ist <a href="https://karls.de/" target="_blank">**Karls Erlebnis-Dorf**</a> in Rövershagen. Eine meiner jüngeren Kindheitserinnerungen.
|
||||||
Hier muss ich immer an Tom denken, einen lieben Kollegen. Er hat in seiner Jugend im Karls Erlebnis-Dorf bei Berlin in der Pfannkuchen-Schmiede gearbeitet. Liebe Grüße!<br>
|
Hier muss ich immer an Tom denken, einen lieben Kollegen. Er hat in seiner Jugend im Karls Erlebnis-Dorf bei Berlin in der Pfannkuchen-Schmiede gearbeitet. Liebe Grüße!<br>
|
||||||
|
|
@ -76,7 +73,6 @@ Mit dem Tagesticket können wir jegliche Attraktion fahren. Das machen wir auch!
|
||||||
|
|
||||||
<img src="/blog_img/ostseeurlaub/karls_mais.webp"
|
<img src="/blog_img/ostseeurlaub/karls_mais.webp"
|
||||||
alt="Chiara sizt in einem riesigen Maisbad."
|
alt="Chiara sizt in einem riesigen Maisbad."
|
||||||
class="rounded"
|
|
||||||
style="max-width: 100%; height: auto;"
|
style="max-width: 100%; height: auto;"
|
||||||
loading="lazy" />
|
loading="lazy" />
|
||||||
Chiara wird im Mais verbuddelt.
|
Chiara wird im Mais verbuddelt.
|
||||||
|
|
@ -86,12 +82,10 @@ Besonders freue ich mich auf die Eiswelt. In einer großen Halle stellen Bildhau
|
||||||
<div style="display: flex; flex-direction: row; gap: 2%;">
|
<div style="display: flex; flex-direction: row; gap: 2%;">
|
||||||
<img src="/blog_img/ostseeurlaub/karls_eis_thron.webp"
|
<img src="/blog_img/ostseeurlaub/karls_eis_thron.webp"
|
||||||
alt="Chiara und Tim auf einem Thron aus Eis."
|
alt="Chiara und Tim auf einem Thron aus Eis."
|
||||||
class="rounded"
|
|
||||||
style="max-width: 49%; height: auto;"
|
style="max-width: 49%; height: auto;"
|
||||||
loading="lazy" />
|
loading="lazy" />
|
||||||
<img src="/blog_img/ostseeurlaub/karls_eis_aida.webp"
|
<img src="/blog_img/ostseeurlaub/karls_eis_aida.webp"
|
||||||
alt="Chiara und Tim stehen auf einem kleinen AIDA Bug aus Eis und spielen diese eine Szene aus Titanic nach."
|
alt="Chiara und Tim stehen auf einem kleinen AIDA Bug aus Eis und spielen diese eine Szene aus Titanic nach."
|
||||||
class="rounded"
|
|
||||||
style="max-width: 49%; height: auto;"
|
style="max-width: 49%; height: auto;"
|
||||||
loading="lazy" />
|
loading="lazy" />
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -123,7 +117,6 @@ Spoilern werde ich natürlich nicht. Nur soviel: **So'n großer Feuerball, Junge
|
||||||
<img src="/blog_img/ostseeurlaub/stoertebeker.webp"
|
<img src="/blog_img/ostseeurlaub/stoertebeker.webp"
|
||||||
alt="Chiara sizt in einem riesigen Maisbad."
|
alt="Chiara sizt in einem riesigen Maisbad."
|
||||||
style="max-width: 100%; height: auto;"
|
style="max-width: 100%; height: auto;"
|
||||||
class="rounded"
|
|
||||||
loading="lazy" />
|
loading="lazy" />
|
||||||
Nach der Vorstellung auf dem Weg zum Auto.
|
Nach der Vorstellung auf dem Weg zum Auto.
|
||||||
</br>
|
</br>
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,6 @@ export async function GET(context) {
|
||||||
site: context.site,
|
site: context.site,
|
||||||
items: posts.map(post => ({
|
items: posts.map(post => ({
|
||||||
title: post.frontmatter.title,
|
title: post.frontmatter.title,
|
||||||
subtitle: post.frontmatter.subtitle,
|
|
||||||
pubDate: Date.parse(post.frontmatter.date),
|
pubDate: Date.parse(post.frontmatter.date),
|
||||||
description: post.frontmatter.description,
|
description: post.frontmatter.description,
|
||||||
link: post.url,
|
link: post.url,
|
||||||
|
|
|
||||||
|
|
@ -8,8 +8,7 @@
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
}
|
}
|
||||||
|
|
||||||
html,
|
html, body {
|
||||||
body {
|
|
||||||
height: 100%;
|
height: 100%;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
}
|
}
|
||||||
|
|
@ -23,6 +22,7 @@ body {
|
||||||
}
|
}
|
||||||
|
|
||||||
.nav-link {
|
.nav-link {
|
||||||
|
font-size: 1.2rem;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
color: black;
|
color: black;
|
||||||
}
|
}
|
||||||
|
|
@ -43,7 +43,7 @@ body {
|
||||||
font-size: 28px;
|
font-size: 28px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.headline-link {
|
.headline-link{
|
||||||
color: var(--primary-color);
|
color: var(--primary-color);
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
}
|
}
|
||||||
|
|
@ -60,8 +60,8 @@ body {
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.vertical-line {
|
.vertical-line {
|
||||||
border-right-style: solid;
|
border-right-style: solid;
|
||||||
padding-left: 16px;
|
padding-left: 16px;
|
||||||
height: 2rem;
|
height: 2rem;
|
||||||
}
|
}
|
||||||
|
|
@ -2,7 +2,7 @@ export interface Post {
|
||||||
title: String,
|
title: String,
|
||||||
subtitle: String,
|
subtitle: String,
|
||||||
description: String,
|
description: String,
|
||||||
date: string,
|
date: String,
|
||||||
author: String,
|
author: String,
|
||||||
image: {
|
image: {
|
||||||
path: string,
|
path: string,
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue