Compare commits
3 commits
258280730b
...
a5f89d33af
Author | SHA1 | Date | |
---|---|---|---|
a5f89d33af | |||
737a342c3b | |||
f452f0023b |
3 changed files with 18 additions and 12 deletions
12
app/robots.ts
Normal file
12
app/robots.ts
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
import type { MetadataRoute } from "next";
|
||||||
|
|
||||||
|
export default function robots(): MetadataRoute.Robots {
|
||||||
|
return {
|
||||||
|
rules: {
|
||||||
|
userAgent: "*",
|
||||||
|
allow: "/",
|
||||||
|
disallow: "/unsubscribe"
|
||||||
|
},
|
||||||
|
sitemap: `${process.env.NEXT_PUBLIC_WEBSITE_URL}/sitemap.xml`
|
||||||
|
};
|
||||||
|
}
|
|
@ -6,12 +6,6 @@ import { toHTML } from "@portabletext/to-html";
|
||||||
export const dynamic = "force-static";
|
export const dynamic = "force-static";
|
||||||
|
|
||||||
export async function GET() {
|
export async function GET() {
|
||||||
// Define the site URL based on the environment
|
|
||||||
const SITE_URL =
|
|
||||||
process.env.NODE_ENV === "production"
|
|
||||||
? `${process.env.NEXT_PUBLIC_WEBSITE_URL}`
|
|
||||||
: "http://localhost:3000";
|
|
||||||
|
|
||||||
const postsQuery = `*[_type == 'blog'] | order(_createdAt desc) {
|
const postsQuery = `*[_type == 'blog'] | order(_createdAt desc) {
|
||||||
title,
|
title,
|
||||||
"slug": slug.current,
|
"slug": slug.current,
|
||||||
|
@ -25,9 +19,9 @@ export async function GET() {
|
||||||
const feed = new RSS({
|
const feed = new RSS({
|
||||||
title: "SVR.JS Blog",
|
title: "SVR.JS Blog",
|
||||||
description: "Explore the latest blog posts from SVR.JS",
|
description: "Explore the latest blog posts from SVR.JS",
|
||||||
feed_url: `${SITE_URL}/rss.xml`,
|
feed_url: `${process.env.NEXT_PUBLIC_WEBSITE_URL}/rss.xml`,
|
||||||
site_url: `${SITE_URL}`,
|
site_url: `${process.env.NEXT_PUBLIC_WEBSITE_URL}`,
|
||||||
image_url: `${SITE_URL}/metadata/svrjs-cover.png`,
|
image_url: `${process.env.NEXT_PUBLIC_WEBSITE_URL}/metadata/svrjs-cover.png`,
|
||||||
language: "en-US",
|
language: "en-US",
|
||||||
pubDate: new Date().toUTCString()
|
pubDate: new Date().toUTCString()
|
||||||
});
|
});
|
||||||
|
@ -36,12 +30,12 @@ export async function GET() {
|
||||||
feed.item({
|
feed.item({
|
||||||
title: post.title,
|
title: post.title,
|
||||||
description: toHTML(post.content),
|
description: toHTML(post.content),
|
||||||
url: `${SITE_URL}/blog/${post.slug}`,
|
url: `${process.env.NEXT_PUBLIC_WEBSITE_URL}/blog/${post.slug}`,
|
||||||
date: new Date(post._createdAt).toUTCString(),
|
date: new Date(post._createdAt).toUTCString(),
|
||||||
enclosure: {
|
enclosure: {
|
||||||
url: post.titleImage
|
url: post.titleImage
|
||||||
? urlFor(post.titleImage).url()
|
? urlFor(post.titleImage).url()
|
||||||
: `${SITE_URL}/blog-missing.png`
|
: `${process.env.NEXT_PUBLIC_WEBSITE_URL}/blog-missing.png`
|
||||||
},
|
},
|
||||||
author: "SVR.JS"
|
author: "SVR.JS"
|
||||||
});
|
});
|
||||||
|
|
|
@ -81,7 +81,7 @@ const Newsletter = () => {
|
||||||
aria-label="Email Information"
|
aria-label="Email Information"
|
||||||
onSubmit={(e) => e.preventDefault()}
|
onSubmit={(e) => e.preventDefault()}
|
||||||
>
|
>
|
||||||
<div className="group flex items-center gap-x-4 pl-4 pr-1 rounded-[9px] bg-accent/80 hover:bg-accent shadow-outline-gray hover:shadow-transparent focus-within:bg-accent focus-within:!shadow-outline-gray-focus transition-all duration-300">
|
<div className="group flex items-center gap-x-4 pl-1 md:pl-4 pr-1 rounded-[9px] bg-accent/80 hover:bg-accent shadow-outline-gray hover:shadow-transparent focus-within:bg-accent focus-within:!shadow-outline-gray-focus transition-all duration-300">
|
||||||
<Mail className="hidden sm:inline w-6 h-6 text-[#4B4C52] group-focus-within:text-secondary-foreground group-hover:text-secondary-foreground transition-colors duration-300" />
|
<Mail className="hidden sm:inline w-6 h-6 text-[#4B4C52] group-focus-within:text-secondary-foreground group-hover:text-secondary-foreground transition-colors duration-300" />
|
||||||
<Input
|
<Input
|
||||||
value={input}
|
value={input}
|
||||||
|
|
Loading…
Reference in a new issue