# yuque-clone-nextjs **Repository Path**: wenj91/yuque-clone-nextjs ## Basic Information - **Project Name**: yuque-clone-nextjs - **Description**: 使用nextjs tiptap实现类语雀笔记应用 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: 1_sidebar - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2025-01-20 - **Last Updated**: 2025-01-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 创建项目 ```shell pnpm dlx create-next-app@14 --registry=https://registry.npmmirror.com ``` # sidebar ## 目录结构 ```text - src - app - (dashboard) - _components/ - sidebar.tsx - layout.tsx - page.tsx - layout.tsx ``` ## 安装依赖 ```shell # 图标库 pnpm i react-icons # 组件库 pnpm dlx shadcn@latest init # Which style would you like to use? › New York # Which color would you like to use as base color? › Zinc # Do you want to use CSS variables for colors? › no / yes # 添加所有组件 pnpm dlx shadcn@latest add --all ``` https://ui.shadcn.com/docs/installation/next ```typescript jsx // src/app/(dashboard)/_components/sidebar.tsx import React from 'react'; import Image from "next/image"; import {GoChevronDown} from "react-icons/go"; import {HiOutlineBellAlert} from "react-icons/hi2"; import {Avatar, AvatarFallback, AvatarImage} from "@/components/ui/avatar"; import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, } from "@/components/ui/tooltip" import { Command, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, } from "@/components/ui/command" import {BsFillBoxFill, BsJournalBookmark} from "react-icons/bs"; import Link from "next/link"; import {Input} from "@/components/ui/input"; import SidebarSearchInput from "@/app/(dashboard)/_components/sidebar-search-input"; import SidebarRoutes from "@/app/(dashboard)/_components/sidebar-routes"; import SidebarKnowledgeLibraryItem from "@/app/(dashboard)/_components/sidebar-knowledge-library-item"; import SidebarKnowledgeGroupItem from "@/app/(dashboard)/_components/sidebar-knowledge-group-item"; const Sidebar = () => { return (