diff options
author | LarsVomMars | 2024-12-27 17:21:54 +0100 |
---|---|---|
committer | LarsVomMars | 2024-12-27 17:21:54 +0100 |
commit | d8aa33cd84aaac217a9b9e7b6c4a0c1fa0f02046 (patch) | |
tree | 8dcdf597f5c4741279fcd7e0c25e79b792606c0d | |
parent | ca263eecf8d44a4b98b12b63f83a8c1f3ce4468a (diff) |
-rw-r--r-- | src/components/Footer.astro | 92 | ||||
-rw-r--r-- | src/components/Header.astro | 125 | ||||
-rw-r--r-- | src/components/HeaderLink.astro | 3 | ||||
-rw-r--r-- | src/consts.ts | 8 | ||||
-rw-r--r-- | src/pages/about.astro | 62 | ||||
-rw-r--r-- | src/pages/blog/[event]/index.astro | 4 | ||||
-rw-r--r-- | src/pages/blog/index.astro | 4 | ||||
-rw-r--r-- | src/pages/index.astro | 58 |
8 files changed, 109 insertions, 247 deletions
diff --git a/src/components/Footer.astro b/src/components/Footer.astro index 96c2fce..8deac91 100644 --- a/src/components/Footer.astro +++ b/src/components/Footer.astro @@ -3,60 +3,44 @@ const today = new Date(); --- <footer> - © {today.getFullYear()} Your name here. All rights reserved. - <div class="social-links"> - <a href="https://m.webtoo.ls/@astro" target="_blank"> - <span class="sr-only">Follow Astro on Mastodon</span> - <svg - viewBox="0 0 16 16" - aria-hidden="true" - width="32" - height="32" - astro-icon="social/mastodon" - ><path - fill="currentColor" - d="M11.19 12.195c2.016-.24 3.77-1.475 3.99-2.603.348-1.778.32-4.339.32-4.339 0-3.47-2.286-4.488-2.286-4.488C12.062.238 10.083.017 8.027 0h-.05C5.92.017 3.942.238 2.79.765c0 0-2.285 1.017-2.285 4.488l-.002.662c-.004.64-.007 1.35.011 2.091.083 3.394.626 6.74 3.78 7.57 1.454.383 2.703.463 3.709.408 1.823-.1 2.847-.647 2.847-.647l-.06-1.317s-1.303.41-2.767.36c-1.45-.05-2.98-.156-3.215-1.928a3.614 3.614 0 0 1-.033-.496s1.424.346 3.228.428c1.103.05 2.137-.064 3.188-.189zm1.613-2.47H11.13v-4.08c0-.859-.364-1.295-1.091-1.295-.804 0-1.207.517-1.207 1.541v2.233H7.168V5.89c0-1.024-.403-1.541-1.207-1.541-.727 0-1.091.436-1.091 1.296v4.079H3.197V5.522c0-.859.22-1.541.66-2.046.456-.505 1.052-.764 1.793-.764.856 0 1.504.328 1.933.983L8 4.39l.417-.695c.429-.655 1.077-.983 1.934-.983.74 0 1.336.259 1.791.764.442.505.661 1.187.661 2.046v4.203z" - ></path></svg - > - </a> - <a href="https://twitter.com/astrodotbuild" target="_blank"> - <span class="sr-only">Follow Astro on Twitter</span> - <svg viewBox="0 0 16 16" aria-hidden="true" width="32" height="32" astro-icon="social/twitter" - ><path - fill="currentColor" - d="M5.026 15c6.038 0 9.341-5.003 9.341-9.334 0-.14 0-.282-.006-.422A6.685 6.685 0 0 0 16 3.542a6.658 6.658 0 0 1-1.889.518 3.301 3.301 0 0 0 1.447-1.817 6.533 6.533 0 0 1-2.087.793A3.286 3.286 0 0 0 7.875 6.03a9.325 9.325 0 0 1-6.767-3.429 3.289 3.289 0 0 0 1.018 4.382A3.323 3.323 0 0 1 .64 6.575v.045a3.288 3.288 0 0 0 2.632 3.218 3.203 3.203 0 0 1-.865.115 3.23 3.23 0 0 1-.614-.057 3.283 3.283 0 0 0 3.067 2.277A6.588 6.588 0 0 1 .78 13.58a6.32 6.32 0 0 1-.78-.045A9.344 9.344 0 0 0 5.026 15z" - ></path></svg - > - </a> - <a href="https://github.com/withastro/astro" target="_blank"> - <span class="sr-only">Go to Astro's GitHub repo</span> - <svg viewBox="0 0 16 16" aria-hidden="true" width="32" height="32" astro-icon="social/github" - ><path - fill="currentColor" - d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.012 8.012 0 0 0 16 8c0-4.42-3.58-8-8-8z" - ></path></svg - > - </a> - </div> + © {today.getFullYear()} L.A.R.S. All rights reserved. + <div class="social-links"> + <a href="https://github.com/lars-ctf" target="_blank"> + <span class="sr-only">View Github</span> + <svg + viewBox="0 0 16 16" + aria-hidden="true" + width="32" + height="32" + astro-icon="social/github" + > + <path + fill="currentColor" + d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.012 8.012 0 0 0 16 8c0-4.42-3.58-8-8-8z" + > + </path> + </svg> + </a> + </div> </footer> <style> - footer { - padding: 2em 1em 6em 1em; - background: linear-gradient(var(--gray-gradient)) no-repeat; - color: rgb(var(--gray)); - text-align: center; - } - .social-links { - display: flex; - justify-content: center; - gap: 1em; - margin-top: 1em; - } - .social-links a { - text-decoration: none; - color: rgb(var(--gray)); - } - .social-links a:hover { - color: rgb(var(--gray-dark)); - } + footer { + padding: 2em 1em 6em 1em; + background: linear-gradient(var(--gray-gradient)) no-repeat; + color: rgb(var(--gray)); + text-align: center; + } + .social-links { + display: flex; + justify-content: center; + gap: 1em; + margin-top: 1em; + } + .social-links a { + text-decoration: none; + color: rgb(var(--gray)); + } + .social-links a:hover { + color: rgb(var(--gray-dark)); + } </style> diff --git a/src/components/Header.astro b/src/components/Header.astro index 8d01e09..3c05e78 100644 --- a/src/components/Header.astro +++ b/src/components/Header.astro @@ -1,85 +1,56 @@ --- -import HeaderLink from './HeaderLink.astro'; -import { SITE_TITLE } from '../consts'; +import HeaderLink from "./HeaderLink.astro"; +import { SITE_TITLE, SITE_BASE } from "../consts"; --- <header> - <nav> - <h2><a href="/astro-blog">{SITE_TITLE}</a></h2> - <div class="internal-links"> - <HeaderLink href="/">Home</HeaderLink> - <HeaderLink href="/blog">Blog</HeaderLink> - <HeaderLink href="/about">About</HeaderLink> - </div> - <div class="social-links"> - <a href="https://m.webtoo.ls/@astro" target="_blank"> - <span class="sr-only">Follow Astro on Mastodon</span> - <svg viewBox="0 0 16 16" aria-hidden="true" width="32" height="32" - ><path - fill="currentColor" - d="M11.19 12.195c2.016-.24 3.77-1.475 3.99-2.603.348-1.778.32-4.339.32-4.339 0-3.47-2.286-4.488-2.286-4.488C12.062.238 10.083.017 8.027 0h-.05C5.92.017 3.942.238 2.79.765c0 0-2.285 1.017-2.285 4.488l-.002.662c-.004.64-.007 1.35.011 2.091.083 3.394.626 6.74 3.78 7.57 1.454.383 2.703.463 3.709.408 1.823-.1 2.847-.647 2.847-.647l-.06-1.317s-1.303.41-2.767.36c-1.45-.05-2.98-.156-3.215-1.928a3.614 3.614 0 0 1-.033-.496s1.424.346 3.228.428c1.103.05 2.137-.064 3.188-.189zm1.613-2.47H11.13v-4.08c0-.859-.364-1.295-1.091-1.295-.804 0-1.207.517-1.207 1.541v2.233H7.168V5.89c0-1.024-.403-1.541-1.207-1.541-.727 0-1.091.436-1.091 1.296v4.079H3.197V5.522c0-.859.22-1.541.66-2.046.456-.505 1.052-.764 1.793-.764.856 0 1.504.328 1.933.983L8 4.39l.417-.695c.429-.655 1.077-.983 1.934-.983.74 0 1.336.259 1.791.764.442.505.661 1.187.661 2.046v4.203z" - ></path></svg - > - </a> - <a href="https://twitter.com/astrodotbuild" target="_blank"> - <span class="sr-only">Follow Astro on Twitter</span> - <svg viewBox="0 0 16 16" aria-hidden="true" width="32" height="32" - ><path - fill="currentColor" - d="M5.026 15c6.038 0 9.341-5.003 9.341-9.334 0-.14 0-.282-.006-.422A6.685 6.685 0 0 0 16 3.542a6.658 6.658 0 0 1-1.889.518 3.301 3.301 0 0 0 1.447-1.817 6.533 6.533 0 0 1-2.087.793A3.286 3.286 0 0 0 7.875 6.03a9.325 9.325 0 0 1-6.767-3.429 3.289 3.289 0 0 0 1.018 4.382A3.323 3.323 0 0 1 .64 6.575v.045a3.288 3.288 0 0 0 2.632 3.218 3.203 3.203 0 0 1-.865.115 3.23 3.23 0 0 1-.614-.057 3.283 3.283 0 0 0 3.067 2.277A6.588 6.588 0 0 1 .78 13.58a6.32 6.32 0 0 1-.78-.045A9.344 9.344 0 0 0 5.026 15z" - ></path></svg - > - </a> - <a href="https://github.com/withastro/astro" target="_blank"> - <span class="sr-only">Go to Astro's GitHub repo</span> - <svg viewBox="0 0 16 16" aria-hidden="true" width="32" height="32" - ><path - fill="currentColor" - d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.012 8.012 0 0 0 16 8c0-4.42-3.58-8-8-8z" - ></path></svg - > - </a> - </div> - </nav> + <nav> + <h2><a href={SITE_BASE}>{SITE_TITLE}</a></h2> + <div class="internal-links"> + <HeaderLink href="/">Home</HeaderLink> + <HeaderLink href="/blog">Blog</HeaderLink> + </div> + <div class="social-links"></div> + </nav> </header> <style> - header { - margin: 0; - padding: 0 1em; - background: white; - box-shadow: 0 2px 8px rgba(var(--black), 5%); - } - h2 { - margin: 0; - font-size: 1em; - } + header { + margin: 0; + padding: 0 1em; + background: white; + box-shadow: 0 2px 8px rgba(var(--black), 5%); + } + h2 { + margin: 0; + font-size: 1em; + } - h2 a, - h2 a.active { - text-decoration: none; - } - nav { - display: flex; - align-items: center; - justify-content: space-between; - } - nav a { - padding: 1em 0.5em; - color: var(--black); - border-bottom: 4px solid transparent; - text-decoration: none; - } - nav a.active { - text-decoration: none; - border-bottom-color: var(--accent); - } - .social-links, - .social-links a { - display: flex; - } - @media (max-width: 720px) { - .social-links { - display: none; - } - } + h2 a, + h2 a.active { + text-decoration: none; + } + nav { + display: flex; + align-items: center; + justify-content: space-between; + } + nav a { + padding: 1em 0.5em; + color: var(--black); + border-bottom: 4px solid transparent; + text-decoration: none; + } + nav a.active { + text-decoration: none; + border-bottom-color: var(--accent); + } + .social-links, + .social-links a { + display: flex; + } + @media (max-width: 720px) { + .social-links { + display: none; + } + } </style> diff --git a/src/components/HeaderLink.astro b/src/components/HeaderLink.astro index c53880d..a18dd3c 100644 --- a/src/components/HeaderLink.astro +++ b/src/components/HeaderLink.astro @@ -1,5 +1,6 @@ --- import type { HTMLAttributes } from "astro/types"; +import { SITE_BASE } from "../consts"; type Props = HTMLAttributes<"a">; @@ -10,7 +11,7 @@ const isActive = href === pathname || href === "/" + (subpath?.[0] || ""); --- <a - href={"/astro-blog/" + href} + href={SITE_BASE + "/" + href} class:list={[className, { active: isActive }]} {...props} > diff --git a/src/consts.ts b/src/consts.ts index 0df8a61..a0a5bf0 100644 --- a/src/consts.ts +++ b/src/consts.ts @@ -1,5 +1,3 @@ -// Place any global data in this file. -// You can import this data from anywhere in your site by using the `import` keyword. - -export const SITE_TITLE = 'Astro Blog'; -export const SITE_DESCRIPTION = 'Welcome to my website!'; +export const SITE_TITLE = "L.A.R.S Blog"; +export const SITE_DESCRIPTION = "Welcome to our blog"; +export const SITE_BASE = "/astro-blog";
\ No newline at end of file diff --git a/src/pages/about.astro b/src/pages/about.astro deleted file mode 100644 index c9d5b02..0000000 --- a/src/pages/about.astro +++ /dev/null @@ -1,62 +0,0 @@ ---- -import Layout from '../layouts/BlogPost.astro'; ---- - -<Layout - title="About Me" - description="Lorem ipsum dolor sit amet" - pubDate={new Date('August 08 2021')} - heroImage="/blog-placeholder-about.jpg" -> - <p> - Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut - labore et dolore magna aliqua. Vitae ultricies leo integer malesuada nunc vel risus commodo - viverra. Adipiscing enim eu turpis egestas pretium. Euismod elementum nisi quis eleifend quam - adipiscing. In hac habitasse platea dictumst vestibulum. Sagittis purus sit amet volutpat. Netus - et malesuada fames ac turpis egestas. Eget magna fermentum iaculis eu non diam phasellus - vestibulum lorem. Varius sit amet mattis vulputate enim. Habitasse platea dictumst quisque - sagittis. Integer quis auctor elit sed vulputate mi. Dictumst quisque sagittis purus sit amet. - </p> - - <p> - Morbi tristique senectus et netus. Id semper risus in hendrerit gravida rutrum quisque non - tellus. Habitasse platea dictumst quisque sagittis purus sit amet. Tellus molestie nunc non - blandit massa. Cursus vitae congue mauris rhoncus. Accumsan tortor posuere ac ut. Fringilla urna - porttitor rhoncus dolor. Elit ullamcorper dignissim cras tincidunt lobortis. In cursus turpis - massa tincidunt dui ut ornare lectus. Integer feugiat scelerisque varius morbi enim nunc. - Bibendum neque egestas congue quisque egestas diam. Cras ornare arcu dui vivamus arcu felis - bibendum. Dignissim suspendisse in est ante in nibh mauris. Sed tempus urna et pharetra pharetra - massa massa ultricies mi. - </p> - - <p> - Mollis nunc sed id semper risus in. Convallis a cras semper auctor neque. Diam sit amet nisl - suscipit. Lacus viverra vitae congue eu consequat ac felis donec. Egestas integer eget aliquet - nibh praesent tristique magna sit amet. Eget magna fermentum iaculis eu non diam. In vitae - turpis massa sed elementum. Tristique et egestas quis ipsum suspendisse ultrices. Eget lorem - dolor sed viverra ipsum. Vel turpis nunc eget lorem dolor sed viverra. Posuere ac ut consequat - semper viverra nam. Laoreet suspendisse interdum consectetur libero id faucibus. Diam phasellus - vestibulum lorem sed risus ultricies tristique. Rhoncus dolor purus non enim praesent elementum - facilisis. Ultrices tincidunt arcu non sodales neque. Tempus egestas sed sed risus pretium quam - vulputate. Viverra suspendisse potenti nullam ac tortor vitae purus faucibus ornare. Fringilla - urna porttitor rhoncus dolor purus non. Amet dictum sit amet justo donec enim. - </p> - - <p> - Mattis ullamcorper velit sed ullamcorper morbi tincidunt. Tortor posuere ac ut consequat semper - viverra. Tellus mauris a diam maecenas sed enim ut sem viverra. Venenatis urna cursus eget nunc - scelerisque viverra mauris in. Arcu ac tortor dignissim convallis aenean et tortor at. Curabitur - gravida arcu ac tortor dignissim convallis aenean et tortor. Egestas tellus rutrum tellus - pellentesque eu. Fusce ut placerat orci nulla pellentesque dignissim enim sit amet. Ut enim - blandit volutpat maecenas volutpat blandit aliquam etiam. Id donec ultrices tincidunt arcu. Id - cursus metus aliquam eleifend mi. - </p> - - <p> - Tempus quam pellentesque nec nam aliquam sem. Risus at ultrices mi tempus imperdiet. Id porta - nibh venenatis cras sed felis eget velit. Ipsum a arcu cursus vitae. Facilisis magna etiam - tempor orci eu lobortis elementum. Tincidunt dui ut ornare lectus sit. Quisque non tellus orci - ac. Blandit libero volutpat sed cras. Nec tincidunt praesent semper feugiat nibh sed pulvinar - proin gravida. Egestas integer eget aliquet nibh praesent tristique magna. - </p> -</Layout> diff --git a/src/pages/blog/[event]/index.astro b/src/pages/blog/[event]/index.astro index 46e2557..f41e010 100644 --- a/src/pages/blog/[event]/index.astro +++ b/src/pages/blog/[event]/index.astro @@ -2,7 +2,7 @@ import BaseHead from "../../../components/BaseHead.astro"; import Header from "../../../components/Header.astro"; import Footer from "../../../components/Footer.astro"; -import { SITE_TITLE, SITE_DESCRIPTION } from "../../../consts"; +import { SITE_TITLE, SITE_DESCRIPTION, SITE_BASE } from "../../../consts"; import { getCollection } from "astro:content"; import FormattedDate from "../../../components/FormattedDate.astro"; @@ -112,7 +112,7 @@ const posts = blogs { posts.map((post) => ( <li> - <a href={`/astro-blog/blog/${post.id}`}> + <a href={`${SITE_BASE}/blog/${post.id}`}> <h4 class="title">{post.data.title}</h4> </a> </li> diff --git a/src/pages/blog/index.astro b/src/pages/blog/index.astro index 7f1f01e..4da8b46 100644 --- a/src/pages/blog/index.astro +++ b/src/pages/blog/index.astro @@ -2,7 +2,7 @@ import BaseHead from "../../components/BaseHead.astro"; import Header from "../../components/Header.astro"; import Footer from "../../components/Footer.astro"; -import { SITE_TITLE, SITE_DESCRIPTION } from "../../consts"; +import { SITE_TITLE, SITE_DESCRIPTION, SITE_BASE } from "../../consts"; import { getCollection } from "astro:content"; import FormattedDate from "../../components/FormattedDate.astro"; @@ -106,7 +106,7 @@ console.log(events); { events.map((event) => ( <li> - <a href={`/astro-blog/blog/${event}/`}> + <a href={`${SITE_BASE}/blog/${event}/`}> <h4 class="title">{event}</h4> </a> </li> diff --git a/src/pages/index.astro b/src/pages/index.astro index 31269ef..fb738a0 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -1,50 +1,20 @@ --- -import BaseHead from '../components/BaseHead.astro'; -import Header from '../components/Header.astro'; -import Footer from '../components/Footer.astro'; -import { SITE_TITLE, SITE_DESCRIPTION } from '../consts'; +import BaseHead from "../components/BaseHead.astro"; +import Header from "../components/Header.astro"; +import Footer from "../components/Footer.astro"; +import { SITE_TITLE, SITE_DESCRIPTION } from "../consts"; --- <!doctype html> <html lang="en"> - <head> - <BaseHead title={SITE_TITLE} description={SITE_DESCRIPTION} /> - </head> - <body> - <Header /> - <main> - <h1>🧑🚀 Hello, Astronaut!</h1> - <p> - Welcome to the official <a href="https://astro.build/">Astro</a> blog starter template. This - template serves as a lightweight, minimally-styled starting point for anyone looking to build - a personal website, blog, or portfolio with Astro. - </p> - <p> - This template comes with a few integrations already configured in your - <code>astro.config.mjs</code> file. You can customize your setup with - <a href="https://astro.build/integrations">Astro Integrations</a> to add tools like Tailwind, - React, or Vue to your project. - </p> - <p>Here are a few ideas on how to get started with the template:</p> - <ul> - <li>Edit this page in <code>src/pages/index.astro</code></li> - <li>Edit the site header items in <code>src/components/Header.astro</code></li> - <li>Add your name to the footer in <code>src/components/Footer.astro</code></li> - <li>Check out the included blog posts in <code>src/content/blog/</code></li> - <li>Customize the blog post page layout in <code>src/layouts/BlogPost.astro</code></li> - </ul> - <p> - Have fun! If you get stuck, remember to <a href="https://docs.astro.build/" - >read the docs - </a> or <a href="https://astro.build/chat">join us on Discord</a> to ask questions. - </p> - <p> - Looking for a blog template with a bit more personality? Check out <a - href="https://github.com/Charca/astro-blog-template" - >astro-blog-template - </a> by <a href="https://twitter.com/Charca">Maxi Ferreira</a>. - </p> - </main> - <Footer /> - </body> + <head> + <BaseHead title={SITE_TITLE} description={SITE_DESCRIPTION} /> + </head> + <body> + <Header /> + <main> + <h1>🧑🚀 Hello, Astronaut!</h1> + </main> + <Footer /> + </body> </html> |