焕然一新

更多扩展尽在Tool Bench

Banner

安装插件

动指间的功夫,就能享受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插件的仓库后使用GradleJDK 17进行构建,在源码中提供了一些常用的工具类和框架,开发者可以根据自己的需要来使用开发:

  • util
    1. DomBuilder:用于构建插件中的<script><style>标签
    2. InferStream:使用响应式流实现的一套多推断表达式结果存储流
      • 该类以infer()方法开始尾随success()fail()方法并以get()采集型方法结尾
      • 采集型方法返回一个Mono<?>响应式类
    3. ReflectPost:提供反射获取文章内容并重新Markdown化的工具(不安全,请谨慎开发)
  • infra
    1. GraphQLReader:从插件所在目录的tool-bench/graphql/文件夹下读取制定的jsongraphql文件
  • config
    1. ConfigFolderConfiguration:用于构建和初始化插件配置文件夹,通常在插件start()时被调用
  • resources/lib文件夹
    1. FormatterInit:初始化AntV的结构并提供ToolBench表达式的解析
    2. CustomDom.js:负责解析各种自定义的Dom标签
    3. DirectorySort.js:负责对目录页的项目按首字母进行排序
    4. AntVG2Handler.jsAntVX6Handler.js:负责解析AntV结构的构建与渲染

注意事项

如果这里没有你的问题的解决方案请在评论区与我取得联系

  1. 在Tool Bench中集成的AntV功能是默认关闭的,以节省页面资源,如果需要使用请在配置中开启它。
  2. GitHub Token必须是启用了“获取仓库”能力的才能有效。
  3. 确保你的服务器能访问到GitHub,否则你的<tool-github>会永远处于无法加载状态。
  4. 目前只测试了Markdown语法环境,如果你正在使用Markdown那么你换行的文本需要多进行一次换行!
  5. 这些自定义的元素、标签并不是在所有主题中都显得好看,如需要修改请查看“重写样式”
  6. 因为是重新Markdown了所以会导致你的TOC文章目录失效,我会尽快修复这个问题。

参与贡献

如果你想提供帮助并一同完善Tool Bench插件,请:

  • star
  • issue
  • bugs
  • pr

鸣谢表

在此感谢以下项目提供的支持:

😀赞啊,能不能做成在默认的编辑器下,输入“/”自动跳出相应的组件显示出来编辑,而不用敲html代码呢

    1 个月 后

    Tool Bench 1.0.4-ea 版本发布:
    该版本仅作为 Early Access 版本,如果您希望更稳定的功能请使用 1.0.3。下载地址:https://github.com/DioxideCN/Tool-Bench/releases/tag/v1.0.4-ea
    任何问题都欢迎您在 issue 或 QQ 群 697197698 中提出。
    1.0.4-ea 版本中主要做出了如下的变动:

    1. 和风天气API的请求缓存失效时间由原先的 10 分钟调整为 30 分钟
    2. 为所有主题、插件提供在页面上渲染自定义 DOM 标签的能力(这将不再局限于你的编辑器)
    3. 允许为你的文章、独立页面中的内容的前后插入自定义的 HTML 代码,它们可以是公用的也可以是隔离的
    4. 优化了 Reactor 响应式流的逻辑,为开发者提供了更好的 ProcessorHandler 类来处理页面内容