Skip to content

yuntijs/dumi-theme-yunti

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dumi Theme YuntiJS

dumi-theme-yunti is a documentation site theme package designed for Dumi 2.
It provides a more beautiful and user-friendly development and reading experience based on dumi-theme-lobehub and dumi-theme-antd.


Changelog · Report Bug · Request Feature

Table of contents

TOC

✨ Features

  • 🤯 Modern Theme Style: This theme package adopts modern design techniques such as gradient colors, frosted glass, lighting effects, and natural animations to present the interface in a more concise and visually appealing way, making the documents more intuitive, readable, and user-friendly.
  • 🌓 One-click Switch between Light and Dark Theme Mode: Based on antd v5, custom algorithms for light and dark themes are provided by default, offering aesthetically pleasing and user-friendly options. Users can choose the theme mode according to their preferences and enjoy a good reading experience in different lighting environments.
  • 💅 Based on Ant Design and CSSinJS: This theme package uses antd as the base component library and implements the style solution using CSSinJS, which helps to better control the style details and improve style reusability and maintainability. The underlying antd-style library provides more flexibility, readability, and ease of maintenance in writing styles.
  • 🪄 Exquisite Syntax Highlighting: This theme package provides accurate and beautiful syntax highlighting. It utilizes modern syntax highlighting libraries like Shiki and Prism, and offers a rich set of code highlighting schemes to enhance code readability.
  • 🧩 Flexible Component Reusability: This theme package provides high flexibility for customizing local themes. It exports premium components from the theme package, which can be reused as independent modules. Developers can freely combine and use these components in the dumi local theme package.
  • 📱 Well-Adapted for Mobile Devices: This theme package is well-adapted for mobile devices. With the flexible style solution based on CSSinJS, multiple layout options are easily implemented. Users can enjoy a consistent and smooth experience across different devices.
  • 🧭 SSR Enhancement and Menu Nesting: Refer to antd source code to optimize SSR and menu nesting.

📦 Installation

To install dumi-theme-yunti, run the following command:

$ pnpm add dumi dumi-theme-yunti

☁️ Usage

Usage After installation, start the site with dumi, and the theme will be automatically loaded for use.

interface SiteThemeConfig {
  actions?: HeroProps['actions'];
  apiHeader?: ApiHeaderConfig | false;
  docStyle?: 'block' | 'pure';
  features?: FeaturesProps['items'];
  footer?: string | false;
  footerConfig?: FooterConfig;
  giscus?: {
    category: string;
    categoryId: string;
    repo: `${string}/${string}`;
    repoId: string;
  };
  hero?: HeroConfig | Record<string, HeroConfig>;
  hideHomeNav?: boolean;
  // logo?: string;
  // logoType?: LogoProps['type'];
  name?: string;
  siteToken?: SiteConfigToken;
  socialLinks?: {
    [key in SocialTypes | 'discord']?: string;
  };
  title?: string;
  /** 默认描述,未设置描述的页面,该值会用于生成 <meta> 标签 */
  description?: string;
  /** 默认关键词,未设置关键词的页面,该值会用于生成 <meta> 标签 */
  keywords?: string[];
  /** sidebar group 模式路由 */
  sidebarGroupModePath?: true | SidebarGroupModePathItem[];
  /** 自定义页面,可以通过配置去掉页面的头部、侧边栏和页脚 */
  customPages?: CustomPageConfigItem[];
}

interface CustomPageConfigItem {
  /** 页面路径 */
  path: string;
  /** 页面标题 */
  title?: string;
  /** 页面描述,该值会用于生成 <meta> 标签 */
  description?: string;
  /** 页面关键词,该值会用于生成 <meta> 标签 */
  keywords?: string[];
  /** 是否展示头部 */
  header?: boolean;
  /** 是否展示侧边栏 */
  sider?: boolean;
  /** 是否展示页脚 */
  footer?: boolean;
}

Note

For detailed configuration, please refer to the 📘 Type file / 📘 Example.

⌨️ Local Development

You can use Github Codespaces for online development:

Or clone it for local development:

$ git clone https://github.com/yuntijs/dumi-theme-yunti.git
$ cd dumi-theme-yunti
$ pnpm install
$ pnpm docs:dev

🤝 Contributing

Contributions of all types are more than welcome, if you are interested in contributing code, feel free to check out our GitHub Issues to get stuck in to show us what you’re made of.

🔗 Links

More Products


📝 License

Copyright © 2024 YuntiJS.
This project is MIT licensed.