Skip to content

Commit 4c6acc9

Browse files
Merge pull request #52 from pantharshit007/main
2 parents 336c0d6 + 7f7fec4 commit 4c6acc9

File tree

10 files changed

+99
-16
lines changed

10 files changed

+99
-16
lines changed

.coderabbit.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ reviews:
4040
- Correct formatting and grammar.
4141
- Any broken links or images.
4242
- check for if we have any new component additions it follows the same format as the other examples or the src/template/page.mdx.
43+
- If you are updating a component's documentation, please ensure you also update the `lastModified` date for that component in `src/data/navigation.ts`. This is crucial for SEO.
4344
- path: "src/components/**/*.tsx"
4445
instructions: |
4546
These are changes to UI components. Please check for:
@@ -64,4 +65,5 @@ reviews:
6465
- The necessity of any new dependencies.
6566
- Potential for conflicts or security vulnerabilities.
6667
- That the changes are reflected in the lock file.
68+
- For every new change (in the form of PR) should bump the version in package.json.
6769
Summarize the changes in package.json, focusing on new, updated, or removed dependencies.

Checklist.md

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,15 @@ Follow these steps to add a new component to the project. Each step includes det
1010

1111
- [ ] **Add your component to navigation:**
1212
Edit `src/data/navigation.ts`.
13-
Add an entry for your component with its name and href.
13+
Add an entry for your component with its name, href, and `lastModified` date.
1414
_Example:_
1515
```ts
16-
{ name: "Fancy Button", href: "/docs/fancy-button" }
16+
{ name: "Fancy Button", href: "/docs/fancy-button", lastModified: "2025-10-31T12:00:00+05:30" }
17+
```
18+
- [ ] **Add the `lastModified` date.** This is important for SEO. To get the date, you can use the following command in your terminal:
19+
```bash
20+
node
21+
new Date().toISOString()
1722
```
1823

1924
## 2. Component Source File

Todo.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717

1818
### SEO
1919

20-
- [ ] create `sitemap.xml` and `robots.txt`.
21-
- [ ] Add specific metadata to the landing page.
22-
- [ ] Add specific metadata to MDX pages.
23-
- [ ] Review and update `site.ts` and ensure all the information is accurate and complete. The `fallbackURL` should be updated to the production URL.
20+
- [x] create `sitemap.xml` and `robots.txt`.
21+
- [x] Add specific metadata to the landing page.
22+
- [x] Add specific metadata to MDX pages.
23+
- [x] Review and update `site.ts` and ensure all the information is accurate and complete. The `fallbackURL` should be updated to the production URL.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "aether-ui",
3-
"version": "0.1.8",
3+
"version": "0.1.9",
44
"private": true,
55
"scripts": {
66
"dev": "next dev --turbopack",

public/robots.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
User-agent: *
2+
Allow: /
3+
Sitemap: https://aetherui.in/sitemap.xml

src/app/(marketing)/page.tsx

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,35 @@
11
import Hero from "@/components/landing/Hero";
22
import LandingHeader from "@/components/landing/header";
33
import Footer from "@/components/landing/Footer";
4+
import { metaConfig, siteConfig } from "@/config/site";
5+
6+
export const metadata = metaConfig({
7+
title: "Aether/UI - Beautifully designed, animated components for your next product.",
8+
description:
9+
"Aether/ui is a collection of beautiful, animated components for your next product, built with Motion and Tailwind CSS.",
10+
isRoot: true,
11+
});
12+
13+
const structuredData = {
14+
"@context": "https://schema.org",
15+
"@type": "WebSite",
16+
url: siteConfig.url,
17+
name: siteConfig.name,
18+
description: siteConfig.description,
19+
publisher: {
20+
"@type": "Person",
21+
name: "pantharhsit007",
22+
url: "https://hrshit.in",
23+
},
24+
};
425

526
export default function Home() {
627
return (
728
<div className="relative">
29+
<script
30+
type="application/ld+json"
31+
dangerouslySetInnerHTML={{ __html: JSON.stringify(structuredData) }}
32+
/>
833
<LandingHeader />
934
<Hero />
1035
<Footer />

src/app/sitemap.ts

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
import { MetadataRoute } from "next";
2+
import { NavigationLinks } from "@/data/navigation";
3+
import { siteConfig } from "@/config/site";
4+
5+
const URL = siteConfig.url;
6+
7+
export default function sitemap(): MetadataRoute.Sitemap {
8+
const staticRoutes = [
9+
{
10+
url: `${URL}/`,
11+
lastModified: "2025-10-31T13:22:44+05:30",
12+
},
13+
{
14+
url: `${URL}/community`,
15+
lastModified: "2025-03-29T19:57:56+05:30",
16+
},
17+
{
18+
url: `${URL}/showcase`,
19+
lastModified: "2025-03-29T19:57:56+05:30",
20+
},
21+
];
22+
23+
const componentRoutes = NavigationLinks.flatMap((group) =>
24+
group.children.map((item) => ({
25+
url: `${URL}${item.href}`,
26+
lastModified: item.lastModified || new Date().toISOString(),
27+
}))
28+
);
29+
30+
return [...staticRoutes, ...componentRoutes];
31+
}

src/components/landing/Hero.tsx

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ function Hero() {
3737
src={src}
3838
className="absolute inset-0 h-full w-full object-cover"
3939
fill
40-
alt="hero-bg-image"
40+
alt="Abstract background image for the hero section of Aether/UI."
4141
priority
4242
placeholder="empty"
4343
/>
@@ -50,15 +50,15 @@ function Hero() {
5050
transition={variant.transition}
5151
className="mx-auto -mt-12 flex w-fit max-w-screen-lg flex-col justify-center"
5252
>
53-
<div className="font-instrument-serif text-5xl font-bold tracking-tight text-transparent md:text-6xl lg:text-7xl xl:text-[5rem] xl:leading-[1]">
54-
<p className="landing-gradient">
53+
<h1 className="font-instrument-serif text-5xl font-bold tracking-tight text-transparent md:text-6xl lg:text-7xl xl:text-[5rem] xl:leading-[1]">
54+
<span className="landing-gradient block">
5555
Build <span className="text-shadow-glow text-cyan-900">Fast.</span> Animate{" "}
5656
<span className="text-shadow-glow text-cyan-900">Bold.</span>
57-
</p>
58-
<p className="landing-gradient pb-1.5">
57+
</span>
58+
<span className="landing-gradient block pb-1.5">
5959
Ship <span className="text-shadow-glow text-cyan-900">Beautiful.</span>
60-
</p>
61-
</div>
60+
</span>
61+
</h1>
6262

6363
<p className="font-bricolage-grotesque text-shadow-glow-2 mx-auto mt-2.5 text-center text-base tracking-tight text-zinc-200 md:w-[70%] md:text-lg">
6464
Breathe life into your website with beautifully designed animated components, a

src/config/site.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,10 @@ const formatName = (name: string) => {
2525
export interface MetaConfigProps {
2626
title: string;
2727
description: string;
28+
isRoot?: boolean;
2829
}
2930

30-
const fallbackURL = "https://ui-aether.vercel.app";
31+
const fallbackURL = "https://aetherui.in";
3132

3233
/**
3334
* @param title: Metadata["title"];
@@ -36,6 +37,7 @@ const fallbackURL = "https://ui-aether.vercel.app";
3637
export const metaConfig = ({
3738
title = siteConfig.name,
3839
description = siteConfig.description,
40+
isRoot = false,
3941
}: MetaConfigProps): Metadata => ({
4042
title,
4143
description,
@@ -65,7 +67,7 @@ export const metaConfig = ({
6567
title,
6668
description,
6769
siteName: siteConfig.name,
68-
url: `${siteConfig.url}/docs/${formatName(title)}`,
70+
url: isRoot ? siteConfig.url : `${siteConfig.url}/docs/${formatName(title)}`,
6971
locale: "en_US",
7072
images: [
7173
{

src/data/navigation.ts

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ export type NavigationItem = {
33
href: string;
44
isNew?: boolean;
55
isUpdated?: boolean;
6+
lastModified?: string;
67
};
78

89
type NavigationGroup = {
@@ -17,10 +18,12 @@ export const NavigationLinks: NavigationGroup[] = [
1718
{
1819
name: "Introduction",
1920
href: "/docs",
21+
lastModified: "2025-04-19T02:27:15+05:30",
2022
},
2123
{
2224
name: "Installation",
2325
href: "/docs/installation",
26+
lastModified: "2025-06-21T14:25:42+05:30",
2427
},
2528
],
2629
},
@@ -30,35 +33,43 @@ export const NavigationLinks: NavigationGroup[] = [
3033
{
3134
name: "Button",
3235
href: "/docs/button",
36+
lastModified: "2025-10-13T00:55:14+05:30",
3337
},
3438
{
3539
name: "Hover Card",
3640
href: "/docs/hover-card",
41+
lastModified: "2025-10-13T00:55:14+05:30",
3742
},
3843
{
3944
name: "Morphing Card",
4045
href: "/docs/morphing-card",
46+
lastModified: "2025-10-13T00:55:14+05:30",
4147
},
4248
{
4349
name: "Feedback Modal",
4450
href: "/docs/feedback-modal",
51+
lastModified: "2025-10-13T00:55:14+05:30",
4552
},
4653
{
4754
name: "Bento Grid",
4855
href: "/docs/bento-grid",
56+
lastModified: "2025-10-13T00:55:14+05:30",
4957
},
5058
{
5159
name: "Mouse Trailer",
5260
href: "/docs/mouse-trailer",
61+
lastModified: "2025-10-13T00:55:14+05:30",
5362
},
5463
{
5564
name: "Help Desk",
5665
href: "/docs/help-desk",
66+
lastModified: "2025-10-13T00:55:14+05:30",
5767
},
5868
{
5969
name: "Scroll Indicator",
6070
href: "/docs/scroll-indicator",
6171
isNew: true,
72+
lastModified: "2025-10-23T02:49:32+05:30",
6273
},
6374
],
6475
},
@@ -68,15 +79,18 @@ export const NavigationLinks: NavigationGroup[] = [
6879
{
6980
name: "Fuzzy Text",
7081
href: "/docs/fuzzy-text",
82+
lastModified: "2025-10-13T00:55:14+05:30",
7183
},
7284
{
7385
name: "Smooth Slider",
7486
href: "/docs/smooth-slider",
87+
lastModified: "2025-10-13T00:55:14+05:30",
7588
},
7689
{
7790
name: "Thinking Loader",
7891
href: "/docs/thinking-loader",
7992
isNew: true,
93+
lastModified: "2025-10-22T16:00:03+05:30",
8094
},
8195
],
8296
},
@@ -87,6 +101,7 @@ export const NavigationLinks: NavigationGroup[] = [
87101
name: "Tilted Carousel",
88102
href: "/docs/tilted-carousel",
89103
isNew: true,
104+
lastModified: "2025-10-13T02:21:26+05:30",
90105
},
91106
],
92107
},

0 commit comments

Comments
 (0)