بعد الطلب الكبير على الأداة و[التغطية الاعلامية][تغطية]، يسرني أن أعلن عن ادخال تحسنين مهمين على أداة [CSSMirror][]:
1. من الآن فصاعدا، فإن الأداة لن تقوم بعمل أية تغييرات على ملف style.css سوى التغييرات المطلوبة لقلب الاتجاه، وستحتفظ بالتعليقات والمسافات البيضاء وغيرها كما هي.
2. تقوم الأداة الآن بعمل كافة التغييرات اللازمة في ملفات HTML أيضا، ويشمل ذلك ضبط الخاصية `dir` على القيمة `rtl` كما ينبغي، وتغييرات أخرى من بينها تحويل قيمة الخاصية `align` لأي وسم من وسوم الملف من `right` إلى `left` وبالعكس.
أهم ما يعنيه ذلك هو أن عملية قلب اتجاه قوالب WordPress أصبحت مؤتمتة بالكامل، ولا حاجة لأي تدخل بشري فيها إلا لاصلاح الأخطاء الغير قابلة للأتمتتة.
[تغطية]: /weblog/2005/08/11/alriyadh-interview/
[CSSMirror]: /tools/cssmirror/
23/09/2005 @ 5:13 am
نايف قال:
القلب من بواسطة امر الاتجاه داخل ملف الاتش تي ام ال سيودي لتشويه منظر اي شي يتجه من اليسار الى اليمين, لهذا فان اجراء العملية من داخل ملف الاستايل افضل.
23/09/2005 @ 6:55 am
أحمد الهاشمي قال:
الأخ العزيز نايف ..
لم أفهم قصدك بالقول بأن القلب في ملف HTML يؤدي إلى تشويه منظر أي شيء يتجه من اليسار إلى اليمين، فهل لك أن تفصل أكثر.
على أي حال، دعني أفصل قليلا في موضوع الأداة وكيفية عملها.
الأداة لا تقوم بعملية القلب عن طريق ضبط الخاصية `align` إلى القيمة `right`، بل باستخدام الخاصية `dir` في وسم `HTML`.
تغيير الخاصية `align` يكون فقط في حال كانت الخاصية موجودة أساسا في التصميم وكانت تستخدم قيمة ثابته، مثلا `left`، فإن هذا الأمر لن يتغير تلقائيا حتى بعد استخدام الخاصية `dir`.
إذا كان الموضوع مثيرا لاهتمامك، فلدي [مقالة انجليزية][bidi] كتبتها قبل سنتين تقريبا [لمطوري vBulletin][vb] حول كيفية اضافة دعم جيد للغات التي تكتب من اليمين إلى اليسار، وإذا كان لديك اطلاع على البرنامج ستلاحظ التشابه الكبير بين الطريقة التي شرحتها والطريقة التي اتبعوها، وآخر ما قاموا بتطبيقه هو النصيحة قبل الأخيرة بشأن بعض الأمور التي يجب أن تكون دائما من اليسار إلى اليمين، وذلك في الاصدارة الأخيرة 3.0.9.
[bidi]: http://en.ahmadh.com/dev/i18n/bidi/
[vb]: http://www.vbulletin.com/forum/showthread.php?t=75047
هنالك أيضا الخاصية `direction` في لغة CSS التي تقوم بنفس دور الخاصية `dir` في HTML، لكن [W3C تنصح باستخدام `dir` في HTML][w3]، والسبب في ذلك هو أن CSS مخصصة لتحديد شكل مستند ما، أما HTML فهي مخصصة لتحديد المحتوى ومواصفات المحتوى نفسه، واتجاه لغة المحتوى أمر متعلق مباشرة بالمحتوى نفسه، فإذا كان المحتوى عربيا، يجب أن يظهر من اليمين إلى اليسار وإذا كان بالانجليزية فيجب أن يظهر من اليسار إلى اليمين، بغض النظر عن ملف CSS المستخدم لتحديد الشكل الذي نريد أن يظهر به المحتوى، وبغض النظر عما إذا كانت CSS مستخدمة أم لا.
كما أن استخدام الخاصية `dir` في HTML بدلا من CSS يعني بأنه بالامكان استخدام ملف CSS موحّد في موقع متعدد اللغات للحفاظ على شكل ثابت، المشكلة الوحيدة التي ستظهر هي أنك في بعض الأحيان تريد تحديد خصائص CSS في الجهة اليمنى أو اليسرى بناءا على اتجاه اللغة التي في المستند.
هذه هي المشكلة التي تحلها أداة CSSMirror حاليا، لكنني أعتبر ذلك أمرا مؤقتا إلى أن يتم اعتماد الاصدارة الثالثة من CSS التي [ستوفر حلا][css3solution] لهذه المشكلة دون الحاجة لاستخدام نسخ مختلفة من ملف CSS، وذلك بإضافة مفهوم البداية (start) والنهاية (end).
حيث تشير `start` إلى الجهة اليسرى في اللغات التي من اليسار إلى اليمين، وإلى الجهة اليمنى في اللغات التي من اليمين إلى اليسار، وتشير `end` إلى الجهة المقابلة دائما.
[w3]: http://www.w3.org/International/questions/qa-bidi-css-markup
[css3solutions]: http://www.w3.org/TR/2002/WD-css3-text-20021024/#alignment-prop
27/09/2005 @ 2:43 pm
نايف قال:
بالنسبة لما كنت اقصد فعليك بالصورتين التي هما من موقعك
http://www.ahmadh.com/static/images/cssmirror-screenshots/almost-spring.png
http://www.ahmadh.com/static/images/cssmirror-screenshots/almost-spring-rtl.png
اذا رجعت لهما ستجد ان شكل الاقواس قد تشوه تماما ثم ارجع الى موقعي لا تجد هذه المشكلة السبب هو انني لا استخدم القلب من داخل ملف الاتش تي ام ال وهو مكان موجود اصلا من تعريب سوار لكني قمت بتعديله كما اخبرتك اعلاه الامر الاخر شاهد مثل هذاالموضوع في موقعي http://www.nayif.net/index.php?s=hello
ثم شاهده مره اخرى هنا http://www.nayif.net/index.php?paged=4
اذا اردت ان تعرف السبب فانك ستلاحظ ان الصفحة الاولى ما يزال التحويل في الارشيف موجود بينما في الصفحة الاخيرة قمت بنزعه مع التغييرات المطلوبه في ملف الاستايل.
هذا بالنسبةلما كنت اقصد ام توضيحك فقد استفدت منه الكثير و اذا كان اجراء القلب من داخل ملف المحتويات سيحل المشكلة السابقة فهذا امر مرحب به لكن الطريقة السابقة ما كنت اظنه صحيح الا اذا استطعنا التوصل لحل اخر مثل الذي اشرت الى طرف منه في موضوعك السابق.
بالنسبة لي قمت باجرى تحليل لفهم الية عمل برنامج على ملف الاستايل و اعتقد اني احتاج الى اكثر من ذلك بتجربة الطريقة التي اشرت اليها مشكوراً اعلاه فقد استفدت كثيرا بتوضيحك لما فاتني لهذا ساحاول في نهاية الاسبوع ان ابحث في الموضوع اكثر لاستفيد و افيد.
“لم ارى ردك سواء الامس لكن لضيق الوقت و لاني كنت اود قرات المواضيع التي اشرت اليها قبل ان اضيف الرد”
27/09/2005 @ 5:22 pm
أحمد الهاشمي قال:
الأخ العزيز نايف ..
اطلعت على ما تعنيه بالأقواس، والسبب في المشكلة التي واجهتك هي أنك قمت أولا بتحديد نوعية المحتوى على أنه من اليمين إلى اليسار (على أساس أنه محتوى عربي)، ثم قمت باستخدام محتوى يكتب من اليسار إلى اليمين (أي الكلمة Comments الانجليزية).
فعندما تريد أن تخلط بين العربي والانجليزي، يجب أن تحدد المحتويات الانجليزية لوحدها على أنها محتويات تكتب من اليسار إلى اليمين باستخدام الخاصية `dir` مرة أخرى لكن هذه المرة بضبطها عند القيمة `ltr` التي تحدد النص على أنه من اليسار إلى اليمين، وفي الصفحة التي ذكرتها من موقعك والتي تحتوي على المشكلة، يكون الحل كالتالي:
Comments (3)
إذا نظرت إلى صفحتك الأولى التي قلت بأنها تحتوي على المشكلة، والصفحة الثاني حللت بها المشكلة، ستجد بأنك حللت المشكلة في النص الانجليزي، لكنك قمت بخلق المشكلة نفسها في النص العربي، وذلك في علامات الاقتباس وعلامة التعجب التي كان يفترض أن تظهر في نهاية السطر الأخير من الفقرة الأولى لكنها ظهرت بدلا من ذلك في بداية السطر، وما حدث في الواقع هو أنك قمت باعتبار المستند من اليسار إلى اليمين، فاعتبر المتصفح نهاية السطر على أنه الجزء الأيسر من السطر.
هذه في الواقع واحدة من مشاكل المدونات التي يمكن عمل حلول أوتوماتيكية لها، والحل الذي كنت أفكر فيه قبل بضعة أيام هو عمل إضافة (plugin) لبرنامج WordPress تقوم بإضافة المقطع `dir=”rtl”` تلقائيا إلى كل فقرة أو مقطع يبدأ بأحرف انجليزية، أو تعديل Markdown للقيام بذلك تلقائيا.
هل يوجد لدينا متطوع للقيام بذلك؟
29/09/2005 @ 1:52 am
عبدالله قال:
لا أدري إن وصلتك رسالتي، فقد أرسلت لك عن خطأ يظهر لي وهو خطأ رقم 500 أو 500 - Internal server error، المشكلة أن الخطأ لم يظهر إلا عندما كنت في أشد الحاجة إلى الأداة لكي أعرب قالباً
على أي حال، بسبب استعجالي قمت بتجربة الأداة كثيراً، فهل الملفات التي يتم تحميلها للمزود يحتفظ بها المزود أم يحذفها بعد أن ينتهي من عمله؟ أخشى أنني أثقلت على مزود موقعك بالعديد من الملفات، إن كان هذا ما فعلته فأرجو أن تعذرني على حماقتي
29/09/2005 @ 7:46 am
أحمد الهاشمي قال:
الأخ العزيز عبدالله ..
وصلتني رسالتك، وأعتذر لك عن التأخير في الرد بسبب بعض الانشغالات.
يبدو بأن البرنامج يعاني من مشاكل في معالجة بعض ملفات PHP، لأنني حاليا أستخدم معالج HTML عادي، لكن بعض شفرات PHP، وحتى ملفات HTML إذا لم كانت تحتوي على أخطاء فإنه لا يعمل بصورة صحيحة.
أعتذر لك عن هذا الخطأ، وسأحاول النظر به قريبا، لكن في الوقت الحالي يمكنك كحل مؤقت أن تقوم بإزالة ملفات PHP والاستفادة من ميزة تحويل ملفات CSS إلى أن أحل هذه المشكلة إن شاء الله.
26/12/2005 @ 9:15 am
تصميم مواقع قال:
جربت الأداة ، و أعجبتني جدا الفكرة المتبعة فيها ، فهي و بالرغم من بساطتها برمجيا ، الا انها تعتبر فكرة ذكية جدا في إستخدام CSS لحل مشكلة كانت تؤرق المبرمجين و المصممين في تغيير إتجاه التطبيقات الجاهزة
تحياتي
26/12/2005 @ 5:50 pm
أحمد الهاشمي قال:
الأخ العزيز تصميم مواقع ..
سرني أن الأداة أعجبتك وأفادتك، إن شاء الله أظل عند حسن ظنك.
16/01/2006 @ 11:41 pm
هشام قال:
أريد إبداء إعجابي بمدونتك أخ أحمد
وأشيد بالأداة التي سهلت على الكثير، وقد جربتها في العديد من القوالب
وأتمنى لك مزدا من التقدم، وأخص بالشكر الأخ عبد الله المهيري الذي كانت مدونته بداية النطلاقة لي في هذه العالم.
16/01/2006 @ 11:46 pm
أحمد الهاشمي قال:
الأخ العزيز هشام ..
خالص الشكر لك أخي العزيز، ويسرني كثيرا أن الأداة ساعدتك، وإن شاء الله أظل عند حسن ظنك.
9/08/2006 @ 11:37 pm
- الوان - قال:
الاخ الفاضل .. احمد
الحقيقة انني فقير فيما يخص البرمجة وخصوصا بما يتعلق بالمواقع ..
لذا لن أخفيك سرا بأنني لم أستوعب الكثير مماذكر أعلاه ..
عموما ..
لدي أمران يحتاجان للمساعدة ^_^
- مدونتي في بلوقر لا تعرض الصور في التدوينات التي انشئها
طبعا بعد ان اضع رابط الصورة في مكانها المخصص ..
لا أعلم ما المشكلة ..
- بالنسبة للكتابة بالعربية ..
أرجو منك ايضاح طريقة سهلة لتمكين خاصية الكتابة من اليمين لليسار في مدونات بلوقر ..
كذلكـ بالنسبة لتنسيق النص ..
اشعر بأنها سيئة جدا في بلوقر ..
فهل من حل ما ..
مع خالص الشكر مقدما ..
- الوان -
17/08/2006 @ 4:56 am
أحمد الهاشمي قال:
الأخ/الأخت ألوان ..
أعتذر بداية عن التأخر في الرد.
بالنسبة لأسئلتك، فأنا للأسف ليست لدي خبرة كبيرة في blogger وللأسف لا أعرف الإجابة عن سؤال الأول بشأن الصور.
بشأن قلب اتجاه التصميم، فما عليك القيام به هو الذهاب إلى لوحة تحكم المدونة ثم الدخول إلى المكان الذي يمكنك من تعديل تصميم الصفحة، وهناك ستجد شفرات HTML لصفحة مدونتك.
قبل القيام بأية خطوات، قم بنسخ تلك الشفرات وحفظها كنسخة احتياطية في ملف مستقل.
بعد حفظ نسخة احتياطية من قالبك الحالي، قم بتعديل هذا السطر:
ليصبح هكذا:
بعد ذلك، قم ينسخ الشفرات التي تقع بين السطرين التاليين:
ثم قم بفتح برنامج Notepad ولصق هذه الشفرات ثم حفظ الملف بامتداد .css بدلا من .txt.
بعد ذلك قم بضغط هذا الملف في أرشيف ZIP وقم باستخدام أداة CSSMirror لقلب اتجاهه.
ستحصل على أرشيف يحتوي على نسخة معدلة من تلك الشفرة التي نسختها، قم بفتح ملف الشفرة المعدل وقم بلصقه بدلا من الشفرة الأصلية في ملف القالب وقم بحفظ ملف القالب، ويفترض أن تصميمك أصبح معكوسا الآن.