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
Eclipse용 AsciiDoctor 편집기를 사용하면 asciidoctor/asciidoctorj 및 JRuby와 함께 OSGI 종속성을 처리하기가 극도로 어려웠습니다(de-jcup/eclipse-asciidoctor-editor#213 참조).
따라서 OSGI와 함께 작업하는 새로운 종속성 등을 사용하여 항상 이를 다시 처리하는 대신 이 프로젝트는 독립형 솔루션이 되기 위해 시작되었습니다. 이는 항상 새로운 프로세스를 생성하지 않고 다른 편집기에서 사용할 수 있지만 대신 이미 시작된 서버 인스턴스를 재사용합니다. 설치된 변형에 대한 새로운 프로세스 통신을 수행하는 것보다 훨씬 빠릅니다.
편집자는 변환 작업을 서버 측에만 위임해야 하며 변환된 출력 위치(또는 오류)에 대한 정보를 생성하는 서버에 대한 통신 계층을 가져야 합니다.
실제 설치와 독립적으로 개발자가 Asciidoctor를 설치할 수 없는 모든 시스템에서 사용할 수 있습니다.
표준 도구 설정 제공(HTML, docbook 및 PDF 지원 예정)
여러 IDE 통합에서 사용할 수 있습니다(eclipse-asciidoctor, … 더보기 …)
서버 이용을 위한 클라이언트 라이브러리를 제공하여 편리함
나머지 컨트롤러 등을 갖춘 spring boot
애플리케이션으로 시작했는데 매우 훌륭하고 편리했지만… spring bootJar는 asciidoctorj
+ jruby
와 제대로 작동하지 않았습니다.
spring boot
와 함께 자체 Fat Jar 솔루션을 제공하는 것은 시간이 지나도 효과가 있었지만 처음 시작할 때 최소 59MB를 얻었습니다. 이는 너무 많은 양이었습니다.
또한 스프링 부트에는 많은 종속성이 포함되어 있으며 asciidoctorJ에는 많은 종속성이 있습니다. 사이트 간 영향을 방지하려면 클라이언트 서버 프로토콜은 최대한 단순해야 하며 더 이상 종속성이 거의 없어야 합니다.
ASP 서버를 외부 프로세스나 내장 서버로 사용할 수 있습니다.
이 경우 특수 실행 프로그램이 생성되었습니다. 그냥 ExternalProcessExample.java 및 ExternalProcessWithDebugOutputExample.java에서 수행된 것처럼 ExternalProcessAsciidoctorJServerLauncher
사용하십시오.
외부 변형과 동일하지만 EmbeddedAsciidoctorJServerLauncher
실행기로 사용합니다. 예를 들어 통합 테스트를 살펴보세요.