# 介绍

## 定位

Modern.js Doc 是一个面向**文档站场景**的前端框架，它的目标是给开发者提供一个`简单`、`高效`、`可扩展`的文档站解决方案。

该文档框架的初衷是给公司内部的技术产品提供文档站搭建的解决方案，并满足内部的一些特殊需求，如`跨站点搜索服务`等。而对于常见的文档站搭建需求，我们也做了比较完整的支持，比如**支持多语言**、**全文搜索**、**自定义主题**等等。

同时，框架基于 [Rspack](https://rspack.dev/) 来进行项目构建，性能优秀，让你在数秒内就能启动和构建一个文档站。

## 功能特性

### 支持 MDX 渲染

Modern.js Doc 基于 [MDX](https://mdxjs.com/) 来进行 Markdown 语法的扩展，支持在 Markdown 中使用 React 组件，同时支持在 Markdown 中使用 JSX 语法，语法上更加灵活。

语法详情请参考 [使用 MDX](/guide/basic/use-mdx) 小节。

### 支持全文搜索

基于开源 FlexSearch 搜索引擎，提供开箱即用的文档搜索能力。

<img src="https://lf3-static.bytednsdoc.com/obj/eden-cn/uhbfnupenuhf/edenx-doc/search.jpg" />

### 支持国际化(I18n)

内置国际化支持，支持多语言切换，且支持多语言内容搜索。详情可见 [国际化](/guide/default-theme/i18n)。

### 代码块高亮

基于 [PrismJS](https://github.com/PrismJS/prism) 来进行运行时代码着色，支持多种代码语言高亮。如:

```ts title="modern.config.ts"
import { docTools, defineConfig } from '@modern-js/doc-tools';
import path from 'path';

export default defineConfig({
  doc: {
    root: path.join(__dirname, 'docs'),
  },
  plugins: [docTools()],
});
```

### 自动生成布局

内置了多种布局组件，如：`顶部导航`、`左侧侧边栏`等，你可以通过配置文件来进行自动生成，详情可参考[自动化导航栏/侧边栏](/guide/basic/auto-nav-sidebar)。

同时，你也可以通过配置 pageType 来自定义布局类型，详情可参考 [pageType](/api/config/config-frontmatter.html#pagetype)。

### 支持自定义主题

支持自定义主题，可以通过配置文件来进行主题的定制，详情请参考 [自定义主题](/guide/advanced/custom-theme)。

### 支持插件机制

内部设计了插件系统，你可以通过自定义插件来扩展 Modern.js Doc 的功能，详情请参考 [插件机制](/plugin/system/introduction)。
