mirror of
https://github.com/ChenQihan666/MyBlog-Next.git
synced 2026-08-14 11:29:33 +08:00
Create Tag component
This commit is contained in:
@@ -0,0 +1,39 @@
|
|||||||
|
---
|
||||||
|
export interface Props {
|
||||||
|
name: string;
|
||||||
|
size?: "sm" | "lg";
|
||||||
|
}
|
||||||
|
|
||||||
|
const { name, size = "sm" } = Astro.props;
|
||||||
|
|
||||||
|
const slug = ((str: string) =>
|
||||||
|
str
|
||||||
|
.toLowerCase()
|
||||||
|
.replace(/ /g, "-")
|
||||||
|
.replace(/[^\w-]+/g, ""))(name);
|
||||||
|
---
|
||||||
|
|
||||||
|
<li class="inline-block my-1">
|
||||||
|
<a
|
||||||
|
href={`/tags/${slug}`}
|
||||||
|
class={`${size === "sm" ? "py-1 px-2 text-sm" : "p-2 text-lg"}`}
|
||||||
|
>
|
||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
class={`${size === "sm" ? " scale-75" : "scale-125"}`}
|
||||||
|
><path
|
||||||
|
d="M20 4H8.515a2 2 0 0 0-1.627.838l-4.701 6.581a.997.997 0 0 0 0 1.162l4.701 6.581A2 2 0 0 0 8.515 20H20c1.103 0 2-.897 2-2V6c0-1.103-.897-2-2-2zm0 14H8.515l-4.286-6 4.286-6H20v12z"
|
||||||
|
></path>
|
||||||
|
</svg>
|
||||||
|
<span>{name}</span>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
a {
|
||||||
|
@apply bg-skin-card hover:bg-skin-card-muted rounded;
|
||||||
|
}
|
||||||
|
a svg {
|
||||||
|
@apply w-6 h-6 text-skin-base scale-75;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
Reference in New Issue
Block a user