يرمز 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 لـ Eclipse، كان من الصعب للغاية التعامل مع تبعيات OSGI بالتزامن مع asciidoctor/asciidoctorj وJRuby (انظر de-jcup/Eclipse-asciidoctor-editor#213)
لذلك بدلاً من التعامل مع هذا دائمًا مرة أخرى باستخدام تبعيات جديدة وما إلى ذلك، تم بدء هذا المشروع من خلال العمل مع OSGI، ليصبح حلاً مستقلاً، يمكن استخدامه من قبل محررين مختلفين دون إنشاء عمليات جديدة دائمًا ولكن بدلاً من ذلك إعادة استخدام مثيل الخادم الذي بدأ بالفعل والذي يجب أن يكون سهلاً للغاية أسرع بكثير من إجراء عملية اتصال جديدة بمتغير مثبت.
يجب على المحررين تفويض مهام التحويل الخاصة بهم فقط إلى جانب الخادم ويكون لديهم طبقة اتصال بالخادم والتي ستنتج معلومات حول مواقع المخرجات المحولة (أو الأخطاء).
بشكل مستقل عن التثبيت الحقيقي، يمكن استخدامه على الأنظمة التي لم يكن لدى المطورين إمكانية تثبيت asciidoctor
يأتي مع إعداد قياسي للأداة (سيحتوي على دعم HTML وdocbook وPDF)
يمكن استخدامه من عمليات تكامل IDE المتعددة (Eclipse-asciidoctor، … المزيد …)
يوفر مكتبة عميل لاستخدام الخادم، وهو أمر مريح للغاية
لقد بدأ الأمر بتطبيق spring boot
، مع وحدة التحكم في الراحة وما إلى ذلك، وهو لطيف جدًا ومريح، ولكن... Spring BootJar لم يعمل بشكل صحيح مع asciidoctorj
+ jruby
.
لقد نجح توفير حل جرة الدهون الخاص بي مع spring boot
بمرور الوقت، لكنني حصلت على 59 ميجابايت على الأقل في البداية الأولى - كان هذا كثيرًا.
يأتي التمهيد الربيعي أيضًا مع العديد من التبعيات - وقد حصل asciidoctorJ على العديد من التبعيات. لمنع التأثيرات عبر المواقع، يجب أن يكون بروتوكول خادم العميل بسيطًا قدر الإمكان ولا يحتوي على أي تبعيات تقريبًا.
يمكنك استخدام خادم ASP إما كعملية خارجية أو كخادم مضمن.
في هذه الحالة تم إنشاء قاذفة متخصصة. ما عليك سوى استخدام ExternalProcessAsciidoctorJServerLauncher
كما هو الحال في ExternalProcessExample.java و ExternalProcessWithDebugOutputExample.java
نفس المتغير الخارجي، ولكن استخدم EmbeddedAsciidoctorJServerLauncher
كمشغل. للحصول على أمثلة انظر إلى اختبارات التكامل.