directory-structure.md
February 23, 2026 · View on GitHub
SwashbucklerDiary/
├── .editorconfig # 编辑器/IDE 配置,用于统一代码风格 (缩进/编码/换行等)
├── .gitattributes # Git 属性文件 (定义 git 行为,如换行、差异显示等)
├── .gitignore # Git 忽略规则 —— 指定不纳入版本控制的文件/目录
├── .github/ # GitHub 相关配置(CI/Release/Issue 模板等)
├── res/ # 项目资源 (resource) —— 比如截图、图片等静态资源
├── src/
│ ├── Maui.Essentials # 移植 MAUI 上的一些功能
│ ├── SwashbucklerDiary.Gtk/ # 基于Gtk、WebKitGtk和Blazor Hybrid的Linux客户端实现
│ ├── SwashbucklerDiary.Maui/ # 基于.NET MAUI和Blazor Hybrid的 跨平台的客户端实现(Android、iOS、macOS 和 Windows)
│ │ ├── Extensions/ServiceCollectionExtensions/ # 扩展方法 (如日志系统注册等)
│ │ ├── 其它平台相关代码/资源 # 各平台 UI 启动、兼容层、资源文件等
│ │ └── MauiProgram.cs, App.xaml, MainPage.xaml # MAUI 启动与主界面定义
│ ├── SwashbucklerDiary.Rcl/ # 共享 Razor 组件库 (RCL — Razor Class Library),定义不同项目共享的UI组件和页面视图
│ │ ├── Layout/ # 主界面布局相关组件 (导航、底栏等)
│ │ ├── Pages/ # 各页面 (主页、日记页、标签页等)
│ │ ├── Components/ # 可复用 UI 组件 (按钮、对话框、卡片、列表等)
│ │ ├── Services/ # 业务服务 (状态管理、应用逻辑、数据服务等)
│ │ ├── Models/ # 数据模型 (日记条目、标签、元数据等结构定义)
│ │ ├── Repository/ # 数据访问 / 仓储 (存取日记内容、日志、元数据等)
│ │ └── wwwroot/ # Web 静态资源 (本地化语言包、图标、样式、脚本等)
│ ├── SwashbucklerDiary.Rcl.Hybrid/ # RCL 的客户端专用实现,继承并扩展Rcl中的基础组件和服务接口
│ ├── SwashbucklerDiary.Rcl.Web/ # RCL 的浏览器端专用实现,继承并扩展Rcl中的基础组件和服务接口
│ ├── SwashbucklerDiary.Server/ # 基于 Blazor Server 的 Web 版本实现 (浏览器端,服务器渲染)
| ├── SwashbucklerDiary.Shared/ # 核心数据模型与共享基础设施,扩展方法、常量、枚举等
│ └── SwashbucklerDiary.WebAssembly/ # 基于 Blazor WebAssembly 的 Web 版本实现 (浏览器端,纯前端)
├── LICENSE.txt # 开源许可证 (本项目采用 AGPL-3.0)
├── README.md # 中文说明/项目介绍/使用方法/功能特性等
├── README.en-US.md # 英文版本的项目说明 (方便国际用户)
├── SwashbucklerDiary.Gtk.sln # 用于 GTK Linux 桌面 (Blazor Hybrid) 平台构建的解决方案 (适合 Linux)
├── SwashbucklerDiary.Maui.sln # 用于 .NET MAUI (Blazor Hybrid) 构建 (移动 / 跨平台 GUI) 的解决方案 (适合移动 / 桌面)
├── SwashbucklerDiary.Server.sln # 用于构建 Blazor Server 版本的解决方案 (Web 平台)
├── SwashbucklerDiary.sln # Visual Studio / .NET 的主解决方案文件 —— 管理整个项目结构/依赖/构建配置
├── SwashbucklerDiary.WebAssembly.sln # 用于构建 Blazor WebAssembly 版本的解决方案 (Web 平台)
├── download-guide.md # (可选) 下载 / 安装 / 发布 相关指南或说明文档
└── … # 其他辅助文件 (若有)/根据不同分支可能略有不同