الاثنين، يناير 24، 2011

الأمور الإبداعية في لغة HTML الخاصة بإنشاء صفحات الويكيبيديا



 أعترف أن الذين إبتدعوا صياغة صفحة كود source بهذه الطريقة هم عباقرة فعلاً هيا نقم سوياً بفتح صفحة source لأي من صفحات الويكيبيديا .. .. وسوف نلاحظ ما يلي :
** عدم إستعمالهم للجداول كأسلوب لتقسيم الصفحة إلا في أضيق نطاق .ففي هذه الصفحة الكبيرة والتي قد يبلغ حجمها 100 كيلوبايت أو أكثر لن تجد سوى ثلاثة - وربما 2 أو 4 - جداول فقط .ولا توجد جداول متداخلة | nested tables إطلاقاً .. .. بينما في غالبية صفحات الويب الأخرى سوف تجد جداول داخل جداول داخل جداول .... !!.إنهم يستعيضون عن الجداول بالـ div ( divisions ) .. وما أكثرها !!.. .. وطبعاً لا شيء يمنع من إستعمال div داخل div داخل div .... مما يمكن أن نسميه nested divisions إلا أنه لا أحد يستعمل هذا الإصطلاح ..سوف تسألون .. وما هي العبقرية في إستعمال divisions بدلاً من tables .. وعندكم حق .. .. الإجابة هي أن الآباء المؤسسين للغة HTML كانوا يرجون أن يتم إستعمال الجداول فقط في الغرض الذي من أجله تنشأ الجداول مثل جداول الحصص وجداول مرتبات الموظفين ....إلخ .. .. وليس كوسيلة لتقسيم الصفحة ..
تقسيم الصفحة بالجداول سهل جداً .. ولكن تقسيمها بـ div ( divisions )صعب .. لأنك ينبغي أن تعطي إسم رتبة|كلاس وإسم هوية |id= لكل div ثم تصنع ستايل محكم لتذكر فيه مواصفات كل رتبة وكل هوية .. وبالذات ما يخص موقعها في الصفحة وحدودها وعرضها وارتفاعها .
** في صفحة الكود للويكيبيديا قد تقرأ عنصرين متتاليين .. يعني ملتصقين الواحد وراء الآخر .. .. بينما هما في صفحة المستند موجودان في مكانين بعيدين جداً عن بعضهما .كمثال هناك صورتين لوجو صغيرتين في نهاية الصفحة عند الذيل .. سوف تفاجأ بهما مذكورتان في صفحة الكود بعد العامود الجانبي مباشرة ..ولمن يريد المزيد أقول :
جرت العادة أن يتم تقسيم صفحة مستند HTML بالطول إلى 3 أقسام :
قمة الصفحة أو أعلاها وهو ما يسمى بالـ Header وفيه عنوان الموقع واللوجو
ثم الجزء الأوسط الرئيسي
ثم ذيل الصفحة وهو ما يسمى بالـ Footer وفيه حقوق الملكية واتصل بنا وروابط لسياسة الموقع وخريطته .
ثم يتم تقسيم الجزء الأوسط الرئيسي لثلاثة أقسام - أو قسمين كما هو الحال في منتدانا - وهي العمود الأيسر Lt side bar وقسم المحتوى الرئيسي main content ثم العمود الأيمن Rt side bar .. ويخصص العامودين لوضع روابط لباقي أقسام وصفحات الموقع وكذلك الإعلانات والصور والإضافات .وهذا هو ما يسمونه البناء المعماري|Layout للصفحة ..وجرت العادة أن تتم كتابة صفحة الكود بنفس هذا الترتيب .. .. ولكن في الويكيبيديا فإن الأمر غير ذلك بالمرة .. فترتيب العناصر في صفحة الكود ليس هو نفس الترتيب في صفحة المستند .
** بالنسبة لعمليات الستايلنج فإنهم لا يكادون يستعملون ستايل داخلي وإنما كل إعتمادهم على ملفات الستايل المرفقة بالصفحة .. وأهمهم ملفين هما main.css & shared.css ومجموع حجميهما حوالي 45 كيلوبايت وهو حجم معقول ..وهناك ملفات ستايل أخرى خاصة بعملية الطباعة .. وملفات ستايل لتساعد من لايملكون إلا إصدارات الإكسبلورر القديمة!!..
** في تنسيق الصفحة لا مانع عندهم من إستعمال layers والتي تعتمد على إعطاء قيمة مطلقة لموقع العنصر absolute position في الصفحة .