feat(docs): 配置文档生成系统并添加框架文档

- 配置docfx.json以支持多项目源文件生成API文档
- 添加filterConfig.yml过滤测试和内部实现相关代码
- 创建主页index.md介绍GFramework框架特性
- 配置多层级目录结构toc.yml组织文档导航
- 设置构建输出路径和全局元数据配置
This commit is contained in:
GeWuYou 2026-02-03 08:56:24 +08:00
parent 624f193a2c
commit 1ea0eac6a2
6 changed files with 123 additions and 6 deletions

View File

@ -1,19 +1,54 @@
{
{
"metadata": [
{
"src": [
{
"files": [ "GFramework.sln" ]
"src": "..",
"files": [
"GFramework.Core/GFramework.Core.csproj",
"GFramework.Core.Abstractions/GFramework.Core.Abstractions.csproj",
"GFramework.Game/GFramework.Game.csproj",
"GFramework.Game.Abstractions/GFramework.Game.Abstractions.csproj",
"GFramework.Godot/GFramework.Godot.csproj"
]
}
],
"dest": "api"
"dest": "api",
"filter": "filterConfig.yml",
"properties": {
"TargetFramework": "net8.0"
}
}
],
"build": {
"content": [
{ "files": [ "api/**.yml", "api/index.md" ] },
{ "files": [ "docs/**.md", "docs/**/toc.yml" ] }
{
"files": [ "api/**.yml", "api/index.md" ]
},
{
"files": [ "../docs/**.md", "../docs/**/toc.yml" ],
"src": "../docs"
},
{
"files": [ "toc.yml", "*.md" ]
}
],
"dest": "_site"
"resource": [
{
"files": [ "../README.md" ],
"src": ".."
}
],
"dest": "_site",
"template": [ "default" ],
"globalMetadata": {
"_appTitle": "GFramework Documentation",
"_enableSearch": true,
"_appFooter": "Copyright © 2026 GeWuYou. All rights reserved.",
"pdf": false
},
"xref": [
"https://learn.microsoft.com/en-us/dotnet/.xrefmap.json"
]
}
}

13
docfx/filterConfig.yml Normal file
View File

@ -0,0 +1,13 @@
apiRules:
- exclude:
# 排除测试项目
uidRegex: ^.*Tests$
type: Namespace
- exclude:
# 排除生成器项目
uidRegex: ^.*SourceGenerators.*$
type: Namespace
- exclude:
# 排除内部实现细节
uidRegex: ^.*Internals.*$
type: Namespace

5
docfx/toc.yml Normal file
View File

@ -0,0 +1,5 @@
- name: Home
href: ../docs/index.md
- name: API Documentation
href: api/
homepage: api/namespaces.md

2
docs/api/toc.yml Normal file
View File

@ -0,0 +1,2 @@
- name: Namespaces
href: namespaces.md

33
docs/index.md Normal file
View File

@ -0,0 +1,33 @@
# GFramework Documentation
Welcome to the GFramework documentation!
## Overview
GFramework is a comprehensive game development framework built with clean architecture principles. It provides a solid foundation for building scalable and maintainable game applications.
## Key Features
- **Clean Architecture**: Well-defined separation of concerns
- **Modular Design**: Pluggable architecture modules
- **Event System**: Robust event-driven programming
- **Command Pattern**: Structured command execution
- **Property Binding**: Reactive property system
- **Coroutine Support**: Asynchronous programming utilities
- **IOC Container**: Dependency injection support
- **Logging System**: Comprehensive logging capabilities
## Getting Started
Check out the [API Documentation](api/) for detailed reference, or explore the specific modules in the navigation menu.
## Modules
- **Core**: Fundamental framework components
- **Game**: Game-specific extensions
- **Godot**: Godot engine integration
- **Source Generators**: Compile-time code generation
## Contributing
Please read our contributing guidelines before submitting pull requests.

29
docs/toc.yml Normal file
View File

@ -0,0 +1,29 @@
- name: Home
href: index.md
- name: API Documentation
href: api/
homepage: api/index.md
- name: Core Framework
items:
- name: Architecture
href: GFramework.Core/architecture/README.md
- name: Commands
href: GFramework.Core/command/README.md
- name: Events
href: GFramework.Core/events/README.md
- name: Properties
href: GFramework.Core/property/README.md
- name: Systems
href: GFramework.Core/system/README.md
- name: Models
href: GFramework.Core/model/README.md
- name: Queries
href: GFramework.Core/query/README.md
- name: Coroutines
href: GFramework.Core/coroutine/
- name: Logging
href: GFramework.Core/logging/README.md
- name: IOC Container
href: GFramework.Core/ioc/README.md
- name: Pool System
href: GFramework.Core/pool/README.md