{"id":49667027,"url":"https://github.com/dedkola/tk-doc","last_synced_at":"2026-05-06T17:36:17.969Z","repository":{"id":353619259,"uuid":"1123117974","full_name":"dedkola/tk-doc","owner":"dedkola","description":"A modern, high-performance documentation platform built with Next.js 16 and MDX","archived":false,"fork":false,"pushed_at":"2026-04-24T16:57:14.000Z","size":4258,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-24T18:31:38.694Z","etag":null,"topics":["documentation","mdx","nextjs"],"latest_commit_sha":null,"homepage":"https://doc.tkweb.site","language":"MDX","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dedkola.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-12-26T08:07:42.000Z","updated_at":"2026-04-24T16:57:18.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/dedkola/tk-doc","commit_stats":null,"previous_names":["dedkola/tk-doc"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/dedkola/tk-doc","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dedkola%2Ftk-doc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dedkola%2Ftk-doc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dedkola%2Ftk-doc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dedkola%2Ftk-doc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dedkola","download_url":"https://codeload.github.com/dedkola/tk-doc/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dedkola%2Ftk-doc/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32704771,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-06T08:33:17.875Z","status":"ssl_error","status_checked_at":"2026-05-06T08:33:17.221Z","response_time":117,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["documentation","mdx","nextjs"],"created_at":"2026-05-06T17:36:17.103Z","updated_at":"2026-05-06T17:36:17.961Z","avatar_url":"https://github.com/dedkola.png","language":"MDX","funding_links":[],"categories":[],"sub_categories":[],"readme":"# TK Doc\n\n\u003cdiv align=\"center\"\u003e\n\n\u003cimg src=\"public/github_page_home.png\" alt=\"TK Doc home page\" width=\"49%\" /\u003e\n\u003cimg src=\"public/github_page_docs.png\" alt=\"TK Doc documentation page\" width=\"49%\" /\u003e\n\n**A modern, high-performance documentation platform built with Next.js 16 and MDX**\n\n[![Next.js](https://img.shields.io/badge/Next.js-16.1-black?logo=next.js)](https://nextjs.org/)\n[![React](https://img.shields.io/badge/React-19-61dafb?logo=react\u0026logoColor=white)](https://react.dev/)\n[![TypeScript](https://img.shields.io/badge/TypeScript-5-3178c6?logo=typescript\u0026logoColor=white)](https://www.typescriptlang.org/)\n[![Tailwind CSS](https://img.shields.io/badge/Tailwind_CSS-4-38bdf8?logo=tailwindcss\u0026logoColor=white)](https://tailwindcss.com/)\n[![Docker](https://img.shields.io/badge/Docker-ready-2496ed?logo=docker\u0026logoColor=white)](Dockerfile)\n[![pnpm](https://img.shields.io/badge/pnpm-fast-f69220?logo=pnpm\u0026logoColor=white)](https://pnpm.io/)\n\n[![Website](https://img.shields.io/website?url=https%3A%2F%2Fdoc.tkweb.site\u0026label=demo)](https://doc.tkweb.site)\n[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen?style=flat)](https://github.com/dedkola/tk-doc/pulls)\n[![GitHub last commit](https://img.shields.io/github/last-commit/dedkola/tk-doc?style=flat\u0026logo=github)](https://github.com/dedkola/tk-doc/commits/main)\n[![GitHub license](https://img.shields.io/github/license/dedkola/tk-doc?style=flat)](LICENSE)\n\n[Features](#-features) • [Quick Start](#-quick-start) • [Documentation](#-documentation) • [Project Structure](#-project-structure) • [Contributing](#-contributing)\n\n\u003c/div\u003e\n\n---\n\n## 📖 Overview\n\n**TK Doc** is a production-ready documentation template designed for developers who need a fast, beautiful, and maintainable documentation site. Built with cutting-edge technologies, it provides an exceptional reading experience while maintaining excellent developer experience.\n\nPerfect for technical documentation, API references, knowledge bases, and developer guides.\n\n## ✨ Features\n\n### 🚀 Performance \u0026 Modern Stack\n\n\n- **Next.js 16** with App Router for optimal performance\n- **React 19** with Server Components\n- **TypeScript** for type safety\n- **Tailwind CSS 4** for modern styling\n- **pnpm** for fast, efficient package management\n\n### 📝 Content Management\n\n- **MDX Support** - Write docs in Markdown with React components\n- **Frontmatter** - Metadata support for title, description, and tags\n- **Code Highlighting** - Beautiful syntax highlighting with Prism\n- **Auto-generated Sidebar** - Automatic navigation from folder structure\n- **Table of Contents** - Automatic heading extraction\n\n### 🎨 UI Components\n\n- **30+ Pre-built Components** - Accordion, Alert, Badge, Card, Tabs, and more\n- **Organized Structure** - Components organized by category (buttons, forms, modals)\n- **PascalCase Naming** - React-consistent naming conventions for easy identification\n- **Radix UI Primitives** - Accessible, unstyled components\n- **Responsive Design** - Mobile-first approach\n- **Custom Fonts** - Inter for text, JetBrains Mono for code\n- **Performance Optimized** - Dynamic imports for non-critical components\n\n### 🌗 Dark Mode\n\n- **System-Aware Theme** - Automatically follows your OS preference via `next-themes`\n- **Theme Toggle** - Sun/Moon toggle button in the header for manual switching\n- **Full Coverage** - Dark mode styles across all components, sidebar, search, code blocks, and more\n\n### 🔍 Enhanced UX\n\n- **Command Palette** - Quick search with `Cmd+K` / `Ctrl+K`\n- **Keyboard Shortcuts** - Press `?` to view all available keyboard shortcuts\n- **Back to Top** - Floating button appears on scroll for quick navigation\n- **Click-to-Copy Inline Code** - Click any inline `code` snippet to copy it to clipboard\n- **Related Articles** - Tag-based related content suggestions at the bottom of each page\n- **Social Sharing** - Share buttons for Twitter, Bluesky, LinkedIn, WhatsApp, Email, and copy link\n- **Responsive Table of Contents** - Collapsible mobile-friendly TOC with active heading tracking\n- **RSS Feed** - Auto-generated RSS feed at `/feed.xml` from all MDX content\n- **SEO Optimized** - Meta tags, OpenGraph, Twitter cards, JSON-LD structured data\n- **Security Headers** - HSTS, CSP, X-Frame-Options configured\n- **Sitemap Generation** - Automatic sitemap for better indexing\n\n### 🛠️ Developer Experience\n\n- **Hot Reload** - Instant feedback during development\n- **ESLint** - Code quality checks\n- **TypeScript Strict Mode** - Maximum type safety\n- **Component Examples** - [View all available components](/content/component-examples.mdx)\n\n## 🚀 Quick Start\n\n### Prerequisites\n\n- **Node.js** 18.17 or higher\n- **pnpm** (recommended) or npm/yarn\n\n### Installation\n\n1. **Use this template or clone:**\n\n   ```bash\n   git clone https://github.com/dedkola/tk-doc.git\n   cd tk-doc\n   ```\n\n2. **Install dependencies:**\n\n   ```bash\n   pnpm install\n   ```\n\n3. **Start the development server:**\n\n   ```bash\n   pnpm dev\n   ```\n\n4. **Open your browser:**\n\n   Navigate to [http://localhost:3000](http://localhost:3000)\n\n### Build for Production\n\n```bash\npnpm build\npnpm start\n```\n\n## 📚 Documentation\n\n### Creating Your First Page\n\nThe template includes one example file: `component-examples.mdx` showing all available components.\n\n**To add your own content:**\n\n1. Create a new `.mdx` file in the `content/` directory (or in a subfolder):\n\n````mdx\n---\ntitle: Getting Started\ndescription: Learn how to use TK Doc\ntags: [guide, beginner]\n---\n\n# Getting Started\n\nWelcome to your documentation site!\n\n## Installation\n\nInstall the package:\n\n```bash\nnpm install your-package\n```\n\n\u003cAlert\u003e\n  \u003cAlertTitle\u003eNote\u003c/AlertTitle\u003e\n  \u003cAlertDescription\u003e\n    This is an example of using components in MDX.\n  \u003c/AlertDescription\u003e\n\u003c/Alert\u003e\n````\n\n2. The page will automatically appear in the sidebar based on the folder structure\n3. Organize pages into folders for better navigation (e.g., `content/guides/getting-started.mdx`)\n4. You can safely remove `component-examples.mdx` once you're familiar with the components\n\n### Using Components\n\nAll UI components are available in MDX files. See the complete list with examples:\n\n👉 **[View Component Examples](content/component-examples.mdx)**\n\n````mdx\n\u003cTabs defaultValue=\"npm\"\u003e\n  \u003cTabsList\u003e\n    \u003cTabsTrigger value=\"npm\"\u003enpm\u003c/TabsTrigger\u003e\n    \u003cTabsTrigger value=\"pnpm\"\u003epnpm\u003c/TabsTrigger\u003e\n  \u003c/TabsList\u003e\n  \u003cTabsContent value=\"npm\"\u003e```bash npm install package ```\u003c/TabsContent\u003e\n  \u003cTabsContent value=\"pnpm\"\u003e```bash pnpm add package ```\u003c/TabsContent\u003e\n\u003c/Tabs\u003e\n````\n\n### Organizing Content\n\nThe `content/` folder starts with only one file:\n\n```\ncontent/\n└── component-examples.mdx    # Component showcase \u0026 reference\n```\n\n**To add your documentation:**\n\n1. Create folders for different sections (e.g., `guides/`, `api/`, `tutorials/`)\n2. Add `.mdx` files inside these folders\n3. The sidebar navigation will be auto-generated from your folder structure\n\n**Example structure you might create:**\n\n```\ncontent/\n├── component-examples.mdx    # Keep this as reference\n├── getting-started/\n│   ├── installation.mdx\n│   └── quick-start.mdx\n├── guides/\n│   ├── authentication.mdx\n│   └── deployment.mdx\n└── api/\n    └── reference.mdx\n```\n\nEach folder becomes a section in the sidebar, and files within become pages.\n\n### Configuring Your Site\n\n**Site configuration uses a 3-layer approach for smooth updates:**\n\nWe separate defaults, production overrides, and optional local changes:\n\n- **`config/config.base.ts`** – Template defaults (do not modify)\n- **`config/config.private.ts`** – Committed, production overrides (domain, analytics, socials)\n- **`config/config.local.ts`** – Gitignored, dev-only overrides (optional)\n- **`config/site.ts`** – Aggregator that merges Base → Private → Local\n\nThis keeps updates simple and hosting predictable, with zero surprises.\n\n#### Quick Configuration\n\n1. **Copy the example local file** (optional, for dev):\n\n```bash\ncp config/config.local.example.ts config/config.local.ts\n```\n\n2. **Edit `config/config.private.ts`** for production settings, and `config/config.local.ts` for dev-only overrides:\n\n```typescript\nimport type { BaseSiteConfig } from \"./config.base\";\n\nexport const privateConfig: Partial\u003cBaseSiteConfig\u003e = {\n  // Basic Information\n  name: \"Your Site Name\",\n  title: \"Your Site Title\",\n  description: \"Your site description\",\n  url: \"https://yourdomain.com\",\n\n  // Social Media Links (set to empty string \"\" to hide)\n  social: {\n    github: \"https://github.com/yourusername\",\n    twitter: \"https://twitter.com/yourusername\",\n    linkedin: \"https://linkedin.com/in/yourusername\",\n  },\n\n  // Twitter/X Card Configuration\n  twitter: {\n    card: \"summary_large_image\",\n    creator: \"@yourtwitterhandle\",\n  },\n\n  // Open Graph Image (for social sharing)\n  og: {\n    image: \"/og-image.png\",\n    imageWidth: 1200,\n    imageHeight: 630,\n  },\n\n  // Google Analytics\n  analytics: {\n    googleAnalyticsId: \"G-XXXXXXXXXX\", // Add your GA4 ID\n  },\n\n  // Footer Branding\n  footer: {\n    companyName: \"YourCompany\",\n  },\n};\n```\n\n\u003e **Note:** You only need to specify fields you want to override. Unspecified fields use defaults from `config.base.ts`. Dev-only changes go in `config.local.ts`.\n\n#### Why This Approach?\n\n- **Clean separation** - Base defaults stay intact, your changes are isolated\n- **Easy updates** - Update the template without losing your customizations\n- **Type safety** - TypeScript ensures your overrides match the base config\n- **Git-friendly** - `config.local.ts` is gitignored; `config.private.ts` is committed for predictable hosting\n\n#### Configuration Fields Explained\n\n| Field             | Purpose                             | Example                             |\n| ----------------- | ----------------------------------- | ----------------------------------- |\n| `name`            | Company/site name                   | `\"TK Doc\"`                          |\n| `title`           | Page title (appears in browser tab) | `\"TK Doc\"`                          |\n| `description`     | Meta description (SEO)              | `\"A modern documentation platform\"` |\n| `url`             | Your production domain              | `\"https://docs.example.com\"`        |\n| `social.github`   | GitHub profile link                 | Leave empty `\"\"` to hide            |\n| `social.twitter`  | Twitter profile link                | Leave empty `\"\"` to hide            |\n| `social.linkedin` | LinkedIn profile link               | Leave empty `\"\"` to hide            |\n| `twitter.creator` | Twitter handle for cards            | `\"@yourhandle\"`                     |\n| `og.image`        | Social sharing image                | Must be in `/public` folder         |\n\n#### What Changes When You Update Config\n\n✅ **Site title** - Browser tab, metadata, social cards  \n✅ **Site description** - Meta tags, SEO, social sharing  \n✅ **Social links** - Header and footer links  \n✅ **Sitemap \u0026 Robots** - Generated with your domain  \n✅ **Footer text** - Company name in copyright  \n✅ **OG Image** - Used when shared on social media\n\n\u003e **💡 Tip:** After updating `config/config.private.ts` or `config/config.local.ts`, restart your dev server for changes to take effect.\n\n#### Example: White-Label for a Client\n\nEdit `config/config.private.ts` with client-specific overrides:\n\n```typescript\nimport type { BaseSiteConfig } from \"./config.base\";\n\nexport const privateConfig: Partial\u003cBaseSiteConfig\u003e = {\n  name: \"Client Inc\",\n  title: \"Client Inc Documentation\",\n  description: \"Official documentation for Client Inc products\",\n  url: \"https://docs.clientinc.com\",\n\n  social: {\n    github: \"https://github.com/clientinc\",\n    twitter: \"https://twitter.com/clientinc\",\n    linkedin: \"https://linkedin.com/company/clientinc\",\n  },\n\n  twitter: {\n    card: \"summary_large_image\",\n    creator: \"@clientinc\",\n  },\n\n  og: {\n    image: \"/og-image.png\",\n  },\n\n  footer: {\n    companyName: \"Client Inc\",\n  },\n} as const;\n```\n\nThat's it! All branding updates instantly across the entire site.\n\n#### Analytics (Google Analytics)\n\nAdd your GA4 Measurement ID in `config/config.private.ts` (production) or leave empty in `config/config.local.ts` (dev):\n\n```typescript\nexport const privateConfig: Partial\u003cBaseSiteConfig\u003e = {\n  // ... other config\n  analytics: {\n    googleAnalyticsId: \"G-XXXXXXXXXX\", // Replace with your GA4 ID\n  },\n};\n```\n\n- The ID is read by `components/analytics.tsx` and injected globally from `app/layout.tsx`\n- Leave `googleAnalyticsId` empty to disable Google Analytics automatically\n- Restart dev server or redeploy after updating the ID\n\n## 📁 Project Structure\n\n```\ntk-doc/\n├── app/                          # Next.js App Router\n│   ├── layout.tsx               # Root layout with sidebar \u0026 dynamic imports\n│   ├── page.tsx                 # Homepage\n│   ├── globals.css              # Global styles\n│   ├── docs/\n│   │   └── [...slug]/           # Dynamic MDX routes\n│   ├── feed.xml/\n│   │   └── route.ts             # RSS feed generation\n│   └── ui/\n│       ├── search.tsx           # Search component\n│       └── interface/           # Layout components\n├── components/                   # React components\n│   ├── ui/                      # Radix UI components (PascalCase)\n│   │   ├── Accordion.tsx\n│   │   ├── Alert.tsx\n│   │   ├── Badge.tsx\n│   │   ├── Button.tsx\n│   │   ├── Card.tsx\n│   │   ├── Tabs.tsx\n│   │   ├── README.md            # Component documentation\n│   │   └── ... (30+ components)\n│   ├── analytics.tsx            # Analytics (dynamically loaded)\n│   ├── BackToTop.tsx            # Floating back-to-top button\n│   ├── Code.tsx                 # Prism syntax-highlighted code blocks\n│   ├── InlineCode.tsx           # Click-to-copy inline code\n│   ├── KeyboardShortcutsHelp.tsx # Keyboard shortcuts dialog (\"?\" key)\n│   ├── RelatedArticles.tsx      # Tag-based related content\n│   ├── ShareButtons.tsx         # Social sharing buttons\n│   ├── TableOfContents.tsx      # Responsive TOC with active tracking\n│   ├── ThemeProvider.tsx        # next-themes provider wrapper\n│   ├── ThemeToggle.tsx          # Dark/light mode toggle\n│   ├── header.tsx               # Site header\n│   └── footer.tsx               # Site footer (dynamically loaded)\n├── config/                       # Configuration files\n│   ├── config.base.ts           # Base configuration (template defaults)\n│   ├── config.private.ts        # Production overrides (committed)\n│   ├── config.local.example.ts  # Example dev overrides (copy to config.local.ts)\n│   └── site.ts                  # Aggregator that merges all configs\n├── content/                      # MDX documentation files\n│   └── component-examples.mdx   # Component showcase (reference)\n├── hooks/                        # Custom React hooks\n│   ├── use-mobile.ts\n│   └── use-toast.ts\n├── lib/                          # Utility functions\n│   ├── mdx-utils.ts             # MDX parsing utilities\n│   ├── extract-headings.ts      # TOC extraction\n│   └── utils.ts                 # General utilities\n├── public/                       # Static assets\n│   ├── robots.txt\n│   └── assets/\n├── types/                        # TypeScript definitions\n├── next.config.mjs              # Next.js configuration\n├── tailwind.config.ts           # Tailwind configuration\n├── tsconfig.json                # TypeScript configuration\n└── package.json                 # Dependencies \u0026 scripts\n```\n\n## 🛠 Tech Stack\n\n| Technology                                                  | Purpose                         |\n| ----------------------------------------------------------- | ------------------------------- |\n| [Next.js 16](https://nextjs.org/)                           | React framework with App Router |\n| [React 19](https://react.dev/)                              | UI library                      |\n| [TypeScript](https://www.typescriptlang.org/)               | Type safety                     |\n| [Tailwind CSS 4](https://tailwindcss.com/)                  | Utility-first CSS               |\n| [MDX](https://mdxjs.com/)                                   | Markdown + JSX                  |\n| [Radix UI](https://www.radix-ui.com/)                       | Accessible component primitives |\n| [Lucide](https://lucide.dev/)                               | Icon library                    |\n| [Prism](https://prismjs.com/)                               | Syntax highlighting             |\n| [gray-matter](https://github.com/jonschlinkert/gray-matter) | Frontmatter parsing             |\n| [next-themes](https://github.com/pacocoursey/next-themes)   | Dark mode / theme management    |\n\n## 🎨 Customization\n\n### Quick Configuration ⚡ (Recommended)\n\nThe easiest way to customize your site is using the **three-file config system:**\n\n👉 **Edit `config/config.private.ts`** - Production settings (domain, analytics, social links).\n\n👉 **Copy \u0026 edit `config/config.local.ts`** (optional) - Dev-only overrides (copy from `config.local.example.ts`).\n\nSee the [Configuring Your Site](#configuring-your-site) section above for all options.\n\n### Advanced Customization\n\n- **Global styles:** `app/globals.css`\n- **Tailwind config:** `tailwind.config.ts`\n- **Code highlighting:** `app/code-highlight.css`\n\n### Components\n\nAdd custom components in `components/` and import them in MDX files.\n\n### Performance Optimization\n\nThe application implements performance best practices:\n\n- **Dynamic Imports** - Non-critical components (`Footer`, `Analytics`) are dynamically imported in `app/layout.tsx`\n- **Server Components** - Layout and pages use Next.js Server Components by default for better performance\n- **Lazy Loading** - Components are loaded only when needed, reducing initial bundle size\n\n**Example - Dynamic Import Pattern:**\n\n```tsx\nimport dynamic from \"next/dynamic\";\n\nconst Footer = dynamic(() =\u003e import(\"@/components/footer\"), {\n  ssr: true,\n});\n```\n\n### Importing Components\n\nAlways use the correct import path with PascalCase names:\n\n```tsx\n// ✅ Correct\nimport { Button } from \"@/components/ui/Button\";\nimport { Card, CardHeader, CardContent } from \"@/components/ui/Card\";\n\n// ❌ Incorrect (old naming convention)\nimport { Button } from \"@/components/ui/button\";\n```\n\n### Adding New Components\n\nWhen creating new UI components:\n\n1. Place them in `components/ui/` with **PascalCase filenames**\n2. Use **Radix UI** as the foundation for accessible components\n3. Style with **Tailwind CSS**\n4. Export from the component file and import with PascalCase naming\n5. Consider organizing in subfolders (`buttons/`, `forms/`, `modals/`) based on functionality\n\n**Example Component Structure:**\n\n```tsx\n// components/ui/Button.tsx\nimport * as React from \"react\";\nimport { cn } from \"@/lib/utils\";\n\ninterface ButtonProps extends React.ButtonHTMLAttributes\u003cHTMLButtonElement\u003e {\n  variant?: \"primary\" | \"secondary\";\n}\n\nconst Button = React.forwardRef\u003cHTMLButtonElement, ButtonProps\u003e(\n  ({ className, variant = \"primary\", ...props }, ref) =\u003e (\n    \u003cbutton\n      ref={ref}\n      className={cn(\n        \"px-4 py-2 rounded font-medium transition-colors\",\n        variant === \"primary\" \u0026\u0026 \"bg-blue-600 text-white hover:bg-blue-700\",\n        variant === \"secondary\" \u0026\u0026\n          \"bg-gray-200 text-gray-800 hover:bg-gray-300\",\n        className,\n      )}\n      {...props}\n    /\u003e\n  ),\n);\n\nButton.displayName = \"Button\";\nexport { Button };\n```\n\n### Content Guidelines\n\n- Store all documentation in the `content/` folder\n- Organize by topic in subfolders (e.g., `content/guides/`, `content/api/`)\n- Use frontmatter for metadata (title, description, tags)\n- Keep MDX files focused and modular\n\n## 🤝 Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n1. Fork the repository\n2. Create your feature branch (`git checkout -b feature/AmazingFeature`)\n3. Commit your changes (`git commit -m 'Add some AmazingFeature'`)\n4. Push to the branch (`git push origin feature/AmazingFeature`)\n5. Open a Pull Request\n\n## 📄 License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## 🙏 Acknowledgments\n\n- [Vercel](https://vercel.com) for Next.js\n- [Radix UI](https://www.radix-ui.com/) for accessible components\n- [shadcn/ui](https://ui.shadcn.com/) for component inspiration\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\nMade with ❤️ by [dedkola](https://github.com/dedkola/)\n\n[Documentation](https://doc.tkweb.site) • [GitHub](https://github.com/dedkola/tk-doc) • [Issues](https://github.com/dedkola/tk-doc/issues)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdedkola%2Ftk-doc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdedkola%2Ftk-doc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdedkola%2Ftk-doc/lists"}