درحال بارگذاری

ویرایشگر Trix برای لاراول "Trix Editor"

تاریخ: چهارشنبه, 06 آذر 1398

نویسنده: مصطفی دربان حسینی... بازیدها: 609 - نظرات : 0 دسته بندی: برنامه نویسی


 Trix یک ویرایشگر اوپن سورس (open-source) و WYSIWYG است که توسط توسعه دهندگان Basecamp به منظور ایجاد یک ویرایشگر متفاوت طراح و پیاده سازی شده است.  متن زیر توصیف سازندگان این ویرایشگر از آن است که هردو نسخه ترجمه شده و انگلیسی آن را برای شما قرار داده ایم:

" اکثر ویرایش گر های WYSIWYG موجود بسته ای برای کار با HTML هستند و دارای دستورات قابل اجرای API قابل قبولی هستند که توسط مایکروسافت در اینترنت اکسپلورر نسخه 5.5 به بعد برای ویرایش زنده برگه های HTML پشتیبانی می شوند و در نهایت برای سایر مرورگر ها نیز باز تولید شده اند.

از آنجایی که این API ها هرگز تعیین شده (مشخص) و مستند نشده بودند و از آنجایی که ویرایشگر های WYSIWYG HTML از نظر وسعت بسیار زیاد هستند ،اجرای آنها در مرورگرهای مختلف دارای برخی مشکلات و سوالات بود و در نهایت توسعه دهندگان JavaScript در حل کردن برخی از این مشکلات ناتوان باقی می مانند و آنها را رها می کردند.

Trix این مشکلات را با بکار گیری به عنوان یک دستگاه I/O به شکل یک عمل رضایت بخش  کنار می زند: وقتی ورودی راه خود را برای ورود به ویرایشکر می سازد ،Trix این ورودی را با مدل داخلی خود تبدیل به یک عملیات ویرایش میکند و سپس آن سند را مجددا به ویرایشگر ارسال می کند. این امر به Trix این امکان را می دهد تا کنترل کامل بر اتفاقاتی که پس از هر فشردن کلید (keystroke) رخ میدهد را داشته باشدو در تمام وحالت از لزوم نیاز به execCommand جلوگیری می کند."

متن انگلیسی:

"Most WYSIWYG editors are wrappers around HTML’s contenteditable and execCommand APIs, designed by Microsoft to support live editing of web pages in Internet Explorer 5.5, and eventually reverse-engineered and copied by other browsers.

Because these APIs were never fully specified or documented, and because WYSIWYG HTML editors are enormous in scope, each browser’s implementation has its own set of bugs and quirks, and JavaScript developers are left to resolve the inconsistencies.

Trix sidesteps these inconsistencies by treating contenteditable as an I/O device: when input makes its way to the editor, Trix converts that input into an editing operation on its internal document model, then re-renders that document back into the editor. This gives Trix complete control over what happens after every keystroke, and avoids the need to use execCommand at all".

از آنجایی که Trix کاملا از CSS و JavaScript است می توانید آن را با لاراول ادقام کنید و از آن استفاده کنید. به همین منظور نیز کتابخانه ی laravel-trix برای لاراول ایجاد شده است تا بتوانید از Trix در پروژه های لاراولی خود استفاده کنید.

لینک کتابخانه laravel-trix.

برای نصب این کتابخانه روی پروژه لاراولی خود کافیست دستور زیر را در خط فرمان خود اجرا کنید:

composer require te7a-houdini/laravel-trix

و سپس به کمک دستور زیر assets ها و فایهای آن را ایجاد کنید:

php artisan vendor:publish --provider="Te7aHoudini\LaravelTrix\LaravelTrixServiceProvider"

و در انتها با دستور زیر مایگریت های مورد نیاز آن را اجرا کنید:

php artisan migrate

حالا درصورتی که بسته را نصب کرده اید فرض بگیرید ما یک مدل برای مقالات داریم و میخواهیم ویرایشگر trix را به روی فرم های ایجاد و ویرایش مقاله در آن اعمال کنیم ،برای این منظور تنها کاری که نیاز است انجام دهیم قرار دادن کد زیر در بلید مربوط است:

کد زیر در تک head:

@trixassets

و کد زیر در تگ body و در فرم مربوط قرار بدهید:

@trix(\App\Article::class, 'content')

برای درک بهتر به مثال زیر توجه کنید:

<html>
    <head>
        @trixassets
    </head>

    <body>
        <form method="POST" action="route('article.store')">
            @csrf
            @trix(\App\Article::class, 'content')
            <input type="submit">
        </form>    
    </body>
</html>

این کتابخانه دارای ویژگی های بسیاری مثل مدیریت پرونده ها و فایلهای آپلود شده ،ارائه آن برای مدل های موجود و داشتن تنظیمات پیشرفته است. برای دریافت اطلاعات بیشتر در رابطه با این بسته ،رهنمای نصب و استفاده و... می توانید به آدرس این بسته در گیت هاب که در زیر برای شما قرار داده ایم مراجعه کنید:

آدرس گیت هاب کتابخانه Trix


نظر شما چیست؟ شما می توانید نظرات ،پیشنهادات و اطلاعات خود را در رابطه با این مطلب و موضوعات مربوط از طریق قسمت نظرات با ما و سایر بازدیدکنندگان در میان بگذارید.


نویسنده: مصطفی دربان حسینی... بازیدها: 609 - نظرات : 0 دسته بندی: برنامه نویسی

جستجو
کلاس برتر
ارائه دهنده بهترین و به روز ترین ویدیو های و مقالات آموزشی و همچنین مقالات مختلف در رابطه با تکنولوژی ،معماری ،مدیریت و سایر رشته های کاربردی.ما برای شما بهترین ها را میخواهیم.

سایر خدمات مجموعهخدمات زیر تحت مدیریت برد تخصصی ارائه می شود.
طراحی وب سایت
راه اندازی و پشتیبانی شبکه
هوشمند سازی منازل
افزایش کارایی نیرو انسانی
تعمیرات دستگاه های الکترونیکی
طراحی داخلی
تبلیغات فضای مجازی
برنامه نویسی