Compare commits

...

8 commits

Author SHA1 Message Date
2e341f4b94 header styling
All checks were successful
Build and Deploy Astro App / build_and_deploy (push) Successful in 47s
2026-07-28 11:35:30 +02:00
198bfe2d70 update dependency 2026-07-28 11:27:06 +02:00
5525e19472 update impressum 2026-07-28 11:26:27 +02:00
51ecd2985b moved footer in header 2026-07-28 11:25:19 +02:00
c662d4719b better image generation 2026-07-28 11:24:32 +02:00
5108d5eacc fixed back button 2026-07-28 10:57:37 +02:00
1ddbd466a3 moved author and date to the top 2026-07-28 10:50:11 +02:00
ff97bc7302 update dependecies 2026-07-28 10:46:59 +02:00
10 changed files with 1455 additions and 1948 deletions

3268
blog/package-lock.json generated

File diff suppressed because it is too large Load diff

View file

@ -12,9 +12,9 @@
"astro": "astro" "astro": "astro"
}, },
"dependencies": { "dependencies": {
"@astrojs/preact": "^5.0.2", "@astrojs/preact": "^6.0.1",
"@astrojs/rss": "^4.0.19", "@astrojs/rss": "^4.0.19",
"astro": "^6.4.6", "astro": "^7.1.4",
"preact": "^10.29.0" "preact": "^10.29.0"
} }
} }

View file

@ -1,15 +1,14 @@
--- ---
---
--- <a href={Astro.request.headers.get('referer') || '/'}>
<a class="no-link-link" href="javascript:history.back()">
<button class="rounded">zurück</button> <button class="rounded">zurück</button>
</a> </a>
<style> <style>
button { button {
padding: 12px 24px; padding: 12px 24px;
margin: 8px 0 16px 64px; margin: 8px 0 16px 0px;
border-style: none; border-style: none;
} }
</style> </style>

View file

@ -1,20 +0,0 @@
<footer>
<a class="nav-link" href="/impressum">Impressum</a>
<a class="nav-link" href="/privacy-policy">Datenschutz</a>
</footer>
<style>
footer {
display: flex;
width: 100vw;
justify-content: end;
padding: 16px 0;
background-color: var(--primary-color);
}
a {
padding-right: 32px;
}
</style>

View file

@ -1,33 +1,52 @@
<header> <header>
<span id="name">Blauwasser Mausis</span> <span id="name">Blauwasser Mausis</span>
<span class="vertical-line"></span> <span class="vertical-line"></span>
<nav> <nav>
<a class="nav-link" href="/">Startseite</a> <div class="nav-left">
<!-- <a class="nav-link" href="/about">Über uns</a> --> <a class="nav-link" href="/">Startseite</a>
</nav> <!-- <a class="nav-link" href="/about">Über uns</a> -->
</div>
<div class="nav-right">
<a class="nav-link" href="/impressum">Impressum</a>
<a class="nav-link" href="/privacy-policy">Datenschutz</a>
</div>
</nav>
</header> </header>
<style> <style>
* {
font-size: larger;
}
header { header {
padding: 24px; padding: 24px;
display: flex; display: flex;
background-color: var(--primary-color); align-items: center;
} background-color: var(--primary-color);
}
#name { #name {
font-weight: bold; font-weight: bold;
} width: min-content;
}
.vertical-line { .vertical-line {
border-right: 3px solid black; border-right: 3px solid black;
padding-left: 16px; padding-left: 16px;
} height: 2rem;
}
a { nav {
padding-left: 16px; width: 100%;
} display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
}
a {
font-size: 1.5rem;
padding-left: 16px;
}
.nav-right > a {
font-size: 1rem;
}
</style> </style>

View file

@ -1,6 +1,7 @@
--- ---
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";
interface Props { interface Props {
post: Post; post: Post;
@ -15,16 +16,20 @@ const img = findImageByPath(post.image.path);
<a href={url} class="no-link-link"> <a href={url} class="no-link-link">
<div class="wide-container"> <div class="wide-container">
<div class="image-col col rounded"> <div class="image-col col rounded">
<img src={img.src} alt={post.image.alt} /> <Image
src={img}
alt={post.image.alt}
layout="constrained"
/>
</div> </div>
<div class="text-col col"> <div class="text-col col">
<h2 class="headline">{post.title}</h2> <div class="top-info">
<h7 class="subtitle">{post.subtitle}</h7>
<p class="description">{post.description}</p>
<div class="bottom-info">
<span>Autor: {post.author}</span> <span>Autor: {post.author}</span>
<span>{post.date}</span> <span>{post.date}</span>
</div> </div>
<h2 class="headline">{post.title}</h2>
<h7 class="subtitle">{post.subtitle}</h7>
<p class="description">{post.description}</p>
</div> </div>
</div> </div>
</a> </a>
@ -67,8 +72,9 @@ const img = findImageByPath(post.image.path);
object-position: center; object-position: center;
} }
.bottom-info { .top-info {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
margin-bottom: 16px;
} }
</style> </style>

View file

@ -1,4 +1,5 @@
--- ---
import { Image } from "astro:assets";
import BackNav from "../components/BackNav.astro"; 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";
@ -15,9 +16,9 @@ const titleImg = findImageByPath(frontmatter.image.path);
<Main> <Main>
<article> <article>
<img <Image
id="titleImg" id="titleImg"
src={titleImg.src} src={titleImg}
alt={frontmatter.image.alt} alt={frontmatter.image.alt}
class="rounded" class="rounded"
/> />
@ -30,8 +31,8 @@ const titleImg = findImageByPath(frontmatter.image.path);
</div> </div>
<hr /> <hr />
<slot /> <slot />
</article>
<BackNav /> <BackNav />
</article>
</Main> </Main>
<style> <style>

View file

@ -1,5 +1,4 @@
--- ---
import Footer from "../components/Footer.astro";
import Header from "../components/Header.astro"; import Header from "../components/Header.astro";
import "../styles/global.css"; import "../styles/global.css";
--- ---
@ -23,7 +22,6 @@ import "../styles/global.css";
<main> <main>
<slot /> <slot />
</main> </main>
<Footer />
</body> </body>
</html> </html>

View file

@ -8,8 +8,8 @@ import Main from "../layouts/Main.astro";
<h3>Betreiber der Website</h3> <h3>Betreiber der Website</h3>
<p> <p>
Tim Eberhardt <br /> Tim Eberhardt <br />
Domplatz 16 <br /> Pförtchenstr. 6 <br />
99084 Erfurt <br /> 99096 Erfurt <br />
Deutschland Deutschland
</p> </p>
@ -19,8 +19,8 @@ import Main from "../layouts/Main.astro";
<h3>Angaben zur Verantwortlichkeit gemäß § 55 RStV</h3> <h3>Angaben zur Verantwortlichkeit gemäß § 55 RStV</h3>
<p> <p>
Tim Eberhardt <br /> Tim Eberhardt <br />
Domplatz 16<br /> Pförtchenstr. 6<br />
99084 Erfurt 99096 Erfurt
</p> </p>
<h3>Haftung für Inhalte</h3> <h3>Haftung für Inhalte</h3>

View file

@ -16,7 +16,7 @@ import Main from "../layouts/Main.astro";
<h2>Verantwortlicher</h2> <h2>Verantwortlicher</h2>
<ul> <ul>
<li><strong>Name:</strong> Tim Eberhardt</li> <li><strong>Name:</strong> Tim Eberhardt</li>
<li><strong>Anschrift:</strong> Domplatz 16, 99084 Erfurt</li> <li><strong>Anschrift:</strong> Pförtchenstr. 6, 99096 Erfurt</li>
<li><strong>Telefon:</strong> +49 (1577) 6822446</li> <li><strong>Telefon:</strong> +49 (1577) 6822446</li>
<li> <li>
<strong>E-Mail:</strong> <strong>E-Mail:</strong>