shadowfish07 / VuePressAdmin-backend

用类似WordPress的方式管理你的VuePress站点

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

VuePressAdmin

该项目目前还处于早期开发阶段。

最近参加工作,还在忙另一个毕业设计,这个项目目前正在搁置QAQ

这是VuePressAdmin的后端代码仓库。

GitHub Commitizen friendly codecov

API文档

用类似WordPress的方式管理你的VuePress站点!

VuePressAdmin允许你方便地管理VuePress的配置、发布和管理文章,后续还将支持一键发布至多平台、允许多作者等功能。

安装并启动

npm install

启动测试服务器(热重载)

npm run dev

启动服务(适用于部署)

npm run start

停止服务

npm run stop

执行单元测试

npm run test # 会先检查eslint,再执行单元测试
npm run test-local # 直接执行单元测试
npm run test-local-without-shell # 直接执行单元测试,但跳过需要网络请求的shell测试
npm run cov # 执行单元测试,生成代码覆盖率报告

技术栈

VuePressAdmin后端部分主要使用的框架和库:

  • VuePress(作为站点的驱动框架)
  • EggJS(web服务框架)
  • Sequelize v6(ORM框架)
  • Caddy(新一代web服务器,提供本地部署站点能力)
  • Shelljs(方便地执行shell)
  • git(对站点、文章的修改都会自动提交到git,方便灵活发布站点)
  • sinon(提供单元测试mock能力)

VuePressAdmin使用sqlite作为数据库。

VuePressAdmin基于Angular Conventional Changelog规范,使用Commitizen处理生成优雅、规范的代码提交记录。

VuePressAdmin使用release-it自动生成版本号、发布版本、生成CHANGELOG。

VuePressAdmin使用codecov提供集成化的代码覆盖率报告。

VuePressAdmin使用apidoc生成API文档,搭配GitHub Actionnetlify自动更新发布API文档。

相关文章

建立、维护开源项目的过程让我了解、学会了很多新技术,故对一些自己印象深刻的经历做了总结,希望能够帮到更多的人。

在数据库选型上,我考虑过常用的MySQL,也考虑过MongoDB,不过最终选择了SQLite。我认为它在这个项目背景下非常适用,足够简单,足够灵活,足够容易学习。

逛GitHub的时候发现现在越来越多的库的提交风格都规范统一,特别优雅,故借此机会探索了规范提交风格方面的技术,在本项目中也会一直贯彻落实。

玩单元测试时的一些感受~涉及到了对sinon、proxyquire的一些探讨

更新日志

更新日志由release-it自动生成:CHANGELOG

About

用类似WordPress的方式管理你的VuePress站点

License:MIT License


Languages

Language:JavaScript 99.5%Language:Dockerfile 0.5%Language:Shell 0.0%