mirror of https://github.com/halo-dev/halo
![]() #### What type of PR is this? /kind feature /milestone 2.3.x /area core /area plugin #### What this PR does / why we need it: 顺便重构了一下插件 Reconciler ,否则经常容易出 bug,刚好一起测试一下免得反复整体测试这一块。 1. 插件 status 里的 message 和 reason 之前是直接放在 status 里的,现在改为一个 ConditionList, 最新的始终在 ConditionList 的第一个,这可以避免插件启动成功时还能在 message 上看到错误信息会很奇怪 2. 插件的 Setting 只会在卸载时删除,停止时不进行删除 3. 插件启动和停止状态的调和能从 CREATED、DISABLED、RESOLVED、STARTED、STOPPED、FAILED 这些状态之间进行循环过渡,如插件当前状态为 CREATED 期望达到 STARTED 则可能会经历 CREATED -> RESOLVED -> STARTED( -> FAILED) 这些过渡, 逻辑更清晰 Console 需要适配: 1. 需要去掉插件启动时才加载 Setting 的判断,让其在插件停用时也能加载 2. 需要修改发生错误时的字段取值,显示 conditons[0] #### Which issue(s) this PR fixes: Fixes #3352 #### Special notes for your reviewer: how to test it? 1. 测试在开发模式和生产模式下插件启用/设置/配置是否正常 2. 测试开发模式下插件启动失败后修复问题重启 halo 后能否正常启用 3. 测试插件卸载后 setting 是否被正确删除 4. 测试插件 logo 相对路径和 url 是否都能正常显示 5. 测试评论插件启动成功后主题端是否能显示评论列表(验证扩展点加载是否正常) 6. 测试插件配置了 settingName 但没有对应的 Setting 时的情况看 Reconciler 重试时间是否增长 /cc @halo-dev/sig-halo #### Does this PR introduce a user-facing change? ```release-note 允许插件在未启动时更改设置 ``` |
||
---|---|---|
.github | ||
config/checkstyle | ||
docs | ||
gradle/wrapper | ||
hack | ||
src | ||
.editorconfig | ||
.gitattributes | ||
.gitignore | ||
CODE_OF_CONDUCT.md | ||
CONTRIBUTING.md | ||
Dockerfile | ||
LICENSE | ||
OWNERS | ||
README.md | ||
SECURITY.md | ||
build.gradle | ||
gradle.properties | ||
gradlew | ||
gradlew.bat | ||
settings.gradle |
README.md
Halo [ˈheɪloʊ],强大易用的开源建站工具。
快速开始
docker run \
-it -d \
--name halo \
-p 8090:8090 \
-v ~/.halo2:/root/.halo2 \
halohub/halo:2.2 \
--halo.external-url=http://localhost:8090/ \
--halo.security.initializer.superadminuser=admin \
--halo.security.initializer.superadminpassword=P@88w0rd
以上仅作为体验使用,详细部署文档请查阅:https://docs.halo.run/getting-started/install/docker-compose
在线体验
- 环境地址:https://demo.halo.run
- 后台地址:https://demo.halo.run/console
- 用户名:
demo
- 密码:
P@ssw0rd123..
生态
可访问 awesome-halo 查看已经适用于 Halo 2.0 的主题和插件,以及适用于 Halo 1.x 的相关仓库。
许可证
Halo 使用 GPL-v3.0 协议开源,请遵守开源协议。
贡献
参考 CONTRIBUTING。