refactor: major nitpicks

- refactor: change default import alias
- feat: add icons to breadcrumbs
- fix: add `site_name` og tag
- feat: hover on feedback for `Link`s and `TableofContentsHeadings`
- fix: add `external` to `SocialIcons`
This commit is contained in:
enscribe 2024-09-19 22:16:13 -07:00
parent 6764644c2e
commit 1ad80ac5bc
No known key found for this signature in database
GPG key ID: 9BBD5C4114E25322
26 changed files with 104 additions and 104 deletions

View file

@ -1,16 +1,16 @@
---
import Breadcrumbs from '@/components/Breadcrumbs.astro'
import Container from '@/components/Container.astro'
import Link from '@/components/Link.astro'
import { buttonVariants } from '@/components/ui/button'
import Container from '@components/Container.astro'
import Link from '@components/Link.astro'
import { SITE } from '@consts'
import Layout from '@layouts/Layout.astro'
import { cn } from '@lib/utils'
import { SITE } from '@/consts'
import Layout from '@/layouts/Layout.astro'
import { cn } from '@/lib/utils'
---
<Layout title="404" description={SITE.DESCRIPTION}>
<Container class="flex grow flex-col gap-y-6">
<Breadcrumbs items={[{ label: '???' }]} />
<Breadcrumbs items={[{ label: '???', icon: 'lucide:circle-help' }]} />
<section
class="flex flex-col items-center justify-center gap-y-4 text-center"

View file

@ -1,9 +1,9 @@
---
import Breadcrumbs from '@/components/Breadcrumbs.astro'
import Container from '@components/Container.astro'
import ProjectCard from '@components/ProjectCard.astro'
import { SITE } from '@consts'
import Layout from '@layouts/Layout.astro'
import Container from '@/components/Container.astro'
import ProjectCard from '@/components/ProjectCard.astro'
import { SITE } from '@/consts'
import Layout from '@/layouts/Layout.astro'
import { getCollection } from 'astro:content'
const projects = await getCollection('projects')
@ -11,7 +11,7 @@ const projects = await getCollection('projects')
<Layout title="About" description={SITE.DESCRIPTION}>
<Container class="flex flex-col gap-y-6">
<Breadcrumbs items={[{ label: 'About' }]} />
<Breadcrumbs items={[{ label: 'About', icon: 'lucide:info' }]} />
<section>
<div class="min-w-full">

View file

@ -1,9 +1,9 @@
---
import AuthorCard from '@/components/AuthorCard.astro'
import BlogCard from '@/components/BlogCard.astro'
import Breadcrumbs from '@/components/Breadcrumbs.astro'
import AuthorCard from '@components/AuthorCard.astro'
import BlogCard from '@components/BlogCard.astro'
import Container from '@components/Container.astro'
import Layout from '@layouts/Layout.astro'
import Container from '@/components/Container.astro'
import Layout from '@/layouts/Layout.astro'
import { type CollectionEntry, getCollection } from 'astro:content'
export async function getStaticPaths() {
@ -35,8 +35,8 @@ const authorPosts = allPosts
<Container class="flex flex-col gap-y-6">
<Breadcrumbs
items={[
{ href: '/authors', label: 'Authors' },
{ label: author.data.name },
{ href: '/authors', label: 'Authors', icon: 'lucide:users' },
{ label: author.data.name, icon: 'lucide:user' },
]}
/>

View file

@ -1,8 +1,8 @@
---
import AuthorCard from '@/components/AuthorCard.astro'
import Breadcrumbs from '@/components/Breadcrumbs.astro'
import AuthorCard from '@components/AuthorCard.astro'
import Container from '@components/Container.astro'
import Layout from '@layouts/Layout.astro'
import Container from '@/components/Container.astro'
import Layout from '@/layouts/Layout.astro'
import { getCollection } from 'astro:content'
const authors = await getCollection('authors')
@ -10,7 +10,7 @@ const authors = await getCollection('authors')
<Layout title="Authors" description="A list of authors on this site.">
<Container class="flex flex-col gap-y-6">
<Breadcrumbs items={[{ label: 'Authors' }]} />
<Breadcrumbs items={[{ label: 'Authors', icon: 'lucide:users' }]} />
{
authors.length > 0 ? (
<ul class="not-prose flex flex-col gap-4">

View file

@ -1,10 +1,10 @@
---
import BlogCard from '@/components/BlogCard.astro'
import Breadcrumbs from '@/components/Breadcrumbs.astro'
import Container from '@/components/Container.astro'
import PaginationComponent from '@/components/ui/pagination'
import { SITE } from '@/consts'
import BlogCard from '@components/BlogCard.astro'
import Container from '@components/Container.astro'
import Layout from '@layouts/Layout.astro'
import Layout from '@/layouts/Layout.astro'
import type { PaginateFunction } from 'astro'
import { type CollectionEntry, getCollection } from 'astro:content'
@ -38,8 +38,8 @@ const years = Object.keys(postsByYear).sort((a, b) => parseInt(b) - parseInt(a))
<Container class="flex grow flex-col gap-y-6">
<Breadcrumbs
items={[
{ label: 'Blog', href: '/blog' },
{ label: `Page ${page.currentPage}` },
{ label: 'Blog', href: '/blog', icon: 'lucide:archive' },
{ label: `Page ${page.currentPage}`, icon: 'lucide:folder-open' },
]}
/>

View file

@ -1,14 +1,14 @@
---
import Breadcrumbs from '@/components/Breadcrumbs.astro'
import Container from '@/components/Container.astro'
import Link from '@/components/Link.astro'
import PostNavigation from '@/components/PostNavigation.astro'
import TableOfContents from '@/components/TableOfContents.astro'
import { badgeVariants } from '@/components/ui/badge'
import { Button } from '@/components/ui/button'
import { Separator } from '@/components/ui/separator'
import Container from '@components/Container.astro'
import Link from '@components/Link.astro'
import PostNavigation from '@components/PostNavigation.astro'
import TableOfContents from '@components/TableOfContents.astro'
import Layout from '@layouts/Layout.astro'
import { formatDate, parseAuthors, readingTime } from '@lib/utils'
import Layout from '@/layouts/Layout.astro'
import { formatDate, parseAuthors, readingTime } from '@/lib/utils'
import { Icon } from 'astro-icon/components'
import { Image } from 'astro:assets'
import { type CollectionEntry, getCollection } from 'astro:content'
@ -61,7 +61,10 @@ const authors = await parseAuthors(post.data.authors ?? [])
>
<Container class="flex flex-col gap-y-6">
<Breadcrumbs
items={[{ href: '/blog', label: 'Blog' }, { label: post.data.title }]}
items={[
{ href: '/blog', label: 'Blog', icon: 'lucide:archive' },
{ label: post.data.title, icon: 'lucide:file-text' },
]}
/>
{

View file

@ -1,4 +1,7 @@
---
import BlogCard from '@/components/BlogCard.astro'
import Container from '@/components/Container.astro'
import Link from '@/components/Link.astro'
import { buttonVariants } from '@/components/ui/button'
import {
Card,
@ -7,11 +10,8 @@ import {
CardHeader,
CardTitle,
} from '@/components/ui/card'
import BlogCard from '@components/BlogCard.astro'
import Container from '@components/Container.astro'
import Link from '@components/Link.astro'
import { SITE } from '@consts'
import Layout from '@layouts/Layout.astro'
import { SITE } from '@/consts'
import Layout from '@/layouts/Layout.astro'
import { getCollection } from 'astro:content'
const blog = (await getCollection('blog'))

View file

@ -1,5 +1,5 @@
import rss from '@astrojs/rss'
import { SITE } from '@consts'
import { SITE } from '@/consts'
import type { APIContext } from 'astro'
import { getCollection } from 'astro:content'

View file

@ -1,8 +1,8 @@
---
import BlogCard from '@components/BlogCard.astro'
import Breadcrumbs from '@components/Breadcrumbs.astro'
import Container from '@components/Container.astro'
import Layout from '@layouts/Layout.astro'
import BlogCard from '@/components/BlogCard.astro'
import Breadcrumbs from '@/components/Breadcrumbs.astro'
import Container from '@/components/Container.astro'
import Layout from '@/layouts/Layout.astro'
import { Icon } from 'astro-icon/components'
import { type CollectionEntry, getCollection } from 'astro:content'
@ -37,7 +37,12 @@ export async function getStaticPaths() {
description={`A collection of posts tagged with ${tag}.`}
>
<Container class="flex flex-col gap-y-6">
<Breadcrumbs items={[{ href: '/tags', label: 'Tags' }, { label: tag }]} />
<Breadcrumbs
items={[
{ href: '/tags', label: 'Tags', icon: 'lucide:tags' },
{ label: tag, icon: 'lucide:tag' },
]}
/>
<div class="flex flex-wrap items-center gap-2">
<h1 class="text-3xl font-semibold">Posts tagged with</h1>
<span

View file

@ -1,9 +1,9 @@
---
import Breadcrumbs from '@/components/Breadcrumbs.astro'
import Container from '@components/Container.astro'
import Link from '@components/Link.astro'
import { badgeVariants } from '@components/ui/badge'
import Layout from '@layouts/Layout.astro'
import Container from '@/components/Container.astro'
import Link from '@/components/Link.astro'
import { badgeVariants } from '@/components/ui/badge'
import Layout from '@/layouts/Layout.astro'
import { Icon } from 'astro-icon/components'
import { getCollection } from 'astro:content'
@ -16,7 +16,7 @@ const tags = blog
<Layout title="Tags" description="A list of all tags used in blog posts">
<Container class="flex flex-col gap-y-6">
<Breadcrumbs items={[{ label: 'Tags' }]} />
<Breadcrumbs items={[{ label: 'Tags', icon: 'lucide:tags' }]} />
<div class="flex flex-col gap-4">
<h1 class="text-3xl font-semibold">Tags</h1>