chore: remove more slop

This commit is contained in:
enscribe 2024-09-10 11:56:46 -07:00
parent 5d9940eddf
commit b9561ad2d0
No known key found for this signature in database
GPG key ID: 9BBD5C4114E25322
22 changed files with 237 additions and 587 deletions

View file

@ -1,23 +0,0 @@
---
export interface Props {
institution: string
time: string
job_title: string
location: string
description: string
}
const { institution, time, job_title, location, description } = Astro.props
---
<div class="px-8 py-5">
<div class="flex justify-between text-sm font-bold md:text-lg">
<div>{institution}</div>
<div>{location}</div>
</div>
<div class="flex justify-between text-xs md:text-base">
<div class="italic">{job_title}</div>
<div>{time}</div>
</div>
<p class="mt-2 text-xs">{description}</p>
</div>

View file

@ -2,7 +2,6 @@
import Container from '@components/Container.astro' import Container from '@components/Container.astro'
import Link from '@components/Link.astro' import Link from '@components/Link.astro'
import { SITE } from '@consts' import { SITE } from '@consts'
import ProgressBar from './ProgressBar.astro'
--- ---
<header transition:persist> <header transition:persist>
@ -18,11 +17,7 @@ import ProgressBar from './ProgressBar.astro'
<span> <span>
{`/`} {`/`}
</span> </span>
<Link href="/publications">research</Link> <Link href="/authors">authors</Link>
<span>
{`/`}
</span>
<Link href="/cv">cv</Link>
<span> <span>
{`/`} {`/`}
</span> </span>
@ -34,25 +29,6 @@ import ProgressBar from './ProgressBar.astro'
<span> <span>
{`/`} {`/`}
</span> </span>
<button
id="magnifying-glass"
aria-label="Search"
class="flex items-center rounded border border-black/15 bg-neutral-100 px-2 py-1 text-xs transition-colors duration-300 ease-in-out hover:bg-black/5 hover:text-black focus-visible:bg-black/5 focus-visible:text-black dark:border-white/20 dark:bg-neutral-900 dark:hover:bg-white/5 dark:hover:text-white dark:focus-visible:bg-white/5 dark:focus-visible:text-white"
>
<svg
height="16"
stroke-linejoin="round"
viewBox="0 0 16 16"
width="16"
style="color: currentcolor;"
><path
fill-rule="evenodd"
clip-rule="evenodd"
d="M3.5 7C3.5 5.067 5.067 3.5 7 3.5C8.933 3.5 10.5 5.067 10.5 7C10.5 7.88461 10.1718 8.69256 9.63058 9.30876L9.30876 9.63058C8.69256 10.1718 7.88461 10.5 7 10.5C5.067 10.5 3.5 8.933 3.5 7ZM9.96544 11.0261C9.13578 11.6382 8.11014 12 7 12C4.23858 12 2 9.76142 2 7C2 4.23858 4.23858 2 7 2C9.76142 2 12 4.23858 12 7C12 8.11014 11.6382 9.13578 11.0261 9.96544L14.0303 12.9697L14.5607 13.5L13.5 14.5607L12.9697 14.0303L9.96544 11.0261Z"
fill="currentColor"></path></svg
>
&nbsp;Search
</button>
</nav> </nav>
</div> </div>
</Container> </Container>

View file

@ -0,0 +1,29 @@
---
import type { CollectionEntry } from "astro:content";
import { Image } from "astro:assets";
type Props = {
member: CollectionEntry<"authors">;
};
const { member } = Astro.props;
const { name, avatar, bio } = member.data;
---
<div
class="animate not-prose flex flex-col sm:flex-row size-full sm:items-center gap-4 overflow-hidden rounded-xl border border-foreground bg-background p-6 hover:bg-secondary"
>
<Image
src={avatar}
alt={`Avatar of ${name}`}
width={256}
height={256}
class="aspect-square size-32 rounded-md object-cover"
/>
<div class="flex flex-col justify-between">
<a href={`/authors/${member.slug}`}>
<h3 class="mb-2 text-3xl text-foreground">{name}</h3>
<p class="mb-4 text-sm text-foreground">{bio}</p>
</a>
</div>
</div>

View file

@ -1,8 +0,0 @@
<div class="fixed z-50 h-[2px] w-full bg-neutral-300 dark:bg-slate-900">
<div class="h-full bg-cyan-500 dark:bg-orange-500"></div>
</div>
<script>
import { initializeProgressBar } from '../scripts/progress-bar.js'
initializeProgressBar()
</script>

View file

@ -1,106 +0,0 @@
---
import type { CollectionEntry } from 'astro:content'
import { Image } from 'astro:assets'
type Props = {
entry: CollectionEntry<'publications'>
}
const { entry } = Astro.props as {
entry: CollectionEntry<'publications'>
}
const splitStr = (authors: string | undefined, targetAuthor: string) => {
if (!authors) return []
const parts = authors.split(new RegExp(`(${targetAuthor})`, 'g'))
return parts
}
const decomposeURL = (URL: string | undefined) => {
if (!URL) return { text: '', url: '' }
const parts = URL.split(': ')
return { text: parts[0], url: parts[1] }
}
const dataLink = decomposeURL(entry.data.dataURL)
const paperLink = decomposeURL(entry.data.paperURL)
const codeLink = decomposeURL(entry.data.codeURL)
const webLink = decomposeURL(entry.data.webURL)
---
<div
class="not-prose grid-cols-auto group relative grid w-full items-center gap-4 rounded-lg border border-black/15 px-4 py-3 transition-colors duration-300 ease-in-out hover:bg-black/5 hover:text-black focus-visible:bg-black/5 focus-visible:text-black dark:border-white/20 dark:hover:bg-white/5 dark:hover:text-white dark:focus-visible:bg-white/5 dark:focus-visible:text-white md:grid-cols-[204px_auto]"
>
<Image
src={entry.data.img ?? ''}
alt={entry.data.imgAlt ?? ''}
width={640}
height={480}
class="hidden rounded-md shadow-sm transition hover:opacity-80 sm:mr-6 sm:h-[135px] sm:w-[240px] md:flex"
loading="eager"
/>
<div class="flex h-full items-center">
<div class="flex flex-col">
<div class="w-full">
<div class="text-md w-full font-semibold">
{entry.data.title}
</div>
<div class="w-full text-sm">
{entry.data.authors}
</div>
<div class="w-full text-sm">
{
paperLink.url != '' && (
<a
class="text-orange-500 underline transition-colors duration-300 ease-in-out visited:text-indigo-400 hover:text-cyan-500 dark:hover:text-cyan-500"
target="_blank"
href={paperLink.url}
>
{paperLink.text}
</a>
)
}
{
codeLink.url != '' && (
<a
class="text-orange-500 underline transition-colors duration-300 ease-in-out visited:text-indigo-400 hover:text-cyan-500 dark:hover:text-cyan-500"
target="_blank"
href={codeLink.url}
>
{codeLink.text}
</a>
)
}
{
webLink.url != '' && (
<a
class="text-orange-500 underline transition-colors duration-300 ease-in-out visited:text-indigo-400 hover:text-cyan-500 dark:hover:text-cyan-500"
target="_blank"
href={webLink.url}
>
{webLink.text}
</a>
)
}
{
dataLink.url != '' && (
<a
class="text-orange-500 underline transition-colors duration-300 ease-in-out visited:text-indigo-400 hover:text-cyan-500 dark:hover:text-cyan-500"
target="_blank"
href={dataLink.url}
>
{dataLink.text}
</a>
)
}
</div>
<div class="text-sm">
In <div class="inline italic">{entry.data.pub}</div>
</div>
</div>
<p class="mt-2 break-words text-sm">
{entry.data.description}
</p>
</div>
</div>
</div>

View file

@ -5,6 +5,5 @@ export const SITE: Site = {
DESCRIPTION: 'Astro Micro Academics is for academic user.', DESCRIPTION: 'Astro Micro Academics is for academic user.',
EMAIL: 'youremial@gmail.com', EMAIL: 'youremial@gmail.com',
NUM_POSTS_ON_HOMEPAGE: 2, NUM_POSTS_ON_HOMEPAGE: 2,
NUM_PUBLICATIONS_ON_HOMEPAGE: 3,
SITEURL: 'https://astro-micro-academic.vercel.app', // Update here to link the RSS icon to your website rss SITEURL: 'https://astro-micro-academic.vercel.app', // Update here to link the RSS icon to your website rss
} }

View file

@ -0,0 +1,8 @@
---
name: "enscribe"
avatar: "https://gravatar.com/avatar/9bfdc4ec972793cf05cb91efce5f4aaaec2a0da1bf4ec34dad0913f1d845faf6.webp?size=256"
bio: "d(-_-)b"
website: "https://enscribe.dev"
twitter: "enscry"
github: "jktrn"
---

View file

@ -1,7 +1,7 @@
import { defineCollection, z } from 'astro:content' import { defineCollection, reference, z } from "astro:content";
const blog = defineCollection({ const blog = defineCollection({
type: 'content', type: "content",
schema: z.object({ schema: z.object({
title: z.string(), title: z.string(),
description: z.string(), description: z.string(),
@ -9,24 +9,23 @@ const blog = defineCollection({
draft: z.boolean().optional(), draft: z.boolean().optional(),
tags: z.array(z.string()).optional(), tags: z.array(z.string()).optional(),
author: z.union([reference("authors"), z.string()]).optional(),
}), }),
}) });
const publications = defineCollection({ const authors = defineCollection({
type: 'content', type: "content",
schema: z.object({ schema: z.object({
title: z.string(), name: z.string(),
description: z.string(), avatar: z.string().url(),
date: z.coerce.date(), bio: z.string().optional(),
paperURL: z.string().optional(), website: z.string().url().optional(),
authors: z.string().optional(), twitter: z.string().optional(),
codeURL: z.string().optional(), github: z.string().optional(),
webURL: z.string().optional(), linkedin: z.string().optional(),
dataURL: z.string().optional(), mail: z.string().email().optional(),
img: z.string().optional(), discord: z.string().optional(),
imgAlt: z.string().optional(),
pub: z.string().optional(),
}), }),
}) });
export const collections = { blog, publications } export const collections = { blog, authors };

View file

@ -1,13 +0,0 @@
---
title: 'Paper Title1'
description: 'Your Paper Abstract'
date: '2024-03-26'
authors: 'John B*, Jon A*, Frank C, '
paperURL: 'Paper: https://astro-sphere-demo.vercel.app'
codeURL: 'Code: https://astro-sphere-demo.vercel.app'
webURL: 'Web: https://github.com/markhorn-dev/astro-sphere'
img: '/rupert-cat.gif'
imgAlt: 'Paper Teaser'
pub: 'ECCV2024'
dataURL: 'Data: '
---

View file

@ -1,13 +0,0 @@
---
title: 'Paper Title1'
description: 'Lorem ipsum dolor sit amet consectetur adipisicing elit. '
date: '2024-07-26'
authors: 'John B*, Jon A*, Frank C, John B, Jon A, Frank C, '
paperURL: 'Paper: https://astro-sphere-demo.vercel.app'
codeURL: 'Code: https://astro-sphere-demo.vercel.app'
webURL: 'Web: https://github.com/markhorn-dev/astro-sphere'
img: '/rupert-cat.gif'
imgAlt: 'Paper Teaser'
pub: 'ECCV2024'
dataURL: 'Data: https://github.com/markhorn-dev/astro-sphere'
---

View file

@ -1,13 +0,0 @@
---
title: 'Paper Title1'
description: 'Your Paper Abstract'
date: '2024-03-26'
authors: 'John B*, Jon A*, Frank C, '
paperURL: 'Paper: https://astro-sphere-demo.vercel.app'
codeURL: 'Code: https://astro-sphere-demo.vercel.app'
webURL: 'Web: https://github.com/markhorn-dev/astro-sphere'
img: '/rupert-cat.gif'
imgAlt: 'Paper Teaser'
pub: 'ECCV2024'
dataURL: 'Data: '
---

View file

@ -17,7 +17,6 @@ const { title, description } = Astro.props
<html lang="en"> <html lang="en">
<head> <head>
<Head title={`${title} | ${SITE.TITLE}`} description={description} /> <Head title={`${title} | ${SITE.TITLE}`} description={description} />
<link rel="stylesheet" href="/path/to/your/global.css" />
</head> </head>
<body> <body>
<Header /> <Header />

View file

@ -7,22 +7,19 @@ import { Image } from 'astro:assets'
<Layout title="About" description="About"> <Layout title="About" description="About">
<Container> <Container>
<aside data-pagefind-ignore>
<div class="space-y-10"> <div class="space-y-10">
<div class="animate font-semibold text-black dark:text-white"> <div class="animate font-semibold text-black dark:text-white">About</div>
About
</div>
<section class="animate not-prose flex flex-col gap-4 text-justify"> <section class="animate not-prose flex flex-col gap-4 text-justify">
<p class="text-justify"> <p class="text-justify">
Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolores Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolores porro
porro hic minima incidunt explicabo obcaecati consectetur hic minima incidunt explicabo obcaecati consectetur consequuntur at
consequuntur at quisquam commodi. quisquam commodi.
</p> </p>
<p class="text-justify"> <p class="text-justify">
Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolores Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolores porro
porro hic minima incidunt explicabo obcaecati consectetur hic minima incidunt explicabo obcaecati consectetur consequuntur at
consequuntur at quisquam commodi. quisquam commodi.
</p> </p>
</section> </section>
@ -61,6 +58,5 @@ import { Image } from 'astro:assets'
</div> </div>
</div> </div>
</div> </div>
</aside>
</Container> </Container>
</Layout> </Layout>

View file

@ -0,0 +1,40 @@
---
import { type CollectionEntry, getCollection, getEntry } from "astro:content";
import Layout from "@layouts/Layout.astro";
import MemberCard from "@components/MemberCard.astro";
export async function getStaticPaths() {
const authors = await getCollection("authors");
return authors.map((member) => ({
params: { slug: member.slug },
props: { member },
}));
}
type Props = {
member: CollectionEntry<"authors">;
};
const { member } = Astro.props;
const allPosts = await getCollection("blog");
const memberPosts = allPosts
.filter((post) => {
if (typeof post.data.author === 'string') {
return post.data.author === member.data.name && !post.data.draft;
} else if (post.data.author && 'slug' in post.data.author) {
return post.data.author.slug === member.slug && !post.data.draft;
}
return false;
})
.sort((a, b) => b.data.date.valueOf() - a.data.date.valueOf());
---
<Layout
title={`${member.data.name} - Team Member`}
description={member.data.bio || `Profile of ${member.data.name}`}
>
<section class="mx-auto flex max-w-screen-xl flex-col gap-4">
<MemberCard member={member} />
</section>
</Layout>

View file

@ -0,0 +1,23 @@
---
import { getCollection } from "astro:content";
import Layout from "@layouts/Layout.astro";
import MemberCard from "@components/MemberCard.astro";
const authors = await getCollection("authors");
---
<Layout title="authors" description="authors">
<section>
<ul
class="animate not-prose grid grid-cols-1 gap-4 lg:grid-cols-2 xl:grid-cols-3"
>
{
authors.map((member) => (
<li>
<MemberCard member={member} />
</li>
))
}
</ul>
</section>
</Layout>

View file

@ -26,15 +26,12 @@ const years = Object.keys(posts).sort((a, b) => parseInt(b) - parseInt(a))
<Layout title="Blog" description="Blog"> <Layout title="Blog" description="Blog">
<Container> <Container>
<aside data-pagefind-ignore>
<div class="space-y-10"> <div class="space-y-10">
<div class="space-y-4"> <div class="space-y-4">
{ {
years.map((year) => ( years.map((year) => (
<section class="animate space-y-4"> <section class="animate space-y-4">
<div class="font-semibold text-black dark:text-white"> <div class="font-semibold text-black dark:text-white">{year}</div>
{year}
</div>
<div> <div>
<ul class="not-prose flex flex-col gap-4"> <ul class="not-prose flex flex-col gap-4">
{posts[year].map((post) => ( {posts[year].map((post) => (
@ -49,6 +46,5 @@ const years = Object.keys(posts).sort((a, b) => parseInt(b) - parseInt(a))
} }
</div> </div>
</div> </div>
</aside>
</Container> </Container>
</Layout> </Layout>

View file

@ -1,74 +0,0 @@
---
import { getCollection } from 'astro:content'
import Layout from '@layouts/Layout.astro'
import Container from '@components/Container.astro'
import CVCard from '@components/CVCard.astro'
// TO Modify
const works = [
{
company: 'Company A',
time: '2022-Present',
job_title: 'Research Scientist',
location: 'London, UK',
description: 'Your Notes about the job',
},
{
company: 'Company A',
time: '2022-Present',
job_title: 'Research Scientist',
location: 'London, UK',
description: 'Your Notes about the job',
},
]
const educations = [
{
school: 'University 1',
time: '2022-Present',
job_title: 'BEng in Electronic Information Engineering',
location: 'London, UK',
description: 'Your Notes about the study',
},
]
---
<Layout title="CV" description="CV">
<Container>
<aside data-pagefind-ignore>
<div class="space-y-2 md:space-y-10">
<div class="animate font-semibold text-black dark:text-white">
Work Experience
</div>
<ul class="animate not-prose flex flex-col gap-4">
{
works.map((work) => (
<CVCard
institution={work.company}
time={work.time}
job_title={work.job_title}
location={work.location}
description={work.description}
/>
))
}
</ul>
<div class="animate font-semibold text-black dark:text-white">
Education
</div>
<ul class="animate not-prose flex flex-col gap-4">
{
educations.map((education) => (
<CVCard
institution={education.school}
time={education.time}
job_title={education.job_title}
location={education.location}
description={education.description}
/>
))
}
</ul>
</div>
</aside>
</Container>
</Layout>

View file

@ -6,145 +6,19 @@ import ArrowCard from '@components/ArrowCard.astro'
import Link from '@components/Link.astro' import Link from '@components/Link.astro'
import { getCollection } from 'astro:content' import { getCollection } from 'astro:content'
import type { CollectionEntry } from 'astro:content' import type { CollectionEntry } from 'astro:content'
import PublicationCard from '@components/PublicationCard.astro'
import SocialIcons from '@components/SocialIcons.astro' import SocialIcons from '@components/SocialIcons.astro'
const blog = (await getCollection('blog')) const blog = (await getCollection('blog'))
.filter((post) => !post.data.draft) .filter((post) => !post.data.draft)
.sort((a, b) => b.data.date.valueOf() - a.data.date.valueOf()) .sort((a, b) => b.data.date.valueOf() - a.data.date.valueOf())
.slice(0, SITE.NUM_POSTS_ON_HOMEPAGE) .slice(0, SITE.NUM_POSTS_ON_HOMEPAGE)
const publications: CollectionEntry<'publications'>[] = (
await getCollection('publications')
)
.sort((a, b) => b.data.date.valueOf() - a.data.date.valueOf())
.slice(0, SITE.NUM_PUBLICATIONS_ON_HOMEPAGE)
--- ---
<Layout title="Home" description="Home"> <Layout title="Home" description="Home">
<Container> <Container>
<aside data-pagefind-ignore>
<h1 class="animate font-semibold text-black dark:text-white">
Astro Micro Academics 🍄
</h1>
<div class="space-y-16">
<section>
<article class="space-y-4">
<span class="animate">
<p>
Astro Micro Academics is a theme for <Link
href="https://astro.build/">Astro</Link
> and tailored for academic users and researchers. It's built on
<Link href="https://astro.build/themes/details/astro-micro/"
>Astro Micro</Link
> and
<Link href="https://github.com/markhorn-dev">
Mark Horn's
</Link> popular theme <Link
href="https://astro.build/themes/details/astronano/"
>Astro Nano</Link
>.
</p>
<p>
Micro Academics adds features like <span class="text-red-500"
>tags, and blog math support</span
> and also inherits <Link href="https://pagefind.app/"
>Pagefind</Link
> for search, <Link href="https://giscus.app">Giscus</Link> for comments,
from Astro Micro. See full changes this <Link
href="/blog/00-academic-astro">here</Link
>.
</p>
</span>
<span class="animate">
<p>
Micro Academics still comes with everything great about Micro
and Nano — full type safety, a sitemap, an RSS feed, and
Markdown + MDX support. Styled with TailwindCSS and
preconfigured with system, light, and dark themes.
</p>
<p>
Visit
<Link href="https://github.com/jingwu2121/astro-micro-academic">
Astro Micro Academics on GitHub
</Link>
to fork the repository to get started.
</p>
</span>
</article>
</section>
<section
class="animate space-y-2 border-2 border-dashed border-red-800 p-2 text-red-800 dark:border-red-400 dark:text-red-400"
>
📢📢 Your important Information (Open for job/Recruiting students)
</section>
<section class="animate space-y-6">
<span class="animate">
<h4 class="font-semibold text-black dark:text-white">
Let's Connect
</h4>
<article>
<p>
If you want to get in touch with me about something or just to
say hi, reach out on social media or send me an email.
</p>
</article>
<SocialIcons icon_size={'text-3xl'} />
</span>
</section>
<section class="animate space-y-6"> <section class="animate space-y-6">
<div class="flex flex-wrap items-center justify-between gap-y-2"> <div class="flex flex-wrap items-center justify-between gap-y-2">
<h2 class="font-semibold text-black dark:text-white"> <h2 class="font-semibold text-black dark:text-white">Latest posts</h2>
Research Interests
</h2>
</div>
<ul class="not-prose flex flex-col gap-4">
<li>3D Vision</li>
<li>AIGC</li>
</ul>
</section>
<section class="animate space-y-6">
<div class="flex flex-wrap items-center justify-between gap-y-2">
<h2 class="font-semibold text-black dark:text-white">News</h2>
</div>
<ul
class="not-prose scroll_bar flex max-h-[150px] flex-col gap-4 overflow-y-auto"
>
<li>[06/2024]: Your News1</li>
<li>[06/2024]: Your <span class="text-red-600">News2</span></li>
<li>[06/2024]: Your <span class="text-red-600">News2</span></li>
<!-- <li>[06/2024]: Your <span class="text-red-600">News2</span></li>
<li>[06/2024]: Your <span class="text-red-600">News2</span></li> -->
</ul>
</section>
<section class="animate space-y-6">
<div class="flex flex-wrap items-center justify-between gap-y-2">
<h2 class="font-semibold text-black dark:text-white">
Recent research
</h2>
<Link href="/publications"> See all research </Link>
</div>
<ul class="not-prose flex flex-col gap-4">
{
publications.map((publication) => (
<li>
<PublicationCard entry={publication} />
</li>
))
}
</ul>
</section>
<section class="animate space-y-6">
<div class="flex flex-wrap items-center justify-between gap-y-2">
<h2 class="font-semibold text-black dark:text-white">
Latest posts
</h2>
<Link href="/blog"> See all posts </Link> <Link href="/blog"> See all posts </Link>
</div> </div>
<ul class="not-prose flex flex-col gap-4"> <ul class="not-prose flex flex-col gap-4">
@ -157,7 +31,5 @@ const publications: CollectionEntry<'publications'>[] = (
} }
</ul> </ul>
</section> </section>
</div>
</aside>
</Container> </Container>
</Layout> </Layout>

View file

@ -1,32 +0,0 @@
---
import { getCollection } from 'astro:content'
import Layout from '@layouts/Layout.astro'
import Container from '@components/Container.astro'
import PublicationCard from '@components/PublicationCard.astro'
// import PublicationCard from "@components/PublicationCard";
const publications = (await getCollection('publications')).sort(
(a, b) => b.data.date.valueOf() - a.data.date.valueOf(),
)
---
<Layout title="Research" description="Research">
<Container>
<aside data-pagefind-ignore>
<div class="space-y-10">
<div class="animate font-semibold text-black dark:text-white">
Research
</div>
<ul class="animate not-prose flex flex-col gap-4">
{
publications.map((publication) => (
<li>
<PublicationCard entry={publication} />
</li>
))
}
</ul>
</div>
</aside>
</Container>
</Layout>

View file

@ -35,7 +35,6 @@ export async function getStaticPaths() {
description={`A collection of posts tagged with ${tag}.`} description={`A collection of posts tagged with ${tag}.`}
> >
<Container> <Container>
<aside data-pagefind-ignore>
<div class="space-y-10"> <div class="space-y-10">
<div class="animate font-semibold text-black dark:text-white"> <div class="animate font-semibold text-black dark:text-white">
Tag: <span Tag: <span
@ -59,6 +58,5 @@ export async function getStaticPaths() {
} }
</div> </div>
</div> </div>
</aside>
</Container> </Container>
</Layout> </Layout>

View file

@ -13,7 +13,6 @@ const tags = blog
<Layout title="Tags" description="Tags"> <Layout title="Tags" description="Tags">
<Container> <Container>
<aside data-pagefind-ignore>
<div class="space-y-10"> <div class="space-y-10">
<div class="animate font-semibold text-black dark:text-white">Tags</div> <div class="animate font-semibold text-black dark:text-white">Tags</div>
<ul class="flex flex-wrap"> <ul class="flex flex-wrap">
@ -31,6 +30,5 @@ const tags = blog
} }
</ul> </ul>
</div> </div>
</aside>
</Container> </Container>
</Layout> </Layout>

View file

@ -3,6 +3,5 @@ export type Site = {
DESCRIPTION: string DESCRIPTION: string
EMAIL: string EMAIL: string
NUM_POSTS_ON_HOMEPAGE: number NUM_POSTS_ON_HOMEPAGE: number
NUM_PUBLICATIONS_ON_HOMEPAGE: number
SITEURL: string SITEURL: string
} }