"use client" import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card" import { Badge } from "@/components/ui/badge" import { Button } from "@/components/ui/button" import { BookOpen, Code, FileText, Hash, Settings, Tag, ArrowRight, Info, Users } from "lucide-react" import CodeHighlighter from "@/components/SyntaxHighlighter" import Header from "@/components/Header" import Sidebar from "@/components/Sidebar" import TableOfContents from "@/components/TableOfContents" import Link from "next/link" import { jsdocData } from "@/lib/jsdoc-data" const navigationSections = [ { id: "basic-tags", title: "Basic Tags", description: "Essential JSDoc tags for documenting your code", icon: Tag, href: "/basic-tags", }, { id: "parameters", title: "Parameters & Returns", description: "Document function parameters, return values, and exceptions", icon: Code, href: "/parameters", }, { id: "type-definitions", title: "Type Definitions", description: "Define and document custom types and interfaces", icon: Hash, href: "/type-definitions", }, { id: "functions", title: "Functions & Classes", description: "Document functions, classes, constructors, and methods", icon: Settings, href: "/functions", }, { id: "modules", title: "Modules & Namespaces", description: "Organize code with modules, namespaces, and membership", icon: FileText, href: "/modules", }, { id: "advanced", title: "Advanced Tags", description: "Advanced JSDoc features for complex documentation needs", icon: BookOpen, href: "/advanced", }, { id: "objects", title: "Objects & Interfaces", description: "Document object structures, interfaces, and inheritance", icon: Hash, href: "/objects", }, { id: "documentation", title: "Documentation Tags", description: "Tags for linking, examples, and additional documentation", icon: Info, href: "/documentation", }, { id: "examples", title: "Complete Examples", description: "Real-world JSDoc documentation examples", icon: Info, href: "/examples", }, { id: "best-practices", title: "Best Practices", description: "Guidelines for writing effective JSDoc documentation", icon: Users, href: "/best-practices", }, ] export default function JSDocCheatsheet() { // TOC items for the homepage const tocItems = [ { id: "quick-reference", title: "Quick Reference", level: 1 }, { id: "kitchen-sink", title: "Kitchen Sink Example", level: 1 }, { id: "navigation-grid", title: "Explore JSDoc Sections", level: 1 }, ] return (
@description
@author
@version
@since
@deprecated
@param
@returns
@throws
@yields
@typedef
@property
@type
@enum
@function
@class
@constructor
@method
@static
@override
@module
@namespace
@memberof
@exports
@requires
@interface
@implements
@extends
@mixin
@callback
@event
@fires
@listens
@mixes
@example
@see
@link
@tutorial
@todo
@abstract
@async
@generator