ASP はAsciiDoctor Server Protocol
の略で、クライアントとすべての Asciidoctor 操作を実行する Asciidoctor サーバー インスタンス間の単純な通信プロトコルです。したがって、言語部分がサーバー インスタンスによって提供される中心となる LSP に少し似ています。
メインプロジェクトページ: https://github.com/de-jcup/asp
問題追跡は https://github.com/de-jcup/asp/issues で行われます
Wiki: https://github.com/de-jcup/asp/wiki
Eclipse 用の AsciiDoctor Editor では、asciidoctor/asciidoctorj および JRuby と組み合わせて OSGI 依存関係を処理するのは非常に困難でした (de-jcup/eclipse-asciidoctor-editor#213 を参照)
したがって、OSGIと連携して新しい依存関係などで常にこれを処理する代わりに、このプロジェクトはスタンドアロンのソリューションになるように開始されました。これは、常に新しいプロセスを生成せずに別のエディタで使用できますが、代わりにすでに開始されているサーバーインスタンスを再利用できます。インストールされているバリアントに対して新しいプロセス通信を行うよりもはるかに高速です。
編集者は、変換タスクのみをサーバー側に委任し、変換された出力場所 (またはエラー) に関する情報を生成するサーバーへの通信層を備えます。
実際のインストールから独立しており、開発者が asciidoctor をインストールできないシステムでも使用できます
標準ツールセットアップが付属します (HTML、Docbook、PDF のサポートが含まれます)
複数の IDE 統合 (eclipse-asciidoctor、…続き…) から使用できます。
サーバーを使用するためのクライアントライブラリを提供するので便利です
これは、Rest コントローラーなどを備えたspring boot
アプリケーションから始まり、非常に素晴らしくて便利でしたが… Spring bootJar はasciidoctorj
+ jruby
では正しく動作しませんでした。
spring boot
と組み合わせて独自の Fat jar ソリューションを提供すると、時間が経つとうまくいきましたが、最初の最初の段階で少なくとも 59 MB を取得しました。これは多すぎました。
また、Spring Boot には多くの依存関係が付属しており、asciidoctorJ 自体にも多くの依存関係があります。クロスサイト効果を防ぐために、クライアント サーバー プロトコルは可能な限りシンプルであり、依存関係がほとんどない必要があります。
ASP サーバーは、外部プロセスまたは組み込みサーバーとして使用できます。
この場合、専用のランチャーが作成されました。 ExternalProcessExample.java および ExternalProcessWithDebugOutputExample.java で行ったように、 ExternalProcessAsciidoctorJServerLauncher
を使用するだけです。
外部バリアントと同じですが、ランチャーとしてEmbeddedAsciidoctorJServerLauncher
を使用します。たとえば、統合テストを調べてください。