Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Arcticn/KeyBlog

Repository files navigation

🔑KeyBlog

中文 | English

😊项目介绍

通过学习 Deali-Axy 大佬的 StarBlog 而编写的 Vue.js + ASP .Net Core 博客项目

集成了前端博客页面与简易的后台管理

进行了一定的部署优化,确保提供开箱即用的体验,包括为所有用户提供了免费图床

🙂技术选型

  • 前端:Vue.js 3 + ElementPlus + md-editor-v3
  • 后端:.Net 8 + ASP .Net Core + FreeSQL + JWT身份验证 + PostgreSQL/SQLite

😶‍🌫️项目结构

  • KeyBlog.Data:数据模型+初始化程序,运行该程序进行数据库初始化+markdown文章批量导入
  • KeyBlog.Server:项目后端部分
  • KeyBlog.client:Vue 前端网页部分

🐳博客功能

  • 初始化时批量导入本地markdown文件,并自动根据文件夹构建层级分类
  • 查看博客正文,提供目录用于跳转
  • 博客正文显示页面增加更多信息,如更新时间等
  • 博客正文页面底部实现评论系统
  • 搜索博客 & 对博客进行排序
  • 在线编辑功能(实现对普通用户和管理员的不同在线编辑:普通用户仅能下载到本地,管理员可自由选择远程发布或本地保存)
  • 在线编辑时可上传图片或从剪贴板粘贴,之后,图片自动上传到图床并插入链接(对于普通用户,提供了免费图床的调用,设置在OnlineEditor.vue;对于管理员用户,图床地址和token请在appsettings.json手动设置)
  • 在线编辑时的版本历史记录 & 自动保存
  • 文章主题 & 代码主题变更 & 黑夜模式
  • 更多自定义主题选项
  • 壁纸轮换
  • 管理系统,实现对博客的增删改查,覆盖大多数场景
  • 在管理系统内上传本地文件夹或文件
  • 访问统计

🥰Build

本项目基于 .Net8 开发,构建之前请确保已经安装 .Net8 SDK

🐬最简部署方法

git clone https://github.com/Arcticn/KeyBlog.git
cd .\KeyBlog\
dotnet publish "KeyBlog.Server" --configuration Release --output "KeyBlog.Server\publish"

dotnet publish操作会自动执行npm run build并将生成的静态文件存放到publish文件夹

如果选择使用SQLite,在dotnet publish完成后,将代码随附的初始化后的SQlite数据库app.db复制进入KeyBlog.Server\publish文件夹下

进入publish文件夹,启动KeyBlog.Server.exe,默认监听在localhost:5179上

如果需要初始时批量导入markdown或者更换数据库,请先调整并运行KeyBlog.Data相关内容以进行初始化

☁️部署到Azure

如果您想要部署到Azure,建议使用Azure远程PostgreSQL数据库服务并更改相关代码

  • 使用虚拟机服务(更灵活,但免费级别的机器不可靠)

    直接部署publish文件夹。需要注意调整端口到80或443

  • 使用AppService应用服务(F1层免费,且更方便)

    可以使用Github Action自动部署,无需调整端口,申请AppService可能花费较长时间(约几天)。

    • Action推送配置可以使用Visual Studio发布选项自动生成,建议跳过API管理部分

📚项目展示

主页

主页

文章页面

文章页面

在线编辑(管理员)

在线编辑

在线编辑(游客,仅提供md本地下载)

在线编辑游客

管理页面(仅管理员)

管理页面

About

A blog website made with ASP .Net core + Vue.js 使用 ASP .Net core + Vue.js 编写的前后端分离的博客网站

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

Contributors

AltStyle によって変換されたページ (->オリジナル) /