mirror of https://github.com/halo-dev/halo
![]() #### What type of PR is this? /kind improvement /kind failing-test /area core /milestone 2.0 #### What this PR does / why we need it: Before this PR, our unit tests were flaky to run. After my inspection, I found that extension controllers will run asynchronously at every unit test that is annotated `@SpringBootTest` annotation. Please see the log of failing test: ```java ExtensionConfigurationTest > shouldReturnNotFoundWhenSchemeNotRegistered() FAILED java.lang.AssertionError at ExtensionConfigurationTest.java:72 ``` So this PR makes Halo create super admin initializer and run extension controllers conditionally, especially in tests. You can configure the following property to disable super admin initialization and extension controllers running: ```yaml halo: security: initializer: disabled: true extension: controller: disabled: true ``` BTW, we can configure the initial username and password for super administrator: ```yaml halo: security: initializer: super-admin-username: admin super-admin-password: P@88w0rd ``` #### Which issue(s) this PR fixes: Fixes # #### Special notes for your reviewer: #### Does this PR introduce a user-facing change? <!-- 如果当前 Pull Request 的修改不会造成用户侧的任何变更,在 `release-note` 代码块儿中填写 `NONE`。 否则请填写用户侧能够理解的 Release Note。如果当前 Pull Request 包含破坏性更新(Break Change), Release Note 需要以 `action required` 开头。 If no, just write "NONE" in the release-note block below. If yes, a release note is required: Enter your extended release note in the block below. If the PR requires additional action from users switching to the new release, include the string "action required". --> ```release-note None ``` |
||
---|---|---|
.github | ||
config/checkstyle | ||
docs/developer-guide | ||
gradle/wrapper | ||
hack | ||
src | ||
.editorconfig | ||
.gitattributes | ||
.gitignore | ||
CHANGELOG.md | ||
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ʊ],一款现代化的开源博客/CMS系统,值得一试。
快速开始
Fat Jar
下载最新的 Halo 运行包:
curl -L https://github.com/halo-dev/halo/releases/download/v1.4.17/halo-1.4.17.jar --output halo.jar
其他地址:https://docs.halo.run/getting-started/downloads
java -jar halo.jar
Docker
docker run -it -d --name halo -p 8090:8090 -v ~/.halo:/root/.halo --restart=always halohub/halo
详细部署文档请查阅:https://docs.halo.run/getting-started/install/linux
在线体验
- 环境地址:https://demo.halo.run
- 后台地址:https://demo.halo.run/admin
- 用户名:demo
- 密码:P@ssw0rd123..
- 使用前请阅读:https://demo.halo.run/archives/tips
生态
项目 | 状态 | 描述 |
---|---|---|
halo-admin | Web 管理端 UI,已内置在主应用 | |
js-sdk | JavaScript SDK | |
halo-comment | 独立评论组件,可以非常方便的集成到主题中 | |
halo-comment-normal | 另外一款评论组件 | |
halo-mobile-app | 已停止维护 | 移动端管理 APP |
tencent-cloudbase-halo | 无 | 腾讯云 CloudBase 一键部署配置 |
halo-theme-* | 无 | GitHub 上开源的 Halo 主题集合 |
许可证
Halo 使用 GPL-v3.0 协议开源,请遵守开源协议。
贡献
参考 CONTRIBUTING。