From 2a576c8ff30c5ca792162d294d3de7bcb77e1a90 Mon Sep 17 00:00:00 2001
From: Kinfe Michael Tariku <65047246+Kinfe123@users.noreply.github.com>
Date: Fri, 27 Sep 2024 15:50:44 +0300
Subject: [PATCH] Og image generator and small fix (#4)
* feat: og and ui
* fix: lines and border issue
* fix: changelog ux
* fix: better
* fix: ui revamp
* feat: og image and small fix
* fix: docs and parsing
---
docs/README.md | 1 +
docs/app/api/og/route.tsx | 345 +
.../_components/changelog-layout.tsx | 212 +-
docs/app/changelogs/_logs/2024-08-09.tsx | 39 +
docs/app/changelogs/page.tsx | 38 +-
docs/app/docs/[[...slug]]/page.tsx | 108 +-
docs/app/layout.tsx | 1 +
docs/app/page.tsx | 30 +-
docs/app/robots.ts | 10 +
docs/assets/Geist.ttf | Bin 0 -> 106024 bytes
docs/assets/GeistMono.ttf | Bin 0 -> 114088 bytes
docs/components/beta/badge.module.css | 88 +-
docs/components/beta/badge.tsx | 16 +-
docs/components/display-techstack.tsx | 66 +-
docs/components/features.tsx | 390 +-
docs/components/landing/hero.tsx | 5 +-
docs/components/landing/section-svg.tsx | 1 +
docs/components/landing/section.tsx | 68 +-
docs/components/nav-bar.tsx | 90 +-
docs/content/docs/authentication/apple.mdx | 26 +-
docs/lib/utils.ts | 5 +-
docs/package.json | 1 +
pnpm-lock.yaml | 18065 +++++++++++++++-
23 files changed, 19048 insertions(+), 557 deletions(-)
create mode 100644 docs/README.md
create mode 100644 docs/app/api/og/route.tsx
create mode 100644 docs/app/changelogs/_logs/2024-08-09.tsx
create mode 100644 docs/app/robots.ts
create mode 100644 docs/assets/Geist.ttf
create mode 100644 docs/assets/GeistMono.ttf
diff --git a/docs/README.md b/docs/README.md
new file mode 100644
index 00000000..7e709885
--- /dev/null
+++ b/docs/README.md
@@ -0,0 +1 @@
+# Better-auth docs site
diff --git a/docs/app/api/og/route.tsx b/docs/app/api/og/route.tsx
new file mode 100644
index 00000000..771c10b2
--- /dev/null
+++ b/docs/app/api/og/route.tsx
@@ -0,0 +1,345 @@
+import { ImageResponse } from "@vercel/og";
+import { z } from "zod";
+import { Plus } from "lucide-react";
+export const runtime = "edge";
+const ogSchema = z.object({
+ heading: z.string(),
+ mode: z.string(),
+ type: z.string(),
+});
+// Use this example object to work with og image generator
+
+// const ogData = {
+// heading: "This is a test heading for the page",
+// mode: "dark",
+// type: "documentation",
+// };
+function GridPattern({
+ width = 40,
+ height = 40,
+ x = -1,
+ y = -1,
+ squares,
+ strokeDasharray = "1 1 1",
+}: {
+ width?: number;
+ height?: number;
+ x?: number;
+ y?: number;
+ squares?: [number, number][];
+ strokeDasharray?: string;
+}) {
+ const id = Math.random().toString(36).substr(2, 9);
+
+ return (
+
+
+
+
+
+
+
+
+
+
+
+
+ {squares && (
+
+ {squares.map(([squareX, squareY]) => (
+
+ ))}
+
+ )}
+
+ );
+}
+
+export async function GET(req: Request) {
+ try {
+ const geist = await fetch(
+ new URL("../../../assets/Geist.ttf", import.meta.url),
+ ).then((res) => res.arrayBuffer());
+ const geistMono = await fetch(
+ new URL("../../../assets/GeistMono.ttf", import.meta.url),
+ ).then((res) => res.arrayBuffer());
+
+ const url = new URL(req.url);
+ const urlParamsValues = Object.fromEntries(url.searchParams);
+ // this is used with the above example
+ // const validParams = ogSchema.parse(ogData);
+ const validParams = ogSchema.parse(urlParamsValues);
+ console.log({ urlParamsValues });
+ console.log("THE VALUD PARAMS: ", { validParams });
+ const { heading, type, mode } = validParams;
+ const trueHeading =
+ heading.length > 140 ? `${heading.substring(0, 140)}...` : heading;
+
+ const paint = mode === "dark" ? "#fff" : "#000";
+
+ const fontSize = trueHeading.length > 100 ? "30px" : "60px";
+ return new ImageResponse(
+ (
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {type}
+
+
+ {trueHeading}
+
+
+
+
+ Better Auth
+
+
+
+
+
+
+
+ github.com/better-auth/better-auth
+
+
+
+
+
+ ),
+ {
+ width: 1200,
+ height: 630,
+ fonts: [
+ {
+ name: "Geist",
+ data: geist,
+ weight: 400,
+ style: "normal",
+ },
+ {
+ name: "GeistMono",
+ data: geistMono,
+ weight: 700,
+ style: "normal",
+ },
+ ],
+ },
+ );
+ } catch (err) {
+ console.log({ err });
+
+ return new Response("Failed to generate the og image", { status: 500 });
+ }
+}
diff --git a/docs/app/changelogs/_components/changelog-layout.tsx b/docs/app/changelogs/_components/changelog-layout.tsx
index ea06a8ba..0c67a649 100644
--- a/docs/app/changelogs/_components/changelog-layout.tsx
+++ b/docs/app/changelogs/_components/changelog-layout.tsx
@@ -6,135 +6,135 @@ import { useId } from "react";
import clsx from "clsx";
function BookIcon(props: React.ComponentPropsWithoutRef<"svg">) {
- return (
-
-
-
- );
+ return (
+
+
+
+ );
}
function GitHubIcon(props: React.ComponentPropsWithoutRef<"svg">) {
- return (
-
-
-
- );
+ return (
+
+
+
+ );
}
function FeedIcon(props: React.ComponentPropsWithoutRef<"svg">) {
- return (
-
-
-
- );
+ return (
+
+
+
+ );
}
function XIcon(props: React.ComponentPropsWithoutRef<"svg">) {
- return (
-
-
-
- );
+ return (
+
+
+
+ );
}
export function Intro() {
- return (
- <>
-
-
- {/* */}
-
-
-
- All of the changes made will be{" "}
- available here.
-
-
- Better Auth is advanced authentication library for typescript packed by
- customizable and extendible plugin ecosystem
-
-
-
-
- Documentation
-
-
- GitHub
-
-
- RSS
-
-
- >
- );
+ return (
+ <>
+
+
+ {/* */}
+
+
+
+ All of the changes made will be{" "}
+ available here.
+
+
+ Better Auth is advanced authentication library for typescript packed by
+ customizable and extendible plugin ecosystem
+
+
+
+
+ Documentation
+
+
+ GitHub
+
+
+ RSS
+
+
+ >
+ );
}
export function IntroFooter() {
- return (
-
- Brought to you by{" "}
-
- BETTER-AUTH.
-
-
- );
+ return (
+
+ Brought to you by{" "}
+
+ BETTER-AUTH.
+
+
+ );
}
export function SignUpForm() {
- let id = useId();
+ let id = useId();
- return (
-
- );
+
+
+
+ );
}
export function IconLink({
- children,
- className,
- compact = false,
- icon: Icon,
- ...props
+ children,
+ className,
+ compact = false,
+ icon: Icon,
+ ...props
}: React.ComponentPropsWithoutRef & {
- compact?: boolean;
- icon?: React.ComponentType<{ className?: string }>;
+ compact?: boolean;
+ icon?: React.ComponentType<{ className?: string }>;
}) {
- return (
-
-
- {Icon && }
-
- {children}
-
-
- );
+ return (
+
+
+ {Icon && }
+
+ {children}
+
+
+ );
}
diff --git a/docs/app/changelogs/_logs/2024-08-09.tsx b/docs/app/changelogs/_logs/2024-08-09.tsx
new file mode 100644
index 00000000..4fa49402
--- /dev/null
+++ b/docs/app/changelogs/_logs/2024-08-09.tsx
@@ -0,0 +1,39 @@
+import { AnimatePresence } from "@/components/ui/fade-in"
+
+const ChangelogOne = () => {
+ return (
+
+
+
+
+
+ Commit message suggestions
+
+
+
+ In the latest release, I've added support for commit message and description suggestions via an integration with OpenAI. Commit looks at all of your changes, and feeds that into the machine with a bit of prompt-tuning to get back a commit message that does a surprisingly good job at describing the intent of your changes.
+ It's also been a pretty helpful way to remind myself what the hell I was working on at the end of the day yesterday when I get back to my computer and realize I didn't commit any of my work.
+
+
+
Improvement
+
+
+
+ Added commit message and description suggestions powered by OpenAI
+
+
+ Started commit message and description suggestions powered by OpenAI
+
+
+
+ Restored message and description suggestions powered by OpenAI
+
+
+ Added commit message and description suggestions powered by OpenAI
+
+
+
+
+ )
+}
+export default ChangelogOne
\ No newline at end of file
diff --git a/docs/app/changelogs/page.tsx b/docs/app/changelogs/page.tsx
index 8dca64cf..69ef5f02 100644
--- a/docs/app/changelogs/page.tsx
+++ b/docs/app/changelogs/page.tsx
@@ -2,24 +2,24 @@ import { AnimatePresence } from "@/components/ui/fade-in";
import { Logs } from "./_logs";
import { FormattedDate } from "./_components/fmt-dates";
const ChangelogPage = () => {
- return (
-
-
- {Logs.map((log) => {
- return (
-
- );
- })}
-
-
- );
+ return (
+
+
+ {Logs.map((log) => {
+ return (
+
+ );
+ })}
+
+
+ );
};
export default ChangelogPage;
diff --git a/docs/app/docs/[[...slug]]/page.tsx b/docs/app/docs/[[...slug]]/page.tsx
index 6e0efe27..bc648c96 100644
--- a/docs/app/docs/[[...slug]]/page.tsx
+++ b/docs/app/docs/[[...slug]]/page.tsx
@@ -2,58 +2,84 @@ import { getPage, getPages } from "@/app/source";
import type { Metadata } from "next";
import { DocsPage, DocsBody, DocsTitle } from "fumadocs-ui/page";
import { notFound } from "next/navigation";
+import { absoluteUrl } from "@/lib/utils";
export default async function Page({
- params,
+ params,
}: {
- params: { slug?: string[] };
+ params: { slug?: string[] };
}) {
- const page = getPage(params.slug);
+ const page = getPage(params.slug);
- if (page == null) {
- notFound();
- }
+ if (page == null) {
+ notFound();
+ }
+ const MDX = page.data.exports.default;
- const MDX = page.data.exports.default;
-
- return (
- ,
- }}
- footer={{
- enabled: false,
- }}
- >
- {page.data.title}
-
-
-
-
- );
+ return (
+ ,
+ }}
+ footer={{
+ enabled: false,
+ }}
+ >
+ {page.data.title}
+
+
+
+
+ );
}
export async function generateStaticParams() {
- return getPages().map((page) => ({
- slug: page.slugs,
- }));
+ return getPages().map((page) => ({
+ slug: page.slugs,
+ }));
}
export function generateMetadata({ params }: { params: { slug?: string[] } }) {
- const page = getPage(params.slug);
+ const page = getPage(params.slug);
+ if (page == null) notFound();
+ const baseUrl = process.env.NEXT_APP_PUBLIC_URL;
+ const url = new URL(`${baseUrl}/api/og`);
+ const { title, description } = page.data;
+ const pageSlug = page.file.path;
+ url.searchParams.set("type", "Documentation");
+ url.searchParams.set("mode", "dark");
+ url.searchParams.set("heading", `${title}`);
- if (page == null) notFound();
-
- return {
- title: page.data.title,
- description: page.data.description,
- } satisfies Metadata;
+ return {
+ title,
+ description,
+ openGraph: {
+ title,
+ description,
+ type: "Documentation",
+ url: absoluteUrl(`docs/${pageSlug}`),
+ images: [
+ {
+ url: url.toString(),
+ width: 1200,
+ height: 630,
+ alt: title,
+ },
+ ],
+ },
+ twitter: {
+ card: "summary_large_image",
+ title,
+ description,
+ images: [url.toString()],
+ },
+ };
}
diff --git a/docs/app/layout.tsx b/docs/app/layout.tsx
index d9b9fdf6..30e40fa4 100644
--- a/docs/app/layout.tsx
+++ b/docs/app/layout.tsx
@@ -41,6 +41,7 @@ export default function Layout({ children }: { children: ReactNode }) {
Github.
{" "}
+
diff --git a/docs/app/page.tsx b/docs/app/page.tsx
index 7c2abddf..6b250a32 100644
--- a/docs/app/page.tsx
+++ b/docs/app/page.tsx
@@ -2,19 +2,19 @@ import Section from "@/components/landing/section";
import Hero from "@/components/landing/hero";
import Features from "@/components/features";
export default function HomePage() {
- return (
-
-
-
- );
+ return (
+
+
+
+ );
}
diff --git a/docs/app/robots.ts b/docs/app/robots.ts
new file mode 100644
index 00000000..fc42c639
--- /dev/null
+++ b/docs/app/robots.ts
@@ -0,0 +1,10 @@
+import { MetadataRoute } from "next";
+
+export default function robots(): MetadataRoute.Robots {
+ return {
+ rules: {
+ userAgent: "*",
+ allow: "/",
+ },
+ };
+}
diff --git a/docs/assets/Geist.ttf b/docs/assets/Geist.ttf
new file mode 100644
index 0000000000000000000000000000000000000000..90d2c7179ab0604fae58e25241536a3895b036f1
GIT binary patch
literal 106024
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