焕然一新
更多扩展尽在Tool Bench
安装插件
动指间的功夫,就能享受Tool Bench带来的好处,GitHub Repository Tool Bench
插件功能
Tool Bench在迁移了部分Joe2.0的特殊样式的基础上进行了进一步的改进和内容增添,同时适配了绝大部分主题的Markdown文章,相关的功能可以在插件 -> ToolBench -> 基本设置
中进行配置。
- 对接GitHub仓库信息
- AntV X6图编辑引擎
- AntV G2可视化语法
- 文本装饰元素和样式
- 多媒体元素内嵌
- ToolBench尺寸自适应表达式
- 可配置的GraphQL请求
- 新增目录页模板
目前插件仍处于开发初阶段,仍有很多功能在计划开发的日程中,在后面的版本迭代中会逐步跟进。
- 支付宝当面付能力
- 音频、视频元素内嵌
- 网易云歌单内嵌
- 邮件通知模板
- 功能性内容接口
- font-awesome等图标支持
使用指南
插件提供了较多的自定义元素和标签,这些样式的撰写指南和演示你可以在《ToolBench样式指南》文章中找到。
开发指南
目录页
插件提供了目录页/directory
的路由支持,各主题开发者可以参考《Thymeleaf目录页原理》实现该页面的能力。
重写样式
插件为自定义元素、标签提供的样式并不能完全满足所有主题的需求(如存在白天、夜间模式切换的主题)。为此有需求的用户可以通过重写样式实现自己的需求,参考resources/css/tool-bench.css
的所有class
进行重写可以实现自己想要的样式需求。
插件开发
在拉取ToolBench插件的仓库后使用Gradle
与JDK 17
进行构建,在源码中提供了一些常用的工具类和框架,开发者可以根据自己的需要来使用开发:
util
包
DomBuilder
:用于构建插件中的<script>
和<style>
标签
InferStream
:使用响应式流实现的一套多推断表达式结果存储流
- 该类以
infer()
方法开始尾随success()
与fail()
方法并以get()
采集型方法结尾
- 采集型方法返回一个
Mono<?>
响应式类
ReflectPost
:提供反射获取文章内容并重新Markdown化的工具(不安全,请谨慎开发)
infra
包
GraphQLReader
:从插件所在目录的tool-bench/graphql/
文件夹下读取制定的json
或graphql
文件
config
包
ConfigFolderConfiguration
:用于构建和初始化插件配置文件夹,通常在插件start()
时被调用
resources/lib
文件夹
FormatterInit
:初始化AntV的结构并提供ToolBench表达式的解析
CustomDom.js
:负责解析各种自定义的Dom标签
DirectorySort.js
:负责对目录页的项目按首字母进行排序
AntVG2Handler.js
、AntVX6Handler.js
:负责解析AntV结构的构建与渲染
注意事项
如果这里没有你的问题的解决方案请在评论区与我取得联系
- 在Tool Bench中集成的AntV功能是默认关闭的,以节省页面资源,如果需要使用请在配置中开启它。
- GitHub Token必须是启用了“获取仓库”能力的才能有效。
- 确保你的服务器能访问到GitHub,否则你的
<tool-github>
会永远处于无法加载状态。
- 目前只测试了Markdown语法环境,如果你正在使用Markdown那么你换行的文本需要多进行一次换行!
- 这些自定义的元素、标签并不是在所有主题中都显得好看,如需要修改请查看“重写样式”
- 因为是重新Markdown了所以会导致你的TOC文章目录失效,我会尽快修复这个问题。
参与贡献
如果你想提供帮助并一同完善Tool Bench插件,请:
鸣谢表
在此感谢以下项目提供的支持: