+
+
+
{post.frontMatter.title}
{post.frontMatter.date && (
-
- {formatDate(post.frontMatter.date)}
-
+ {formatDate(post.frontMatter.date)}
)}
-
+
+
+
{mdx && (
)}
+
+
+
)
}
diff --git a/app/(marketing)/blog/page.tsx b/app/(marketing)/blog/page.tsx
index f9e4562..c4ba1a5 100644
--- a/app/(marketing)/blog/page.tsx
+++ b/app/(marketing)/blog/page.tsx
@@ -2,29 +2,33 @@ import Link from "next/link"
import { Blog } from "@/lib/mdx/sources"
import { formatDate } from "@/lib/utils"
-import { Icons } from "@/components/icons"
export default async function BlogPage() {
const posts = await Blog.getAllMdxNodes()
return (
-
-
- Blog
-
-
- A blog built using MDX content. I copied some sample blog posts from my{" "}
-
- personal site
-
- .
-
-
+
+
+
+ Blog
+
+
+ A blog built using MDX content. I copied some sample blog posts from
+ my{" "}
+
+ personal site
+
+ .
+
+
+
+
+
{posts.map((post) => (
-
+
{post.frontMatter.title}
@@ -37,7 +41,9 @@ export default async function BlogPage() {
{post.frontMatter.excerpt && (
{post.frontMatter.excerpt}
)}
-
+
+
+
))}
diff --git a/app/(marketing)/layout.tsx b/app/(marketing)/layout.tsx
index 65b4a0d..39c7a74 100644
--- a/app/(marketing)/layout.tsx
+++ b/app/(marketing)/layout.tsx
@@ -7,24 +7,41 @@ interface MarketingLayoutProps {
export default function MarketingLayout({ children }: MarketingLayoutProps) {
return (
-
-
-
+
+
+
- Taxonomy
+ Taxonomy
-
-
- Login
-
+
+
+ Login
+
+
- {children}
+ {children}
)
}
diff --git a/app/(marketing)/page.tsx b/app/(marketing)/page.tsx
index a23c564..fd432bf 100644
--- a/app/(marketing)/page.tsx
+++ b/app/(marketing)/page.tsx
@@ -1,33 +1,149 @@
-import { Icons } from "@/components/icons"
-import Image from "next/image"
import Link from "next/link"
+import { Icons } from "@/components/icons"
+
export default function IndexPage() {
return (
-
-
-
- Publishing Platform for Everyone
-
-
- A Next.js 13 application built using layouts, server components and
- everything new in React 18.
-
-
- Get Started
-
-
+ <>
+
+
+
+ Follow the development on Twitter
+
+
+
+
+
+ Publishing Platform for Everyone
+
+
+ An open source application built using the new router, server
+ components and everything new in Next.js 13.
+
+
+
+
+ Get Started
+
+
+
+ GitHub
+
+
+
+
+
-
-
+
+
+
+ Features
+
+
+ This project is as an experiment to see how a modern app, with
+ features like authentication, subscriptions, API routes, and static
+ pages, would work in Next.js 13.
+
+
+
+
+
+
+
+ Next.js 13
+
+ App dir, Routing, Layouts, Loading UI and API routes.
+
+
+
+
+
+
+
+
+ React 18
+
+ Server and Client Components. Use hook.
+
+
+
+
+
+
+
+
+ Database
+
+ ORM using Prisma and deployed on PlanetScale.
+
+
+
+
+
+
+
+
+ Components
+
+ UI components built using Radix UI and styled with Tailwind
+ CSS.
+
+
+
+
+
+
+
+
+ Authentication
+
+ Authentication using NextAuth.js and middlewares.
+
+
+
+
+
+
+
+
+ Subscriptions
+
+ Free and paid subscriptions using Stripe.
+
+
+
+
+
+
+ >
)
}
diff --git a/components/icons.tsx b/components/icons.tsx
index a9027a0..4500cc4 100644
--- a/components/icons.tsx
+++ b/components/icons.tsx
@@ -5,6 +5,7 @@ import {
Command,
File,
FileText,
+ Github,
HelpCircle,
Image,
Loader2,
@@ -35,4 +36,5 @@ export const Icons = {
arrowRight: ArrowRight,
help: HelpCircle,
pizza: Pizza,
+ gitHub: Github,
}
diff --git a/tailwind.config.js b/tailwind.config.js
index 360faf7..158b7d1 100644
--- a/tailwind.config.js
+++ b/tailwind.config.js
@@ -8,6 +8,10 @@ module.exports = {
"./ui/**/*.{ts,tsx}",
],
theme: {
+ container: {
+ center: true,
+ padding: "1.5rem",
+ },
extend: {
colors: {
...colors,
{post.frontMatter.title}
{post.frontMatter.date && ( -- {formatDate(post.frontMatter.date)} -
+{formatDate(post.frontMatter.date)}
)}+
+
+
- Blog -
-- A blog built using MDX content. I copied some sample blog posts from my{" "} - - personal site - - . -
-+
+ Blog +
++ A blog built using MDX content. I copied some sample blog posts from + my{" "} + + personal site + + . +
++
+
{post.frontMatter.title}
@@ -37,7 +41,9 @@ export default async function BlogPage() {
{post.frontMatter.excerpt && (
{post.frontMatter.excerpt}
)} -+
+
- Publishing Platform for Everyone -
-- A Next.js 13 application built using layouts, server components and - everything new in React 18. -
- - Get Started -+ Publishing Platform for Everyone +
++ An open source application built using the new router, server + components and everything new in Next.js 13. +
++ Features +
++ This project is as an experiment to see how a modern app, with + features like authentication, subscriptions, API routes, and static + pages, would work in Next.js 13. +
+Next.js 13
++ App dir, Routing, Layouts, Loading UI and API routes. +
+React 18
++ Server and Client Components. Use hook. +
+Database
++ ORM using Prisma and deployed on PlanetScale. +
+Components
++ UI components built using Radix UI and styled with Tailwind + CSS. +
+Authentication
++ Authentication using NextAuth.js and middlewares. +
+Subscriptions
++ Free and paid subscriptions using Stripe. +
+