diff --git a/.claude/settings.local.json b/.claude/settings.local.json new file mode 100644 index 0000000..14e270f --- /dev/null +++ b/.claude/settings.local.json @@ -0,0 +1,12 @@ +{ + "permissions": { + "allow": [ + "Bash(npx create-next-app@latest:*)", + "Bash(node --version:*)", + "Bash(npm --version:*)", + "Bash(where:*)", + "Bash(npm install:*)", + "Bash(npm run build:*)" + ] + } +} diff --git a/.eslintrc.json b/.eslintrc.json new file mode 100644 index 0000000..bffb357 --- /dev/null +++ b/.eslintrc.json @@ -0,0 +1,3 @@ +{ + "extends": "next/core-web-vitals" +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..dfc192f --- /dev/null +++ b/.gitignore @@ -0,0 +1,41 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules +/.pnp +.pnp.* +.yarn/* +!.yarn/patches +!.yarn/plugins +!.yarn/releases +!.yarn/versions + +# testing +/coverage + +# next.js +/.next/ +/out/ + +# production +/build + +# misc +.DS_Store +*.pem + +# debug +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# env files +.env*.local +.env + +# vercel +.vercel + +# typescript +*.tsbuildinfo +next-env.d.ts diff --git a/app/about/page.tsx b/app/about/page.tsx new file mode 100644 index 0000000..f8c834f --- /dev/null +++ b/app/about/page.tsx @@ -0,0 +1,58 @@ +import type { Metadata } from 'next'; + +export const metadata: Metadata = { + title: 'About - Cooking', + description: 'Learn more about our recipe collection', +}; + +export default function AboutPage() { + return ( +
+
+

+ About +

+

+ Welcome to our content-first recipe site +

+
+ +
+
+

+ Our Mission +

+

+ We believe cooking should be accessible, enjoyable, and creative. Our goal is to provide + high-quality recipes with clear instructions and beautiful photography to inspire home cooks + everywhere. +

+
+ +
+

+ Content Structure +

+

+ Each recipe is organized in its own folder with: +

+
    +
  • MDX file with recipe content and instructions
  • +
  • metadata.json for tags and organization
  • +
  • Assets folder for images and other media
  • +
+
+ +
+

+ Technology +

+

+ Built with modern web technologies including Next.js, React, TypeScript, and Tailwind CSS + to ensure fast performance and excellent SEO. +

+
+
+
+ ); +} diff --git a/app/globals.css b/app/globals.css new file mode 100644 index 0000000..13d40b8 --- /dev/null +++ b/app/globals.css @@ -0,0 +1,27 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; + +:root { + --background: #ffffff; + --foreground: #171717; +} + +@media (prefers-color-scheme: dark) { + :root { + --background: #0a0a0a; + --foreground: #ededed; + } +} + +body { + color: var(--foreground); + background: var(--background); + font-family: Arial, Helvetica, sans-serif; +} + +@layer utilities { + .text-balance { + text-wrap: balance; + } +} diff --git a/app/layout.tsx b/app/layout.tsx new file mode 100644 index 0000000..f459188 --- /dev/null +++ b/app/layout.tsx @@ -0,0 +1,37 @@ +import type { Metadata } from "next"; +import "./globals.css"; +import Header from "@/components/Header"; +import Footer from "@/components/Footer"; + +export const metadata: Metadata = { + title: "Cooking - Recipe Collection", + description: "A content-first recipe site with delicious recipes and cooking tips", + keywords: ["recipes", "cooking", "food", "kitchen"], + authors: [{ name: "Cooking" }], + openGraph: { + type: "website", + locale: "en_US", + url: "https://cooking.example.com", + siteName: "Cooking", + title: "Cooking - Recipe Collection", + description: "A content-first recipe site with delicious recipes and cooking tips", + }, +}; + +export default function RootLayout({ + children, +}: Readonly<{ + children: React.ReactNode; +}>) { + return ( + + +
+
+ {children} +
+