diff --git a/docs/.env.example b/docs/.env.example new file mode 100644 index 000000000..aebdbe486 --- /dev/null +++ b/docs/.env.example @@ -0,0 +1,14 @@ +# GitHub Repository Configuration +NEXT_PUBLIC_GEISTDOCS_OWNER="vercel" +NEXT_PUBLIC_GEISTDOCS_REPO="" +NEXT_PUBLIC_GEISTDOCS_CATEGORY="" + +# GitHub App Credentials (optional - for feedback feature) +GITHUB_APP_ID="" +GITHUB_APP_PRIVATE_KEY="-----BEGIN RSA PRIVATE KEY-----\n...\n-----END RSA PRIVATE KEY-----" + +# AI Gateway API Key (optional - for AI chat) +AI_GATEWAY_API_KEY="" + +# Production URL (automatically set on Vercel) +NEXT_PUBLIC_VERCEL_PROJECT_PRODUCTION_URL="localhost:3000" \ No newline at end of file diff --git a/docs/.gitignore b/docs/.gitignore new file mode 100644 index 000000000..9e429e498 --- /dev/null +++ b/docs/.gitignore @@ -0,0 +1,26 @@ +# deps +/node_modules + +# generated content +.source + +# test & build +/coverage +/.next/ +/out/ +/build +*.tsbuildinfo + +# misc +.DS_Store +*.pem +/.pnp +.pnp.js +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# others +.env*.local +.vercel +next-env.d.ts \ No newline at end of file diff --git a/docs/app/[lang]/(home)/components/centered-section.tsx b/docs/app/[lang]/(home)/components/centered-section.tsx new file mode 100644 index 000000000..beb726c50 --- /dev/null +++ b/docs/app/[lang]/(home)/components/centered-section.tsx @@ -0,0 +1,26 @@ +import type { ReactNode } from 'react' + +type CenteredSectionProps = { + title: string + description: string + children: ReactNode +} + +export const CenteredSection = ({ + title, + description, + children +}: CenteredSectionProps) => ( +
+ {description} +
+{badge}
++ {description} +
++ {description} +
++ {description} +
++ {item.description} +
+{item.description}
++ {page.data.description}{' '} + + + Read more → + + +
+ )} +{description}
+ )} +{tooltip}
+{attachmentLabel}
++ {data.mediaType} +
+ )} +Used {count} sources
+{title}
+
+ Tip: You can open and close chat with{" "}
+
+ {localPrompt.length} / 1000 +
+code]:grid",
+ className,
+ props.className
+ )}
+ ref={ref}
+ style={style}
+ tabIndex={tabIndex}
+ >
+ {children}
+
+ ),
+ [children, style, tabIndex, className]
+ );
+
+ if (!title) {
+ return (
+ Thank you for your feedback!
+Used {sources.length} sources
+On this page
+