Skip to content
Merged
Show file tree
Hide file tree
Changes from 6 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 6 additions & 3 deletions .github/workflows/content-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,10 @@ on:
paths:
- '**/*.md'
- '**/*.mdx'
- 'contentlayer.config.ts'
- 'source.config.ts'
- 'app/docs/**'
- 'lib/source.ts'
- 'mdx-components.tsx'
- 'package.json'
- 'pnpm-lock.yaml'
- 'next.config.mjs'
Expand All @@ -32,5 +35,5 @@ jobs:
cache: 'pnpm'

- run: pnpm install --frozen-lockfile
- run: pnpm run check:content

# Build the site to validate MDX and docs using Fumadocs
- run: pnpm build
12 changes: 12 additions & 0 deletions .source/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
// @ts-nocheck -- skip type checking
import * as docs_7 from "../app/docs/computer-science/data-structures/linked-list/index.mdx?collection=docs&hash=1757698272687"
import * as docs_6 from "../app/docs/computer-science/data-structures/linked-list/01-singly-linked-list.mdx?collection=docs&hash=1757698272687"
import * as docs_5 from "../app/docs/computer-science/data-structures/array/index.mdx?collection=docs&hash=1757698272687"
import * as docs_4 from "../app/docs/computer-science/data-structures/array/02-dynamic-array.mdx?collection=docs&hash=1757698272687"
import * as docs_3 from "../app/docs/computer-science/data-structures/array/01-static-array.mdx?collection=docs&hash=1757698272687"
import * as docs_2 from "../app/docs/computer-science/data-structures/index.mdx?collection=docs&hash=1757698272687"
import * as docs_1 from "../app/docs/guide/HelloWorld.md?collection=docs&hash=1757698272687"
import * as docs_0 from "../app/docs/computer-science/index.mdx?collection=docs&hash=1757698272687"
import { _runtime } from "fumadocs-mdx"
import * as _source from "../source.config"
export const docs = _runtime.docs<typeof _source.docs>([{ info: {"path":"computer-science\\index.mdx","absolutePath":"D:/work/involutionhell.github.io/app/docs/computer-science/index.mdx"}, data: docs_0 }, { info: {"path":"guide\\HelloWorld.md","absolutePath":"D:/work/involutionhell.github.io/app/docs/guide/HelloWorld.md"}, data: docs_1 }, { info: {"path":"computer-science\\data-structures\\index.mdx","absolutePath":"D:/work/involutionhell.github.io/app/docs/computer-science/data-structures/index.mdx"}, data: docs_2 }, { info: {"path":"computer-science\\data-structures\\array\\01-static-array.mdx","absolutePath":"D:/work/involutionhell.github.io/app/docs/computer-science/data-structures/array/01-static-array.mdx"}, data: docs_3 }, { info: {"path":"computer-science\\data-structures\\array\\02-dynamic-array.mdx","absolutePath":"D:/work/involutionhell.github.io/app/docs/computer-science/data-structures/array/02-dynamic-array.mdx"}, data: docs_4 }, { info: {"path":"computer-science\\data-structures\\array\\index.mdx","absolutePath":"D:/work/involutionhell.github.io/app/docs/computer-science/data-structures/array/index.mdx"}, data: docs_5 }, { info: {"path":"computer-science\\data-structures\\linked-list\\01-singly-linked-list.mdx","absolutePath":"D:/work/involutionhell.github.io/app/docs/computer-science/data-structures/linked-list/01-singly-linked-list.mdx"}, data: docs_6 }, { info: {"path":"computer-science\\data-structures\\linked-list\\index.mdx","absolutePath":"D:/work/involutionhell.github.io/app/docs/computer-science/data-structures/linked-list/index.mdx"}, data: docs_7 }], [])
10 changes: 10 additions & 0 deletions .source/source.config.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
// source.config.ts
import { defineDocs, defineConfig } from "fumadocs-mdx/config";
var docs = defineDocs({
dir: "app/docs"
});
var source_config_default = defineConfig();
export {
source_config_default as default,
docs
};
128 changes: 117 additions & 11 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -173,10 +173,10 @@ function example() {

### 步骤4:测试修改

使用 Contentlayer 验证内容:
使用 Fumadocs 验证内容:

```bash
pnpm check:content
pnpm build
```

此命令将:
Expand Down Expand Up @@ -292,6 +292,33 @@ pnpm export

---

## 📋 开发流程

### 🔄 功能开发前请先提 Issue

**重要提醒**:在开始任何功能开发之前,请先在 [GitHub Issues](../../issues) 中创建或查找相关 issue。这有助于:

- **避免重复开发**:确保不会与他人正在进行的开发冲突
- **统一开发方向**:通过讨论确定功能的具体需求和实现方案
- **透明开发进度**:让社区了解项目当前开发状态
- **便于协作**:其他贡献者可以参与讨论和提供建议

#### 创建 Issue 的最佳实践

1. **检查现有 Issue**:先搜索是否已有相关 issue,避免重复创建
2. **清晰描述**:详细说明功能需求、预期效果和使用场景
3. **添加标签**:使用合适的标签(如 `enhancement`, `feature`, `discussion`)
4. **关联开发分支**:如果开始开发,请在 issue 中链接你的开发分支

#### Issue 类型建议

- **功能请求** (`feature`): 新功能需求
- **改进建议** (`enhancement`): 现有功能的改进
- **问题反馈** (`bug`): 发现的bug或问题
- **讨论话题** (`discussion`): 需要社区讨论的话题

---

## 🤝 如何贡献

### 基本工作流程
Expand Down Expand Up @@ -324,6 +351,32 @@ pnpm export
- 改进移动端响应性
- 为 UI 添加新功能

#### 💡 UI 开发建议

**优先使用 Fumadocs UI 组件库**:

本项目已迁移到 **Fumadocs UI** 作为主要 UI 框架。请在进行 UI 相关开发时优先考虑:

1. **使用 Fumadocs UI 组件**:
- 查看 [Fumadocs UI 文档](https://fumadocs.dev/docs/ui) 了解可用组件
- 优先使用内置组件而不是自定义实现
- 遵循 Fumadocs UI 的设计规范和样式指南

2. **保持设计一致性**:
- 使用统一的颜色方案和字体
- 遵循现有的组件样式和交互模式
- 保持响应式设计的兼容性

3. **新功能开发**:
- 在提 issue 讨论新功能需求时,请明确 UI 方面的具体要求
- 优先考虑使用 Fumadocs UI 的扩展功能
- 如需自定义组件,请与团队讨论以保持一致性

4. **测试要求**:
- 确保新 UI 功能在不同设备和屏幕尺寸下正常工作
- 测试主题切换(浅色/深色模式)兼容性
- 验证无障碍访问功能

**🛠️ 技术改进**
- 改进构建过程
- 添加新的脚本或工具
Expand Down Expand Up @@ -366,11 +419,11 @@ Students need better resources for understanding dynamic programming concepts.

## How
- Created new MDX file with comprehensive examples
- Tested content generation with `pnpm check:content`
- Tested content generation with `pnpm build`
- Verified rendering on local development server

## Testing
- Contentlayer validation passed
- Fumadocs validation passed
- No linting errors
- Previewed locally at `/computer-science/algorithms/dynamic-programming`
```
Expand All @@ -381,7 +434,7 @@ Students need better resources for understanding dynamic programming concepts.

1. **自动检查**
- GitHub Actions 将运行自动化测试
- Contentlayer 将验证你的内容
- Fumadocs 将验证你的内容
- Linting 将检查代码质量

2. **同行评审**
Expand Down Expand Up @@ -427,7 +480,7 @@ Students need better resources for understanding dynamic programming concepts.
# Contributing Guide

Thank you for your interest in **Involution Hell Docs**!
This is an open-source documentation site built with **Next.js + Contentlayer**, with content stored in the `docs/` folder.
This is an open-source documentation site built with **Next.js + Fumadocs**, with content stored in the `app/docs/` folder.
We welcome Pull Requests and Issues!

---
Expand Down Expand Up @@ -605,10 +658,10 @@ Summary of your article...

### Step 4: Test Your Changes

Validate your content with Contentlayer:
Validate your content with Fumadocs:

```bash
pnpm check:content
pnpm build
```

This command will:
Expand Down Expand Up @@ -724,6 +777,33 @@ No manual operation required!

---

## 📋 Development Workflow

### 🔄 Create an Issue Before Starting Development

**Important Reminder**: Before starting any feature development, please first create or find a related issue in [GitHub Issues](../../issues). This helps to:

- **Avoid Duplicate Work**: Ensure no conflicts with others' ongoing development
- **Align Development Direction**: Determine specific requirements and implementation plans through discussion
- **Transparent Progress**: Keep the community informed about project development status
- **Facilitate Collaboration**: Allow other contributors to participate in discussions and provide suggestions

#### Best Practices for Creating Issues

1. **Check Existing Issues**: First search for related issues to avoid duplication
2. **Clear Description**: Detail the feature requirements, expected outcomes, and use cases
3. **Add Labels**: Use appropriate labels (e.g., `enhancement`, `feature`, `discussion`)
4. **Link Development Branch**: If development begins, link your development branch in the issue

#### Recommended Issue Types

- **Feature Request** (`feature`): New feature requirements
- **Enhancement** (`enhancement`): Improvements to existing features
- **Bug Report** (`bug`): Bugs or issues found
- **Discussion** (`discussion`): Topics requiring community discussion

---

## 🤝 How to Contribute

### Basic Workflow
Expand Down Expand Up @@ -756,6 +836,32 @@ We welcome the following types of contributions:
- Improve mobile responsiveness
- Add new features to the UI

#### 💡 UI Development Recommendations

**Prioritize Fumadocs UI Component Library**:

This project has migrated to **Fumadocs UI** as the primary UI framework. Please prioritize the following when developing UI-related features:

1. **Use Fumadocs UI Components**:
- Check [Fumadocs UI documentation](https://fumadocs.dev/docs/ui) for available components
- Prefer built-in components over custom implementations
- Follow Fumadocs UI design standards and style guidelines

2. **Maintain Design Consistency**:
- Use unified color schemes and fonts
- Follow existing component styles and interaction patterns
- Maintain responsive design compatibility

3. **New Feature Development**:
- When creating issues for new features, clearly specify UI requirements
- Prioritize Fumadocs UI's extension features
- Discuss custom components with the team to maintain consistency

4. **Testing Requirements**:
- Ensure new UI features work across different devices and screen sizes
- Test theme switching (light/dark mode) compatibility
- Verify accessibility features

**🛠️ Technical Improvements**
- Improve build process
- Add new scripts or tools
Expand Down Expand Up @@ -798,11 +904,11 @@ Students need better resources for understanding dynamic programming concepts.

## How
- Created new MDX file with comprehensive examples
- Tested content generation with `pnpm check:content`
- Tested content generation with `pnpm build`
- Verified rendering on local development server

## Testing
- Contentlayer validation passed
- Fumadocs validation passed
- No linting errors
- Previewed locally at `/computer-science/algorithms/dynamic-programming`
```
Expand All @@ -813,7 +919,7 @@ Students need better resources for understanding dynamic programming concepts.

1. **Automated Checks**
- GitHub Actions will run automated tests
- Contentlayer validation will check your content
- Fumadocs validation will check your content
- Linting will check code quality

2. **Peer Review**
Expand Down
17 changes: 8 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

## ✨ 特性

- 🚀 **现代化技术栈**:Next.js 15 + Contentlayer + MDX
- 🚀 **现代化技术栈**:Next.js 15 + Fumadocs + MDX
- 🎨 **美观界面**:基于 Tailwind CSS 和 shadcn/ui 构建
- 🌍 **双语支持**:中英文内容
- 📱 **响应式设计**:完美适配所有设备
Expand Down Expand Up @@ -46,7 +46,7 @@ pnpm dev
│ │ └── 📂 computer-science/ # 计算机科学知识库
│ ├── 📄 layout.tsx # 根布局
│ └── 📄 page.tsx # 主页
├── 📂 contentlayer.config.ts # Contentlayer 配置
├── 📂 source.config.ts # Fumadocs 配置
├── 📂 tailwind.config.ts # Tailwind CSS 配置
└── 📄 package.json # 依赖和脚本
```
Expand Down Expand Up @@ -99,7 +99,7 @@ pnpm build # 构建生产版本
pnpm start # 启动生产服务器

# 内容
pnpm check:content # 使用 Contentlayer 验证内容

# 导出
pnpm export # 导出静态站点到 /out 目录
Expand All @@ -112,7 +112,7 @@ pnpm export # 导出静态站点到 /out 目录
## 🙏 致谢

- 使用 [Next.js](https://nextjs.org/) 构建
- 由 [Contentlayer](https://contentlayer.dev/) 驱动
- 由 [Fumadocs](https://fumadocs.vercel.app/) 驱动
- 使用 [Tailwind CSS](https://tailwindcss.com/) 样式
- UI 组件来自 [shadcn/ui](https://ui.shadcn.com/)

Expand Down Expand Up @@ -141,7 +141,7 @@ This is a collaborative documentation platform built with modern web technologie

## ✨ Features

- 🚀 **Modern Tech Stack**: Next.js 15 + Contentlayer + MDX
- 🚀 **Modern Tech Stack**: Next.js 15 + Fumadocs + MDX
- 🎨 **Beautiful UI**: Built with Tailwind CSS and shadcn/ui
- 🌍 **Bilingual Support**: Chinese & English content
- 📱 **Responsive Design**: Works perfectly on all devices
Expand Down Expand Up @@ -181,7 +181,7 @@ Open [http://localhost:3000](http://localhost:3000) to see the site.
│ │ └── 📂 computer-science/ # CS Knowledge Base
│ ├── 📄 layout.tsx # Root Layout
│ └── 📄 page.tsx # Homepage
├── 📂 contentlayer.config.ts # Contentlayer Configuration
├── 📂 source.config.ts # Fumadocs Configuration
├── 📂 tailwind.config.ts # Tailwind CSS Config
└── 📄 package.json # Dependencies & Scripts
```
Expand Down Expand Up @@ -234,7 +234,7 @@ pnpm build # Build for production
pnpm start # Start production server

# Content
pnpm check:content # Validate content with Contentlayer

# Export
pnpm export # Export static site to /out
Expand All @@ -247,7 +247,7 @@ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file
## 🙏 Acknowledgments

- Built with [Next.js](https://nextjs.org/)
- Powered by [Contentlayer](https://contentlayer.dev/)
- Powered by [Fumadocs](https://fumadocs.vercel.app/)
- Styled with [Tailwind CSS](https://tailwindcss.com/)
- UI components from [shadcn/ui](https://ui.shadcn.com/)

Expand All @@ -258,4 +258,3 @@ Special thanks to all our contributors! 🎉
- 📧 Issues: [GitHub Issues](https://github.com/involutionhell/involutionhell.github.io/issues)
- 💬 Discussions: [GitHub Discussions](https://github.com/involutionhell/involutionhell.github.io/discussions)
- 🌟 Stars: Show your support with a ⭐

8 changes: 0 additions & 8 deletions app/components/MDXContent.tsx

This file was deleted.

Loading