جميعنا يرى محررات النصوص في المنتديات ، ولربما أغلبنا يعرف هو مصطلح WYSIWYG والذي يعني ان التعليمات التي تضعها في مكان ما بخصوص مظهر البرنامج ستظهر تماما كما وضعتها (ما تراه هو ما يتحصل عليه)
أي أن ضغطنا لزر إمالة الخط I سيجعل الخط مائلا فورا بدلا من إدراج وسم [ i ] [/ i ] أو <i></i> حوله
المتعة في التعامل مع محررات WYSIWYG (WYSIWYG Rich Text Editors) هي أنك ترى النص تماما كما سيظهر في المنتدى...
وفي الحقيقة كانت عملية الحصول على WYSIWYG editor محترم تتطلب أكوادا برمجية كثيرة وعملا شاقا ، إضافة إلى الالمام بلغة HTML وتنسيقاتها المختلفة. ومع ظهور IE 5.5 وما بعده بدأت شركة مايكروسوفت تسمح للمطورين ببرمجة الانترنت اكسبلورر باستخدام الكائنات Objects والدالات Functions والأدوات مسبقة الصنع BuiltIn tools مما سهل كثيرا على المطورين بناء التطبيقات وساعد في رفع شعبية انترنت اكسبلورر مقارنة بغيره من المتصفحات، ناهيك عن كونه مجاني ويتوفر مع ويندوز تلقائيا.
من الجميل لزائر موقعك أن يستطيع إبداء ملاحظاته والكتابة في سجل الزوار مثلا او ادراج موضوع او تنسيق ملفه الشخصي باستخدام محرر نصوص WYSIWYG قوي، والكثير من البرامج فقدت شعبيتها بسبب فقدانها لهذا المحرر، فمثلا يعتبر فقدان WYSIWYG مناسب في منتدى ASP.net الذي تطوره مايكروسوفت من الأسباب التي دفعت الكثير من مصممي المواقع على اختيار vBulletin من شركة JelSoft وبالتالي التحول من لغة ASP.net إلى Php
سنحاول في هذا المشروع بناء محرر WYSIWYG متواضع ومن ثم نحسن أداءه رويدا رويدا حتى الوصول به إلى مستوى جيد . ومن ثم سنحاول بناء paraser له ليستطيع صاحب المنتدى أو الموقع استخدام أكواد vBCode او BBCode (وهي تلك الوسوم tags البديلة التي نراها في محرر vBullitenمن مثل [ i ] [ / i ] أو [ center ] [ / center ]
والتي تستخدم كبديل عن وسوم HTML كون استخدام الثانية يعرض الموقع لخطر إدراج سكريبت سري )
الهدف من هذا المشروع تعليمي بالأساس، وذلك لنتعلم سوية بناء مشروع جافاسكريبت من الصفر. بعض التوابع التي أدرجتها في هذا الموضوع توابع مأخوذة من برامج مجانية أو محررات نصوص مفتوحة المصدر على النت
open source WYSIWYG
وطالما أن الهدف تعليمي فلا بأس في ذلك
أغلب التعليمات التي سأكتبها مخصصة لانترنت إكسبلورر، والسبب في ذلك أمرين
1-التبسيط: والابتعاد عن تعقيدات اللعب على المتصفحات مختلفة النواة core (مثال IE مقارنة FireFox و Safari)
2-جهلي بالفروقات الدقيقة بين المتصفحات: وطالما أن المشروع أساسا تعليمي، فلماذا لا أتعلم أنا أيضا من مشاركات الأعضاء
من المهم معرفة أنني مجرد هاو، لست محترفا لجافاسكريبت، بل شأني شان الكثير من مطوري الويب، نقوم باستعارة الأكواد المجانية (وغير المجانية أحيانا) وتعديلها بما يناسب استخدامنا الشخصي، لذلك أرجو أن لا يتوقع أحد أن لدي جميع الأجوبة، كما أرجو من السادة القراء تأجيل الأسئلة حتى نهاية كل مرحلة من المراحل.. ولربما أفتح صفحة خاصة بكل مرحلة من مراحل التطوير بحيث تنحصر النقاشات فيها في هذه المرحلة بالذات..
رجائي الخاص أن لا يبخل علينا أي من الأخوة بالإضافات والملاحظات والتطويرات التي يرونها مناسبة حتى لو أدت لنسف المشروع الذي قمت به وكتابته من جديد، فكما قلت فأنا مجرد هاو لا أكثر
والرجاء الأخير: عدم تشتيت الموضوع بالسؤال حول متطلبات شخصية مثلا (أنا عندي موقع وأرجو ان تساعدني في تحسينه... أريد محرر WYSIWYG حالا يقوم بعمل كذا وكذا..) فهذا لن يفيد الأعضاء
صورة المحرر النهائي

الرجاء من الأخوة المشرفين تنبيهي لو كان هناك موضوع آخر بنفس العنوان أو ان الموضوع في غير قسمه.
علما أن المحرر يعتمد أساسا على جافاسكريبت إلا انه سيحتوي على صفحة ASP.net في مراحل قادمة
الأمر الآخر
ألاقي صعوبة في كتابة أكواد bbcode في هذا المنتدى كنصوص..فالمحرر يفسرها كوسوم حتى ولو كنت في نمط التحرير المتطور WYSIWYG
فما الحل؟