mirror of https://github.com/halo-dev/halo
21db06a507
#### What type of PR is this? /kind improvement /area editor /area ui #### What this PR does / why we need it: 此 PR 重构了默认编辑器中代码块的相关代码,使编辑器能够被插件扩展。这样做的优点是当用户使用例如 [highlightjs](https://github.com/halo-sigs/plugin-highlightjs) 这类的高亮插件时,可以保证在 Console 端选择的语言及主题可以在主题端完美适配。 具体做了以下几处重构: 1. 在默认编辑器的代码块中,不再提供高亮样式,代码块高亮将完全交由插件来适配。(但可以在默认的代码块中自定义输入语言,主题端自行处理)。 2. 为了防止出现重复的插件功能,将会根据插件优先级及加载顺序(后加载优先级高于先加载),对同类型且同名的插件进行过滤,只保留一个。 3. 重构代码块 `Select` 组件,使得选择语言或主题更加方便。 4. 为代码块提供主题的扩展设置项。 建议在此 PR 合并之后,由 Halo 默认提供一个高亮插件作为预设插件,这样可以用于解决原有功能升级之后丢失的问题。 <img width="1067" alt="image" src="https://github.com/user-attachments/assets/f9e2c5eb-a48a-4d2c-9fee-442e9d16ef19"> #### How to test it? 测试是否会改变已有代码块的语言等。 测试使用第三方插件之后,是否具有高亮。 设置高亮语言后,保存并刷新,查看高亮语言是否存在。主题同理。 查看主题端是否能够正常渲染。 #### Does this PR introduce a user-facing change? ```release-note 重构默认编辑器代码块使其能够被插件扩展。 ``` |
||
---|---|---|
.devcontainer | ||
.github | ||
api | ||
api-docs/openapi/v3_0 | ||
application | ||
buildSrc | ||
config/checkstyle | ||
docs | ||
e2e | ||
gradle/wrapper | ||
hack | ||
platform | ||
ui | ||
.dockerignore | ||
.editorconfig | ||
.gitattributes | ||
.gitignore | ||
.gitpod.yml | ||
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 -d --name halo -p 8090:8090 -v ~/.halo2:/root/.halo2 halohub/halo:2.18
以上仅作为体验使用,详细部署文档请查阅: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.x 的主题和插件。
许可证
Halo 使用 GPL-v3.0 协议开源,请遵守开源协议。
赞助
如果 Halo 对你有帮助,欢迎赞助我们,感谢以下赞助者对 Halo 项目的支持:
贡献
参考 CONTRIBUTING。