返回作品

银龙文章工具

创建于 2025 年 1 月 1 日

标签
  • C#
  • Avalonia
  • ReactiveUI
  • SqlSugar

项目介绍

银龙文章工具是一个基于 Avalonia 的跨平台桌面应用,窗口标题为“银龙”。项目不是单页小工具,而是把网页采集、文章库、Markdown 编辑、小红书解析、设置和关于页面组织成一个完整的内容工作台。主窗口 MainWindow.axaml 中通过顶部菜单切换 CrawlerViewCollectionViewMarkdownEditorViewXiaohongshuViewSettingsViewAboutView,界面结构非常清楚。

这个工具面向日常写作、内容整理和素材沉淀场景。很多内容创作者会在 GitHub、Gitee、网页、小红书和本地笔记之间来回切换,素材采集后还需要整理成 Markdown。项目尝试把“抓取 -> 入库 -> 检索 -> 编辑 -> 发布状态管理”收敛到一个本地桌面应用里。

项目架构

解决方案按职责拆成多个项目:ArticleTool.Ui 负责 Avalonia 界面和 ViewModel,ArticleTool.Crawler 负责 GitHub/Gitee 等采集服务,ArticleTool.DataBase 负责本地数据持久化,ArticleTool.Common 放公共模型。界面层使用 MVVM 组织,包含 CrawlerViewModelCollectionViewModelMarkdownEditorViewModelXiaohongshuViewModelMainWindowViewModel

数据层使用 SqlSugar,文章实体 ArticleEntity 对应本地 Articles 表,字段包括标题、内容、来源平台、原始链接、原始平台 ID、是否已发布、发布时间、创建时间和更新时间。采集层定义 ICrawlerService,并实现 GithubCrawlerServiceGiteeCrawlerService,小红书解析则由 XiaohongshuParserService 负责。

核心功能

  • 网页采集:通过统一采集接口抓取 GitHub、Gitee 等页面内容,保存标题、正文、来源平台和原始链接。
  • 本地文章库:用 SqlSugar 管理 Articles 表,支持文章入库、检索、分页和发布状态维护。
  • Markdown 编辑:提供 Markdown 写作入口,适合把采集内容二次整理成文章。
  • 小红书解析:通过独立解析服务处理小红书链接,将外部内容转换为可编辑素材。
  • MVVM 界面组织:每个功能页面都有对应 View 和 ViewModel,便于后续增加新采集源或新编辑工具。
  • 设置与发布状态:文章实体保留 IsPublishedPublishTime 等字段,为后续发布流程预留扩展空间。

功能截图

快速上手

项目基于 .NET 和 Avalonia,需要先安装 .NET SDK。进入解决方案根目录执行 dotnet restore,然后启动 ArticleTool.Ui 工程即可打开桌面应用。初次运行时本地数据库会按数据层配置初始化,之后可以从采集页输入链接,将内容保存到文章库,再进入 Markdown 编辑页继续整理。

总结

银龙文章工具的价值在于把内容生产中最琐碎的几步放进一个桌面工作台:外部链接采集、本地文章库、Markdown 编辑和平台解析。它适合作为个人内容管线、素材管理工具或 Avalonia 桌面应用案例,后续可以继续扩展标签、全文搜索、发布平台和批量导出能力。