mirror of
https://github.com/GeWuYou/GFramework.git
synced 2026-03-22 10:34:30 +08:00
- 将模块配置提取到共享的 module-config.sh 文件中 - 在 batch-generate.sh 中使用 get_source_dir 和 is_valid_module 函数 - 更新可用模块列表显示为动态获取 - 在 generate-examples.sh 中添加命名空间参数和详细的示例生成指南 - 优化 update-vitepress-nav.sh 中的用户界面和添加重复检查 - 修改 validate-all.sh 中的代码块验证以避免中断流程 - 改进 validate-frontmatter.sh 中的 frontmatter 检测逻辑 - 将 find 命令结果存储为数组以提高处理准确性
85 lines
1.8 KiB
Bash
85 lines
1.8 KiB
Bash
#!/bin/bash
|
|
# 共享的模块配置
|
|
# 用于统一管理 GFramework 项目的模块映射关系
|
|
|
|
# 根据模块名获取源代码目录
|
|
get_source_dir() {
|
|
local MODULE="$1"
|
|
case "$MODULE" in
|
|
Core)
|
|
echo "GFramework.Core"
|
|
;;
|
|
Game)
|
|
echo "GFramework.Game"
|
|
;;
|
|
Godot)
|
|
echo "GFramework.Godot"
|
|
;;
|
|
SourceGenerators)
|
|
echo "GFramework.SourceGenerators"
|
|
;;
|
|
*)
|
|
echo ""
|
|
return 1
|
|
;;
|
|
esac
|
|
}
|
|
|
|
# 根据模块名获取文档输出目录
|
|
get_docs_dir() {
|
|
local MODULE="$1"
|
|
case "$MODULE" in
|
|
Core)
|
|
echo "docs/zh-CN/api-reference/core"
|
|
;;
|
|
Game)
|
|
echo "docs/zh-CN/api-reference/game"
|
|
;;
|
|
Godot)
|
|
echo "docs/zh-CN/api-reference/godot"
|
|
;;
|
|
SourceGenerators)
|
|
echo "docs/zh-CN/api-reference/source-generators"
|
|
;;
|
|
*)
|
|
echo ""
|
|
return 1
|
|
;;
|
|
esac
|
|
}
|
|
|
|
# 根据命名空间推断模块名
|
|
infer_module_from_namespace() {
|
|
local NAMESPACE="$1"
|
|
if [[ "$NAMESPACE" == GFramework.Core* ]]; then
|
|
echo "Core"
|
|
elif [[ "$NAMESPACE" == GFramework.Game* ]]; then
|
|
echo "Game"
|
|
elif [[ "$NAMESPACE" == GFramework.Godot* ]]; then
|
|
echo "Godot"
|
|
elif [[ "$NAMESPACE" == GFramework.SourceGenerators* ]]; then
|
|
echo "SourceGenerators"
|
|
else
|
|
echo ""
|
|
return 1
|
|
fi
|
|
}
|
|
|
|
# 获取所有可用模块列表
|
|
get_all_modules() {
|
|
echo "Core Game Godot SourceGenerators"
|
|
}
|
|
|
|
# 验证模块名是否有效
|
|
is_valid_module() {
|
|
local MODULE="$1"
|
|
case "$MODULE" in
|
|
Core|Game|Godot|SourceGenerators)
|
|
return 0
|
|
;;
|
|
*)
|
|
return 1
|
|
;;
|
|
esac
|
|
}
|