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)
因此,不是總是用新的依賴項等再次處理這個問題。進程,而是重複使用一個已經啟動的伺服器實例,這將是非常好的比與已安裝的變體進行新進程通訊要快得多。
編輯器應僅將其轉換任務委託給伺服器端,並具有與伺服器的通訊層,該通訊層將產生有關轉換後的輸出位置(或錯誤)的資訊。
獨立於實際安裝,只能在開發人員無法安裝 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
作為啟動器。例如,查看整合測試。