Navigation 是一个基于 .NET 10 (AOT) + Vue 3 (Vite SSG) 构建的轻量级导航与书签管理项目。后端采用 ASP.NET Core 与 SQLite 数据库,并集成了 Scalar 提供优雅的 OpenAPI 界面;前端界面使用 Tailwind CSS 与 ReKa UI 构建,提供流畅的现代化交互体验。
通过 Docker 可以快速运行本项目,支持 amd64/arm64 多架构平台:
# 拉取最新镜像
docker pull ghcr.io/csvkse/navigation:latest
# 运行容器 (暴露在 8080 端口)
docker run -d --name navigation -p 8080:8080 -v navigation-data:/app/data ghcr.io/csvkse/navigation:latest# 拉取最新镜像
docker pull ghcr.io/csvkse/navigation:latest
# 停止并删除旧容器
docker stop navigation
docker rm navigation
# 运行新容器
docker run -d --name navigation -p 8080:8080 -v navigation-data:/app/data ghcr.io/csvkse/navigation:latest进入项目的 GitHub Releases 页面,下载对应平台的可执行程序压缩包(支持 Windows/Linux 等平台)。由于后端采用 AOT(Ahead-of-Time)编译,解压后即可直接运行主程序,无需在系统中额外安装 .NET 运行时环境。
克隆代码库并进入项目目录:
git clone https://github.com/csvkse/Navigation.git
cd Navigation发布整个项目(由于配置了 MSBuild 任务,发布过程中前端和后端会自动一并构建):
cd Navigation
# 构建自包含的 AOT 版本,在此期间会自动执行 pnpm install 与 pnpm run build:ssg 以集成前端产物
dotnet publish -c Release构建成功后,在 bin/Release/net10.0/zh-Hans/publish/ 或对应的系统架构目录下即可找到编译好的可执行程序及静态分发文件。
项目利用 GitHub Actions 实现自动化的持续发布与集成:
- Docker 镜像发布:当向
main分支提交代码或者发布合并拉取请求时,会自动触发.github/workflows/docker-build.yml工作流,构建多架构镜像并推送至 GitHub Container Registry (ghcr.io)。 - 桌面版/可执行程序发布:当向仓库推送特定的 Tag 或者手动触发
.github/workflows/desktop-release.yml工作流时,会自动触发编译流程,并在 GitHub Releases 页面提供对应全平台编译好的 AOT 压缩包。
Navigation/
├── .github/ # GitHub Actions CI/CD 自动化工作流配置
├── Navigation/ # 后端项目代码 (.NET 10 ASP.NET Core Web API)
│ ├── Navigation.csproj # 后端项目配置,包含自动构建和发布前端资源的 MSBuild 任务
│ ├── wwwroot/ # 最终的前端静态站点产物和服务目录
│ └── Dockerfile # Docker 容器多架构构建预设文件
├── Navigation.Frontend/ # 前端客户端项目 (Vue 3, TypeScript, Vite)
│ ├── src/ # 核心页面视图组件 (如 WebNav.vue) 和前端交互逻辑
│ ├── package.json # 前端依赖配置及 Vite 构建脚本
│ └── tsconfig.app.json # TypeScript 编译配置
├── README.md # 项目文档说明 (中文)
└── README-en.md # 项目文档说明 (英文)



