From d967120677ee665134a31f5d8b7d2ab9401b9d9f Mon Sep 17 00:00:00 2001 From: gitfromwildan <> Date: Sat, 31 May 2025 02:11:57 +0700 Subject: [PATCH] version 1.13.5 : add theme schema --- app/page.tsx | 2 +- components/context-popover.tsx | 8 +- components/footer.tsx | 6 +- components/markdown/CardGroupMdx.tsx | 2 +- components/markdown/CardMdx.tsx | 9 +- components/markdown/FileTreeMdx.tsx | 85 +++++---- components/markdown/KeyboardMdx.tsx | 2 +- components/markdown/NoteMdx.tsx | 2 +- components/markdown/StepperMdx.tsx | 4 +- components/markdown/TooltipsMdx.tsx | 9 +- components/navbar.tsx | 6 +- components/sublink.tsx | 13 +- components/theme-toggle.tsx | 20 +-- components/toc-observer.tsx | 18 +- contents/docs/changelog/version-1/index.mdx | 29 ++- .../theme-colors/coffee/index.mdx | 167 ++++++++++++++++++ .../theme-colors/default/index.mdx | 163 +++++++++++++++++ .../theme-colors/freshlime/index.mdx | 164 +++++++++++++++++ .../getting-started/theme-colors/index.mdx | 9 + .../theme-colors/llms/index.mdx | 66 +++++++ docu.json | 14 +- package.json | 2 +- styles/globals.css | 100 +++++------ styles/syntax.css | 53 +++--- 24 files changed, 788 insertions(+), 165 deletions(-) create mode 100644 contents/docs/getting-started/theme-colors/coffee/index.mdx create mode 100644 contents/docs/getting-started/theme-colors/default/index.mdx create mode 100644 contents/docs/getting-started/theme-colors/freshlime/index.mdx create mode 100644 contents/docs/getting-started/theme-colors/index.mdx create mode 100644 contents/docs/getting-started/theme-colors/llms/index.mdx diff --git a/app/page.tsx b/app/page.tsx index 532bd25..78b3779 100644 --- a/app/page.tsx +++ b/app/page.tsx @@ -25,7 +25,7 @@ export default function Home() { )} > - 🚀 New Version - Release v1.13.0 + 🚀 New Version - Release v1.13.5 diff --git a/components/context-popover.tsx b/components/context-popover.tsx index 5bbcee8..bbc454a 100644 --- a/components/context-popover.tsx +++ b/components/context-popover.tsx @@ -68,7 +68,7 @@ export default function ContextPopover({ className }: ContextPopoverProps) { >
{activeRoute?.context?.icon && ( - + {getIcon(activeRoute.context.icon)} )} @@ -98,14 +98,14 @@ export default function ContextPopover({ className }: ContextPopoverProps) { "relative flex w-full items-center gap-2 rounded px-2 py-1.5 text-sm", "text-left outline-none transition-colors", isActive - ? "bg-primary/20 text-primary" - : "text-foreground/80 hover:bg-primary/20" + ? "bg-primary/20 text-primary dark:bg-accent/20 dark:text-accent" + : "text-foreground/80 hover:bg-primary/20 dark:text-foreground/60 dark:hover:bg-accent/20" )} > {route.context?.icon && ( {getIcon(route.context.icon)} diff --git a/components/footer.tsx b/components/footer.tsx index fe71929..953cb48 100644 --- a/components/footer.tsx +++ b/components/footer.tsx @@ -63,8 +63,9 @@ export function FooterButtons() { target="_blank" rel="noopener noreferrer" aria-label={item.name} + className="text-muted-foreground hover:text-foreground transition-colors" > - + ); })} @@ -79,7 +80,8 @@ export function MadeWith() { DocuBook - + + ); } diff --git a/components/markdown/CardGroupMdx.tsx b/components/markdown/CardGroupMdx.tsx index f1f6771..a1423b8 100644 --- a/components/markdown/CardGroupMdx.tsx +++ b/components/markdown/CardGroupMdx.tsx @@ -13,7 +13,7 @@ const CardGroup: React.FC = ({ children, cols = 2, className }) return (
= ({ title, icon, href, horizontal, children, cl const content = (
= ({ title, icon, href, horizontal, children, cl > {Icon && }
- {title} -
{children}
+ {title} +
{children}
); diff --git a/components/markdown/FileTreeMdx.tsx b/components/markdown/FileTreeMdx.tsx index 89ba1cc..6abdd3b 100644 --- a/components/markdown/FileTreeMdx.tsx +++ b/components/markdown/FileTreeMdx.tsx @@ -1,12 +1,7 @@ 'use client'; import React, { useState, ReactNode, Children, isValidElement, cloneElement } from 'react'; -import { ChevronRight, ChevronDown, File as FileIcon, Folder as FolderIcon, FolderOpen } from 'lucide-react'; - -interface FileTreeProps { - children: ReactNode; - defaultOpen?: boolean; -} +import { ChevronRight, File as FileIcon, Folder as FolderIcon, FolderOpen } from 'lucide-react'; interface FileProps { name: string; @@ -15,24 +10,27 @@ interface FileProps { const FileComponent = ({ name }: FileProps) => { const [isHovered, setIsHovered] = useState(false); + const fileExtension = name.split('.').pop()?.toUpperCase(); return (
setIsHovered(true)} onMouseLeave={() => setIsHovered(false)} + tabIndex={-1} > - - {name} - {isHovered && ( - - {name.split('.').pop()?.toUpperCase()} + + {name} + {isHovered && fileExtension && ( + + {fileExtension} )}
@@ -48,31 +46,49 @@ const FolderComponent = ({ name, children }: FileProps) => {
setIsOpen(!isOpen)} + onClick={() => hasChildren && setIsOpen(!isOpen)} onMouseEnter={() => setIsHovered(true)} onMouseLeave={() => setIsHovered(false)} + tabIndex={-1} + onKeyDown={(e) => e.preventDefault()} > {hasChildren ? ( ) : (
)} {isOpen ? ( - + ) : ( - + )} - {name} + + {name} +
{isOpen && hasChildren && ( -
+
{children}
)} @@ -82,13 +98,16 @@ const FolderComponent = ({ name, children }: FileProps) => { export const Files = ({ children }: { children: ReactNode }) => { return ( -
+
e.preventDefault()} + >
{Children.map(children, (child, index) => { if (isValidElement(child)) { diff --git a/components/markdown/KeyboardMdx.tsx b/components/markdown/KeyboardMdx.tsx index aede1a5..18c9625 100644 --- a/components/markdown/KeyboardMdx.tsx +++ b/components/markdown/KeyboardMdx.tsx @@ -88,7 +88,7 @@ const KbdComponent: React.FC = ({ return ( {renderContent()} diff --git a/components/markdown/NoteMdx.tsx b/components/markdown/NoteMdx.tsx index 49ee7b9..2627737 100644 --- a/components/markdown/NoteMdx.tsx +++ b/components/markdown/NoteMdx.tsx @@ -29,7 +29,7 @@ export default function Note({ "dark:bg-stone-950/25 bg-stone-50": type === "note", "dark:bg-red-950 bg-red-100 border-red-200 dark:border-red-900": type === "danger", - "dark:bg-orange-950 bg-orange-100 border-orange-200 dark:border-orange-900": + "bg-orange-50 border-orange-200 dark:border-orange-900 dark:bg-orange-900/50": type === "warning", "dark:bg-green-950 bg-green-100 border-green-200 dark:border-green-900": type === "success", diff --git a/components/markdown/StepperMdx.tsx b/components/markdown/StepperMdx.tsx index 297bfad..c63f0ee 100644 --- a/components/markdown/StepperMdx.tsx +++ b/components/markdown/StepperMdx.tsx @@ -11,13 +11,13 @@ export function Stepper({ children }: PropsWithChildren) { return (
-
+
{index + 1}
{child} diff --git a/components/markdown/TooltipsMdx.tsx b/components/markdown/TooltipsMdx.tsx index 6459348..43c6ab4 100644 --- a/components/markdown/TooltipsMdx.tsx +++ b/components/markdown/TooltipsMdx.tsx @@ -11,14 +11,17 @@ const Tooltip: React.FC = ({ text, tip }) => { return ( setVisible(true)} onMouseLeave={() => setVisible(false)} > - {text} + + {text} + {visible && ( - + {tip} + )} diff --git a/components/navbar.tsx b/components/navbar.tsx index cc00b89..1613c31 100644 --- a/components/navbar.tsx +++ b/components/navbar.tsx @@ -63,15 +63,15 @@ export function NavMenu({ isSheet = false }) { const Comp = ( {item.title} - {isExternal && } + {isExternal && } ); return isSheet ? ( diff --git a/components/sublink.tsx b/components/sublink.tsx index 7584d6f..68f5897 100644 --- a/components/sublink.tsx +++ b/components/sublink.tsx @@ -54,9 +54,10 @@ export default function SubLink({ // Only apply active styles if it's an exact match and not a parent with active children const Comp = useMemo(() => ( @@ -72,8 +73,8 @@ export default function SubLink({ ) ) : (

{title}

@@ -93,7 +94,7 @@ export default function SubLink({ >
{titleOrLink} - + {!isOpen ? (