ASP 代表AsciiDoctor Server Protocol
- 客户端和 asciidoctor 服务器实例之间的简单通信协议,该实例将执行所有 Asciidoctor 操作。所以它有点类似于 LSP,其中语言部分由服务器实例集中提供。
项目主页面:https://github.com/de-jcup/asp
问题跟踪在 https://github.com/de-jcup/asp/issues 完成
维基:https://github.com/de-jcup/asp/wiki
使用 AsciiDoctor Editor for eclipse 与 asciidoctor/asciidoctorj 和 JRuby 一起处理 OSGI 依赖关系非常困难(请参阅 de-jcup/eclipse-asciidoctor-editor#213)
因此,不是总是用新的依赖项等再次处理这个问题。与 OSGI 一起工作,这个项目被启动,成为一个独立的解决方案,它可以由不同的编辑器使用,而不会总是产生新的进程,而是重用一个已经启动的服务器实例,这将是非常好的比与已安装的变体进行新进程通信要快得多。
编辑器应仅将其转换任务委托给服务器端,并具有与服务器的通信层,该通信层将生成有关转换后的输出位置(或错误)的信息。
独立于实际安装,只能在开发人员无法安装 asciidoctor 的系统上使用
提供标准工具设置(将支持 HTML、docbook 和 PDF)
可以从多个 IDE 集成中使用(eclipse-asciidoctor,...更多...)
提供了客户端库来使用服务器,方便
它从spring boot
应用程序开始,带有休息控制器等,非常好且方便,但是...... spring bootJar 无法与asciidoctorj
+ jruby
正确工作。
提供一个自己的 fat jar 解决方案与spring boot
相结合确实可以工作一段时间,但我一开始就获得了至少 59 MB - 这太多了。
Spring Boot 还带有许多依赖项 - 并且 asciidoctorJ 本身也有很多依赖项。为了防止跨站点影响,客户端服务器协议应该尽可能简单并且几乎没有更多的依赖性。
您可以将 ASP 服务器用作外部进程或嵌入式服务器。
对于这种情况,创建了一个专门的启动器。只需使用ExternalProcessAsciidoctorJServerLauncher
,如ExternalProcessExample.java和ExternalProcessWithDebugOutputExample.java中所做的那样
与外部变体相同,但使用EmbeddedAsciidoctorJServerLauncher
作为启动器。例如,查看集成测试。