ProseMirror؛ ابزار ساخت ویرایشگرهای متن ساختارمند
خلاصهٔ کاملتر
ProseMirror یه کتابخونهٔ جاوااسکریپت برای ساختن ویرایشگرهای محتوای غنیه. ایدهٔ اصلیش اینه که ویرایشگرها بهتره سندهای تمیز و معنادار تولید کنن ولی در عین حال برای کاربر هم قابلفهم باشن. برای همین سعی میکنه فاصلهٔ بین ویرایش محتوای صریح و بدونابهام مثل Markdown یا XML و ویرایشگرهای کلاسیک WYSIWYG رو پر کنه.
این کار رو با پیادهسازی یه رابط سبک WYSIWYG روی سندهایی انجام میده که محدودتر و ساختارمندتر از HTML سادن. تو میتونی شکل و ساختار سندهایی که ویرایشگرت میسازه رو سفارشی کنی و به نیاز اپلیکیشن خودت برسونی. schemaهای قابلگسترش اجازه میدن بدون اینکه از صفر یه ویرایشگر بنویسی، سندهایی با ساختار سفارشی رو ویرایش کنی.
بقیهٔ ویژگیها: پشتیبانی توکار و محکم از ویرایش همزمان که چند نفر بلادرنگ روی یه سند کار میکنن؛ معماری ماژولار که فقط کد لازم رو بار میکنه و میشه بخشهاش رو عوض کرد؛ یه سیستم افزونه برای اضافهکردن راحت قابلیتها؛ و معماری عمدتاً فانکشنال و immutable که یکپارچهسازیش با اپهای وب مدرن رو راحت میکنه. هستهٔ کتابخونه هم کوچیک و بدونجبههگیریه، برای همین میشه روش انواع مختلف ویرایشگر ساخت.
ProseMirror متنبازه و از نظر قانونی برای استفادهٔ تجاری آزادی، ولی توسعهدهنده میگه اگه ازش پول درمیاری، یه انتظار اجتماعی هست که تو تأمین هزینهٔ نگهداری کمک کنی. راحتترین راه نصبش هم با npmه و روی نسخههای جدید Firefox، Chrome، Safari و Edge و حتی Internet Explorer 11 کار میکنه. توسعهش روی Forgejo انجام میشه و شرکتهایی مثل New York Times، Asana و Box از حامیهاشن.
نکات کلیدی:
- یه کتابخونهٔ متنباز جاوااسکریپت برای ساختن ویرایشگرهای متن غنی و ساختارمند
- پل بین محتوای صریح مثل Markdown/XML و تجربهٔ کلاسیک WYSIWYG
- schemaهای قابلگسترش، معماری ماژولار و سیستم افزونه برای سفارشیسازی
- ویرایش همزمان چندنفرهٔ توکار و معماری فانکشنال و immutable
- نصب با npm، سازگار با مرورگرهای مدرن و IE11؛ حامیهایی مثل NYT، Asana و Box




