2024-06-15 19:24:54 +02:00
|
|
|
import React from "react";
|
2024-06-22 10:30:51 +02:00
|
|
|
import { Metadata } from "next";
|
2024-08-03 11:06:50 +02:00
|
|
|
import BlogCards from "@/components/cards/BlogCards";
|
2024-08-29 17:56:11 +02:00
|
|
|
import { Rss } from "lucide-react";
|
|
|
|
import { Button } from "@/components/ui/button";
|
|
|
|
import Link from "next/link";
|
2024-06-15 19:24:54 +02:00
|
|
|
|
2024-09-07 15:58:16 +02:00
|
|
|
export const dynamic = "force-static";
|
|
|
|
|
2024-06-22 10:30:51 +02:00
|
|
|
export const metadata: Metadata = {
|
2024-09-07 09:39:26 +02:00
|
|
|
title: "Blog - SVR.JS",
|
2024-09-07 09:12:48 +02:00
|
|
|
description:
|
2024-11-25 08:42:23 +01:00
|
|
|
"Welcome to the SVR.JS Blog! Discover web development, security tips, and server admin insights. Stay updated with the latest SVR.JS news!",
|
2024-11-25 07:11:36 +01:00
|
|
|
alternates: { canonical: `${process.env.NEXT_PUBLIC_WEBSITE_URL}/blog` },
|
2024-09-07 09:12:48 +02:00
|
|
|
openGraph: {
|
2024-09-07 09:39:26 +02:00
|
|
|
title: "Blog - SVR.JS",
|
2024-09-07 09:12:48 +02:00
|
|
|
description:
|
2024-11-25 08:42:23 +01:00
|
|
|
"Welcome to the SVR.JS Blog! Discover web development, security tips, and server admin insights. Stay updated with the latest SVR.JS news!",
|
2024-09-08 13:16:43 +02:00
|
|
|
url: `${process.env.NEXT_PUBLIC_WEBSITE_URL}/blog`,
|
2024-09-07 09:12:48 +02:00
|
|
|
type: "website",
|
|
|
|
images: [
|
|
|
|
{
|
2024-09-08 13:16:43 +02:00
|
|
|
url: `${process.env.NEXT_PUBLIC_WEBSITE_URL}/metadata/svrjs-cover.png`,
|
2024-09-07 09:12:48 +02:00
|
|
|
width: 800,
|
|
|
|
height: 600,
|
2024-09-07 09:39:26 +02:00
|
|
|
alt: "Blog - SVR.JS"
|
2024-09-07 09:12:48 +02:00
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
twitter: {
|
|
|
|
card: "summary_large_image",
|
|
|
|
site: "@SVR_JS",
|
2024-09-07 09:39:26 +02:00
|
|
|
title: "Blog - SVR.JS",
|
2024-09-07 09:12:48 +02:00
|
|
|
description:
|
2024-11-25 08:42:23 +01:00
|
|
|
"Welcome to the SVR.JS Blog! Discover web development, security tips, and server admin insights. Stay updated with the latest SVR.JS news!",
|
2024-09-08 13:16:43 +02:00
|
|
|
images: [`${process.env.NEXT_PUBLIC_WEBSITE_URL}/metadata/svrjs-cover.png`],
|
2024-09-07 09:12:48 +02:00
|
|
|
creator: "@SVR_JS"
|
|
|
|
}
|
2024-06-22 10:30:51 +02:00
|
|
|
};
|
2024-08-08 11:21:56 +02:00
|
|
|
|
2024-09-07 14:24:30 +02:00
|
|
|
const BlogPage = async () => {
|
2024-09-07 09:12:48 +02:00
|
|
|
return (
|
|
|
|
<section
|
|
|
|
id="blog"
|
|
|
|
className="wrapper container py-24 md:py-28 gap-2 flex-center flex-col"
|
|
|
|
>
|
2024-09-07 19:15:48 +02:00
|
|
|
<h1 className="text-3xl md:text-5xl pb-1 md:pb-2 font-bold text-black dark:bg-clip-text dark:text-transparent dark:bg-gradient-to-b dark:from-white dark:to-neutral-400">
|
2024-09-07 17:43:44 +02:00
|
|
|
SVR.JS Blog
|
2024-09-07 09:12:48 +02:00
|
|
|
</h1>
|
|
|
|
<p className="text-muted-foreground flex-center mb-2">
|
2024-09-07 17:43:44 +02:00
|
|
|
Our blog has web development, web server administration, and web
|
|
|
|
application security tips.
|
2024-09-07 09:12:48 +02:00
|
|
|
<Link href="/rss.xml" rel="alternate" type="application/rss+xml">
|
|
|
|
<Button variant={"link"} className="mx-0 px-2">
|
|
|
|
<Rss className="w-5 h-5 mr-1" /> RSS feed
|
|
|
|
</Button>
|
|
|
|
</Link>
|
|
|
|
</p>
|
2024-09-07 14:24:30 +02:00
|
|
|
<BlogCards page={1} />
|
2024-09-07 09:12:48 +02:00
|
|
|
</section>
|
|
|
|
);
|
2024-06-15 19:24:54 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
export default BlogPage;
|