diff options
author | Valentin Popov <valentin@popov.link> | 2025-06-11 20:20:43 +0300 |
---|---|---|
committer | Valentin Popov <valentin@popov.link> | 2025-06-11 20:20:43 +0300 |
commit | 423344fca500ab017c3cb7cb4b53f763400f5186 (patch) | |
tree | b2e1f7df9dd767ca89fd3b1e30c30dadc0a56bfa /src | |
parent | 78a9c2abc56d47637eaa46eb1ce99b682d7bde0d (diff) | |
download | popov.link-423344fca500ab017c3cb7cb4b53f763400f5186.tar.xz popov.link-423344fca500ab017c3cb7cb4b53f763400f5186.zip |
chore: remove unused environment variables and update layout components
- Deleted the .env and src/env.d.ts files as they are no longer needed.
- Updated BaseLayout to require title and description props directly, ensuring better clarity in component usage.
- Adjusted various pages to pass explicit title and description values, enhancing SEO and user experience.
- Increased print width in .prettierrc.mjs for improved code formatting.
Diffstat (limited to 'src')
-rw-r--r-- | src/components/Sections/SocialLinks.astro | 33 | ||||
-rw-r--r-- | src/components/Sections/Welcome.astro | 4 | ||||
-rw-r--r-- | src/env.d.ts | 9 | ||||
-rw-r--r-- | src/layouts/BaseLayout.astro | 11 | ||||
-rw-r--r-- | src/pages/404.astro | 9 | ||||
-rw-r--r-- | src/pages/blog/[...slug].astro | 10 | ||||
-rw-r--r-- | src/pages/blog/index.astro | 5 | ||||
-rw-r--r-- | src/pages/feed.xml.js | 7 | ||||
-rw-r--r-- | src/pages/index.astro | 5 |
9 files changed, 34 insertions, 59 deletions
diff --git a/src/components/Sections/SocialLinks.astro b/src/components/Sections/SocialLinks.astro index dbad5ef..ff04834 100644 --- a/src/components/Sections/SocialLinks.astro +++ b/src/components/Sections/SocialLinks.astro @@ -19,16 +19,7 @@ <section> <div> <a href="https://github.com/valentineus" title="GitHub" target="_blank"> - <svg - width="24" - height="24" - viewBox="0 0 24 24" - fill="none" - stroke="currentColor" - stroke-width="2" - stroke-linecap="round" - stroke-linejoin="round" - > + <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> <path d="M9 19c-5 1.5-5-2.5-7-3m14 6v-3.87a3.37 3.37 0 0 0-.94-2.61c3.14-.35 6.44-1.54 6.44-7A5.44 5.44 0 0 0 20 4.77 5.07 5.07 0 0 0 19.91 1S18.73.65 16 2.48a13.38 13.38 0 0 0-7 0C6.27.65 5.09 1 5.09 1A5.07 5.07 0 0 0 5 4.77a5.44 5.44 0 0 0-1.5 3.78c0 5.42 3.3 6.61 6.44 7A3.37 3.37 0 0 0 9 18.13V22" > @@ -36,31 +27,13 @@ </svg> </a> <a href="mailto:valentin@popov.link" title="E-Mail" target="_blank"> - <svg - width="24" - height="24" - viewBox="0 0 24 24" - fill="none" - stroke="currentColor" - stroke-width="2" - stroke-linecap="round" - stroke-linejoin="round" - > + <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> <path d="M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z"></path> <polyline points="22,6 12,13 2,6"></polyline> </svg> </a> <a href="/feed.xml" title="RSS" target="_blank"> - <svg - width="24" - height="24" - viewBox="0 0 24 24" - fill="none" - stroke="currentColor" - stroke-width="2" - stroke-linecap="round" - stroke-linejoin="round" - > + <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> <path d="M4 11a9 9 0 0 1 9 9"></path> <path d="M4 4a16 16 0 0 1 16 16"></path> <circle cx="5" cy="19" r="1"></circle> diff --git a/src/components/Sections/Welcome.astro b/src/components/Sections/Welcome.astro index 15ae0a3..acbeeac 100644 --- a/src/components/Sections/Welcome.astro +++ b/src/components/Sections/Welcome.astro @@ -2,8 +2,8 @@ <div> <h1>Hi, I'm Valentin Popov 👋</h1> <p> - I'm a professional software developer currently working as a project manager and team lead. On my personal - website, I share thoughts on tech, leadership, and digital life. + I'm a professional software developer currently working as a project manager and team lead. On my personal website, I share thoughts on tech, leadership, and digital + life. </p> <p>Welcome, and feel free to explore!</p> </div> diff --git a/src/env.d.ts b/src/env.d.ts deleted file mode 100644 index d714331..0000000 --- a/src/env.d.ts +++ /dev/null @@ -1,9 +0,0 @@ -/// <reference path="../.astro/types.d.ts" /> -interface ImportMetaEnv { - readonly DEFAULT_TITLE: string; - readonly DEFAULT_DESCRIPTION: string; -} - -interface ImportMeta { - readonly env: ImportMetaEnv; -} diff --git a/src/layouts/BaseLayout.astro b/src/layouts/BaseLayout.astro index 8ed13fd..908078e 100644 --- a/src/layouts/BaseLayout.astro +++ b/src/layouts/BaseLayout.astro @@ -5,18 +5,15 @@ import Header from "../components/Header.astro"; import "../scss/global.scss"; type Props = { - readonly description?: string; - readonly title?: string; + readonly description: string; + readonly title: string; }; -const { description, title } = Astro.props; +const { title, description } = Astro.props; --- <html lang="ru"> - <Head - title={title ?? import.meta.env.DEFAULT_TITLE} - description={description ?? import.meta.env.DEFAULT_DESCRIPTION} - /> + <Head title={title} description={description} /> <body> <main> diff --git a/src/pages/404.astro b/src/pages/404.astro index e140464..7c2b420 100644 --- a/src/pages/404.astro +++ b/src/pages/404.astro @@ -1,17 +1,18 @@ --- import Layout from "../layouts/BaseLayout.astro"; + +const title = "404 — Page Not Found | Valentin Popov"; +const description = "The page you're looking for doesn't exist!"; --- -<Layout> +<Layout title={title} description={description}> <div style="text-align:center;"> <h1>404</h1> <p><strong>Page not found</strong></p> <p> <small> If you see this message, please - <a href=`mailto:valentin@popov.link?subject=${encodeURIComponent('I found a broken page')}`> - let me know - </a> + <a href=`mailto:valentin@popov.link?subject=${encodeURIComponent('I found a broken page')}`>let me know</a> </small> </p> </div> diff --git a/src/pages/blog/[...slug].astro b/src/pages/blog/[...slug].astro index 8330c80..6c904d0 100644 --- a/src/pages/blog/[...slug].astro +++ b/src/pages/blog/[...slug].astro @@ -18,8 +18,12 @@ export async function getStaticPaths() { } const post = Astro.props; + const { Content, remarkPluginFrontmatter } = await post.render(); -const formattedDate = dayjs(post.data.pubDate.toString()).format("MMMM DD, YYYY"); + +const date = dayjs(post.data.pubDate.toString()).format("MMMM DD, YYYY"); +const title = `${post.data.title} | Valentin Popov`; +const description = post.data.description; --- <style lang="scss"> @@ -30,7 +34,7 @@ const formattedDate = dayjs(post.data.pubDate.toString()).format("MMMM DD, YYYY" } </style> -<Layout description={post.data.description} title={post.data.title}> +<Layout title={title} description={description}> <article> <section> <h1>{post.data.title}</h1> @@ -40,7 +44,7 @@ const formattedDate = dayjs(post.data.pubDate.toString()).format("MMMM DD, YYYY" <p> <small> Posted - <time datetime={post.data.pubDate.toISOString()}>{formattedDate}</time> + <time datetime={post.data.pubDate.toISOString()}>{date}</time> by {post.data.author} <span> • </span> <span>{remarkPluginFrontmatter.minutesRead}</span> diff --git a/src/pages/blog/index.astro b/src/pages/blog/index.astro index 0c33b66..b240cfa 100644 --- a/src/pages/blog/index.astro +++ b/src/pages/blog/index.astro @@ -4,6 +4,9 @@ import { getCollection } from "astro:content"; import Layout from "../../layouts/BaseLayout.astro"; import PostElement from "../../components/PostElement.astro"; +const title = "Blog | Valentin Popov"; +const description = "A collection of articles on software development, tech leadership and open-source experiments."; + const posts = await getCollection("blog", ({ data }) => { return data.draft !== true; }); @@ -22,7 +25,7 @@ const postsByYear = posts.reduce<Record<string, CollectionEntry<"blog">[]>>((acc const years = Object.keys(postsByYear).sort((a, b) => Number(b) - Number(a)); --- -<Layout> +<Layout title={title} description={description}> <section style={{ "margin-top": "3rem" }}> { years.map((year) => ( diff --git a/src/pages/feed.xml.js b/src/pages/feed.xml.js index d71a020..05dd3ac 100644 --- a/src/pages/feed.xml.js +++ b/src/pages/feed.xml.js @@ -2,13 +2,16 @@ import { getCollection } from "astro:content"; import rss from "@astrojs/rss"; export async function GET(context) { + const title = "RSS Feed | Valentin Popov Blog"; + const description = "Follow the latest posts from Valentin Popov via RSS."; + const posts = await getCollection("blog", ({ data }) => { return data.draft !== true; }); return rss({ customData: `<language>ru-ru</language>`, - description: import.meta.env.DEFAULT_DESCRIPTION, + description: description, items: posts.map((post) => ({ customData: post.data.customData, description: post.data.description, @@ -17,6 +20,6 @@ export async function GET(context) { title: post.data.title, })), site: context.site, - title: import.meta.env.DEFAULT_TITLE, + title: title, }); } diff --git a/src/pages/index.astro b/src/pages/index.astro index e7ae23d..42db836 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -3,9 +3,12 @@ import Layout from "../layouts/BaseLayout.astro"; import LatestPostsSection from "../components/Sections/LatestPosts.astro"; import SocialLinksSection from "../components/Sections/SocialLinks.astro"; import WelcomeSection from "../components/Sections/Welcome.astro"; + +const title = "Valentin Popov"; +const description = "A personal website of Valentin Popov, a software developer and team lead."; --- -<Layout> +<Layout title={title} description={description}> <WelcomeSection /> <SocialLinksSection /> <LatestPostsSection /> |