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 สำหรับ eclipse มันยากมากที่จะจัดการการพึ่งพา OSGI ร่วมกับ asciidoctor/asciidoctorj และ JRuby (ดู de-jcup/eclipse-asciidoctor-editor#213)
So instead of handling this always again with new dependencies etc. working with OSGI this project was initiated, to become a standalone solution, which can be used by different editors without spawning always new processes but instead reuse an already started server instance which shall be very เร็วกว่าการสื่อสารกระบวนการใหม่กับตัวแปรที่ติดตั้งไว้มาก
ผู้แก้ไขจะมอบหมายเฉพาะงานการแปลงของตนไปยังฝั่งเซิร์ฟเวอร์และมีเลเยอร์การสื่อสารไปยังเซิร์ฟเวอร์ซึ่งจะสร้างข้อมูลเกี่ยวกับตำแหน่งเอาต์พุตที่แปลงแล้ว (หรือข้อผิดพลาด)
เป็นอิสระจากการติดตั้งจริง สามารถใช้กับระบบใดก็ได้ เนื่องจากนักพัฒนาไม่สามารถติดตั้ง asciidoctor ได้
มาพร้อมกับการตั้งค่าเครื่องมือมาตรฐาน (จะรองรับ HTML, docbook และ PDF)
สามารถใช้จากการบูรณาการ IDE หลายรายการ (eclipse-asciidoctor, … เพิ่มเติม …)
จัดให้มีไลบรารีไคลเอนต์เพื่อใช้งานเซิร์ฟเวอร์ได้อย่างสะดวก
มันเริ่มต้นด้วยแอปพลิเคชัน spring boot
พร้อมด้วยตัวควบคุมส่วนที่เหลือ ฯลฯ ดีและสะดวกมาก แต่… spring bootJar ทำงานไม่ถูกต้องกับ asciidoctorj
+ jruby
การจัดหาโซลูชันขวดไขมันของตัวเองร่วมกับ spring boot
ได้ผลครั้งแล้วครั้งเล่า แต่ฉันได้อย่างน้อย 59 MB ในการเริ่มต้นครั้งแรก ซึ่งถือว่ามากเกินไป
นอกจากนี้สปริงบูทยังมาพร้อมกับการพึ่งพามากมาย - และ asciidoctorJ ก็มีมากมายในตัวเอง เพื่อป้องกันผลกระทบข้ามไซต์ โปรโตคอลเซิร์ฟเวอร์ไคลเอ็นต์ควรเรียบง่ายที่สุดเท่าที่จะเป็นไปได้และแทบไม่ต้องพึ่งพาอีกต่อไป
คุณสามารถใช้เซิร์ฟเวอร์ ASP เป็นกระบวนการภายนอกหรือเป็นเซิร์ฟเวอร์แบบฝังได้
สำหรับกรณีนี้มีการสร้างตัวเรียกใช้งานพิเศษขึ้นมา เพียงใช้ ExternalProcessAsciidoctorJServerLauncher
เช่นเดียวกับที่ทำใน ExternalProcessExample.java และ ExternalProcessWithDebugOutputExample.java
เหมือนกับตัวแปรภายนอก แต่ใช้ EmbeddedAsciidoctorJServerLauncher
เป็นตัวเรียกใช้งาน ดูตัวอย่างในการทดสอบบูรณาการ