基于.NetCore开发 StarBlog 番外篇 (3) StarBlog Publisher,跨平台一键发布,DeepSeek加持的文章创作神器

前言

我一直在优化发布文章的工作流

之前的 StarBlog 已经支持文章打包上传(将 Markdown 和图片文件一并打包为 ZIP 格式上传),但还是有不少步骤,重复的次数多了,还是感觉麻烦。

为此我爆肝了几天,开发了这款 StarBlog Publisher,这个工具更进一步简化了发表文章流程,实现了真正的一站式发布体验,大幅提升了内容创作者的工作效率。

简介

StarBlog Publisher 是一款专为 StarBlog 博客系统 设计的专业文章发布工具,提供比传统打包上传更便捷的文章发布方式。

它支持 Markdown 格式文章的预览和发布,提供直观的用户界面,让您能够轻松管理和发布博客内容。

基于 C#和.NET 8.0 构建,充分利用 Microsoft.Extensions.AI 框架,集成了多种领先的 AI 大模型(包括 OpenAI 的 ChatGPT、Anthropic 的 Claude 和 DeepSeek 等),为内容创作提供智能辅助功能。

跨平台设计让您可以在 Windows、macOS 和 Linux 上享受一致的体验,展现了.NET 生态系统对现代 AI 应用开发的强大支持。

界面截图

主界面(浅色模式)

基于.NetCore开发 StarBlog 番外篇 (3) StarBlog Publisher,跨平台一键发布,DeepSeek加持的文章创作神器

主界面(深色模式)

基于.NetCore开发 StarBlog 番外篇 (3) StarBlog Publisher,跨平台一键发布,DeepSeek加持的文章创作神器

设置界面

基于.NetCore开发 StarBlog 番外篇 (3) StarBlog Publisher,跨平台一键发布,DeepSeek加持的文章创作神器

解决 Markdown 写作的痛点

在使用 Markdown 进行博客写作时,我们经常会遇到以下痛点:

  • 图片处理繁琐:使用 Typora 等编辑器写作时,本地图片的管理和上传是一个常见的痛点。每次发布文章都需要单独处理图片资源
  • 发布流程复杂:传统的博客发布方式通常需要多个步骤,包括导出文章、处理图片、登录后台、填写信息等
  • 多平台适配困难:将同一篇文章发布到不同平台(如个人博客、知乎、公众号等)时,需要重复进行格式调整
  • 版本管理不便:文章的多次修改和更新难以追踪和管理

StarBlog Publisher 的优势

相比于传统的文章发布方式,StarBlog Publisher 提供了以下优势:

  • 一键发布:直接从本地 Markdown 文件发布到博客系统,无需手动打包上传
  • 自动图片处理:自动识别并处理 Markdown 中的本地图片,上传至服务器并更新链接
  • 实时预览:所见即所得的编辑体验,确保发布效果符合预期
  • 跨平台复制:发布后可一键复制格式化内容,方便发表到知乎、公众号等其他平台
  • AI 辅助创作:集成多种 AI 大模型,提供标题润色、内容总结等智能辅助功能
  • 本地与云端同步:保持本地文章与已发布文章的同步,便于持续更新

功能特点

  • Markdown 支持:完整支持 Markdown 格式,包括图片、链接、代码块等
  • 图片上传:自动处理 Markdown 中的本地图片,上传至博客服务器
  • 文章预览:实时预览 Markdown 渲染效果
  • 文章管理:支持文章的创建、编辑、发布和删除
  • 分类管理:支持对文章进行分类
  • AI 辅助:集成多种 AI 模型(OpenAI、Claude、DeepSeek 等),提供基于大模型的文章标题润色、文章总结和简介自动生成功能,大幅提升内容创作效率
  • 词云生成:可视化展示博客内容关键词
  • 主题切换:支持亮色/暗色主题切换
  • 代理设置:支持配置 HTTP 代理,解决网络访问问题
  • 自定义后端:可配置自定义的博客后端 API 地址

技术栈

  • UI 框架:Avalonia 11.2.1
  • 开发语言:C# (.NET 8.0)
  • MVVM 框架:CommunityToolkit.Mvvm 8.2.1 + ReactiveUI 19.5.41
  • Markdown 处理:Markdig 0.40.0 + Markdown.Avalonia 11.0.3
  • HTTP 客户端:Refit 8.0.0
  • AI 集成:Microsoft.Extensions.AI 9.3.0
  • 对话框:MessageBox.Avalonia 3.1.5

下载方式和安装步骤

  1. Github Releases 页面下载最新版本
  2. 解压缩下载的文件
  3. 运行 StarBlogPublisher.exe

开发记录

最后来看下这个开发日志,爆肝好多天的成果!

核心功能

  • 文章管理

    • 添加文章更新功能并优化发布流程 (2025-03-23)
    • 添加获取文章详情的接口方法 (2025-03-23)
    • 新增博客文章相关模型和服务接口 (2025-03-23)
    • 重构发布文章逻辑为多个独立方法 (2025-03-23)
    • 修复更新文章内容后未重新获取文章详情的问题 (2025-03-23)
  • Markdown处理

    • 添加Markdown处理功能及工具类 (2025-03-23)
    • 添加文件路径支持并优化Markdown处理逻辑 (2025-03-23)
    • 重构图片处理逻辑,直接上传图片到后端 (2025-03-23)
    • 添加图片上传进度事件以提升用户体验 (2025-03-23)
  • 分类管理

    • 集成了分类API (2025-03-22)
    • 添加分类词云功能 (2025-03-23)

AI功能

  • 新增AI配置功能 (2025-03-23)
  • 添加AI生成文章简介功能 (2025-03-23)
  • 添加AI润色文章标题功能 (2025-03-23)
  • 添加重新生成文章简介按钮并优化AI功能状态管理 (2025-03-23)
  • 添加AIService类以支持AI文本生成和聊天回复 (2025-03-23)
  • 优化AI提供商配置及默认模型设置 (2025-03-23)
  • 优化AI提供商选择功能,增加显示名称和描述 (2025-03-23)
  • 优化AI服务提供者获取方式和简介生成提示 (2025-03-23)
  • 修复自定义AI提供者时未正确设置默认值的问题 (2025-03-23)

用户界面

  • 使用Claude初步完成了界面布局;以及markdown预览功能 (2025-03-12)
  • 增加了深色模式切换 (2025-03-13)
  • 新增了关于界面 (2025-03-13)
  • 调整主界面布局;新增预览界面 (2025-03-23)
  • 调整登录状态面板的布局和样式 (2025-03-23)
  • 保存深色/浅色模式切换 (2025-03-23)
  • 添加复制内容和重置标题功能 (2025-03-26)

用户体验

  • 打开文件时自动填充标题和文章说明 (2025-03-23)
  • 添加自动登录功能以提升用户体验 (2025-03-23)
  • 完成了密码切换显示/隐藏功能 (2025-03-22)

安全性

  • 增加了密码加密功能 (2025-03-22)
  • 接口服务增加了代理功能 (2025-03-23)

文档和配置

  • 新增了vscode的调试配置 (2025-03-18)
  • 添加README文件及项目相关图片 (2025-03-26)

Bug修复

  • 修复了配置加载失败的bug (2025-03-22)
  • 修复了AI生成的一个bug: 把showPassword搞反了 (2025-03-22)
  • 修复更新文章内容后未重新获取文章详情的问题 (2025-03-23)
  • 修复自定义AI提供者时未正确设置默认值的问题 (2025-03-23)
  • 关于界面的链接也改成正确的了 (2025-03-13)
发表评论

您必须 [ 登录 ] 才能发表留言!

相关文章