الفرق بين المراجعتين لصفحة: «موسوعة حسوب:دليل المساهمين»

من موسوعة حسوب
إضافة أقسام عن بنية صفحات الموسوعة
 
(6 مراجعات متوسطة بواسطة مستخدمين اثنين آخرين غير معروضة)
سطر 6: سطر 6:


== كيف تبدأ بالمساهمة ==
== كيف تبدأ بالمساهمة ==
أرسل رسالةً بريديةً إلى wiki@hsoub.com وسنتواصل معك في أقرب وقت.
تواصل معنا عبر البريد [mailto:wiki@hsoub.com wiki@hsoub.com] وسنتابع معك لإعطائك الصلاحيات التي تحتاج لها.


== كيفية المساهمة في الموسوعة ==
== كيفية المساهمة في الموسوعة ==
سطر 18: سطر 18:
المحرر المصدري يُظهِر الصفحة بصيغة wikitext التي تستعملها برمجية MediaWiki، وتمنح طريقة التعديل هذه مرونةً كبيرةً في التحرير وتعطي إمكانيات أكبر من المحرر المرئي، لكنها تعلمها أصعب من تعلم المحرر المرئي.
المحرر المصدري يُظهِر الصفحة بصيغة wikitext التي تستعملها برمجية MediaWiki، وتمنح طريقة التعديل هذه مرونةً كبيرةً في التحرير وتعطي إمكانيات أكبر من المحرر المرئي، لكنها تعلمها أصعب من تعلم المحرر المرئي.


عند حفظ المستند، سيُطلَب منك إدخال ملخص للتعديلات التي أجريتها، هذه الملخص سيساعد الآخرين على فهم ما الذي عدّلتَه، حاول أن يكون هذه الملخص قصيرًا ويوضِّح ما الذي فعلتَه. إذا كان التعديلات التي أجريتها على الصفحة بسيطة، ففعِّل الحقل «هذا تعديل طفيف».
يمكنك الاطلاع على [[موسوعة حسوب:دليل التحرير|دليل التحرير]] لمزيدٍ من المعلومات.


=== أنواع المساهمات ===
=== أنواع المساهمات ===
سطر 30: سطر 30:
* إضافة رسومات توضيحية للمفاهيم المشروحة.
* إضافة رسومات توضيحية للمفاهيم المشروحة.


=== بنية التوثيق ===
== بنية صفحات الموسوعة ==
نستعمل في الموسوعة الصفحات الفرعية لإنشاء هيكلية للتوثيق، وتكون هنالك صفحة رئيسية لكل لغة أو تقنية مثل [[PHP]] أو [[SQL]]، وتنحدر الصفحات الفرعية التابعة لها منها مثل [[CSS/background]] أو [[HTML/img]]. يُضاف رابط الصفحة بعد إنشائها إلى الفهرس في المكان.
 
=== بنية صفحات الموسوعة ===
الغرض من الموسوعة هو توفير توثيق لغات البرمجة، وليست منصةً لنشر المقالات (نستعمل [https://academy.hsoub.com أكاديمية حسوب] لهذا الغرض)، لذا انتبه إلى بنية وطريقة صياغة الصفحة.
الغرض من الموسوعة هو توفير توثيق لغات البرمجة، وليست منصةً لنشر المقالات (نستعمل [https://academy.hsoub.com أكاديمية حسوب] لهذا الغرض)، لذا انتبه إلى بنية وطريقة صياغة الصفحة.


سطر 40: سطر 37:
عند إنشائك لصفحة جديدة في توثيق لغةٍ ما، فاطلع على صفحات ذاك التوثيق لتأخذ فكرةً عن طريقة تنظيم صفحات التوثيق، وحاول قدر الإمكان أن تكون بنية الصفحة الجديدة شبيهة قدر الإمكان ببقية الصفحات.
عند إنشائك لصفحة جديدة في توثيق لغةٍ ما، فاطلع على صفحات ذاك التوثيق لتأخذ فكرةً عن طريقة تنظيم صفحات التوثيق، وحاول قدر الإمكان أن تكون بنية الصفحة الجديدة شبيهة قدر الإمكان ببقية الصفحات.


احرص على تضمين تصنيفات مناسبة في كل صفحة، واجعل أوّل تصنيف هو اسم اللغة، فأوّل تصنيف في صفحات توثيق PHP هو [[:تصنيف:PHP|PHP]]، وأوّل تصنيف في صفحات CSS هو [[:تصنيف:CSS|CSS]] (فعل ذلك سيُسهِّل الوصول إلى جميع صفحات التوثيق).
=== جدول المحتويات ===
تولِّد البرمجية جدول المحتويات تلقائيًا، فلا حاجة إلى إنشاء جدول محتويات يدوي. يظهر جدول المحتويات قبل أول ترويسة في الصفحة، هذا يعني أنَّ الصفحة ستتألف من «مقدمة» ثم «جدول المحتويات» ثم بقية الصفحة.
 
نرغب عادةً بجعل مقدمة الصفحة قصيرةً كي يظهر جدول المحتويات للزائر مباشرةً دون التمرير إلى الأسفل، هذا سيسمح بمعرفة محتويات الصفحة بسهولة ويُسرِّع الانتقال إلى القسم الهدف بسرعة.
 
المنهجية التي نتبعها عادةً هي إضافة وصف قصير وبليغ عن الصفحة، مع توفير مثال إن كان المجال يسمح بذلك، مما يُذكِّر القارئ ببنية الدالة أو البنية أو الخاصية بسرعة دون الخوض في التفاصيل.
 
=== التصنيفات ===
التصنيفات هي الطريقة الرئيسية لتجميع الصفحات في الموسوعة. من المهم وضع تصنيفات ذات دلالة لكل صفحة تضاف إلى توثيق إحدى اللغات أو التقنيات.
 
اجعل أوّل تصنيف هو اسم اللغة، فأوّل تصنيف في صفحات توثيق PHP هو [[:تصنيف:PHP|PHP]]، وأوّل تصنيف في صفحات CSS هو [[:تصنيف:CSS|CSS]] (فعل ذلك سيُسهِّل الوصول إلى جميع صفحات التوثيق). أما بقية التصنيفات، فاحرص أن تبدأ باسم اللغة (كما في HTML Metadata و HTML Multimedia) لتجنب خلط صفحات الموسوعة مع بعضها.


==== اسم الصفحة ====
=== الهيكلية ===
يكون اسم الصفحة عادةً باللغة الإنكليزية، واحرص على استخدام حالة الأحرف المناسبة، يجدر بالذكر أنَّ معظم صفحات الويكي تستخدم شيفرة خاصة لتعديل اسم الصفحة الظاهر إلى اسمٍ آخر، وبهذا نستطيع الحصول على روابط URL ذات بنية موحّدة للصفحات، إضافةً إلى توفير عنوان دقيق (وباللغة العربية إن لزم الأمر). الشيفرة التي يجب أن تضعها في أوّل صفحتك هي:<syntaxhighlight lang="text">
تكون الموسوعات العامة عادةً ذات بنيةٍ مسطحة، وتُرتَّب محتوياتها باستخدام تصنيفات، أي أن تكون جميع الصفحات موجودةً في النطاق الرئيسي دون جعلها صفحاتٍ فرعيةً. وجدنا أنَّ هذا النهج ليس مناسبًا لموسوعة حسوب لوجود كثير من الصفحات ذات العناوين المشابهة. فإذا أردنا توثيق العبارة الشرطية <code>if</code> في JavaScript أو في PHP أو في Python فسنجد أنَّ النطاق الرئيسي سيصبح فوضويًا. لهذا السبب لجأنا إلى فكرة الصفحات الفرعية.
<noinclude>{{DISPLAYTITLE:عنوان الصفحة}}</noinclude>


</syntaxhighlight>
اعتمدنا أن يكون لكل لغة صفحةٌ رئيسيةٌ خاصةٌ بها، والصفحات البقية التابعة لها ستكون صفحاتٍ فرعيةً. فلنأخذ توثيق HTML مثلًا على ذلك. هنالك صفحةٌ رئيسيةٌ للتوثيق باسم HTML، وتتبع جميع العناصر لتلك الصفحة، فهنالك عنصرٌ باسم [[HTML/img]] وآخر باسم [[HTML/head]]، وبهذا تجنبنا الفوضى في النطاق الرئيسي وجعلنا بنية الروابط في الموسوعة منظمةً.


=== تنسيق الصفحات ===
لاحظ أنَّ صفحة [[HTML/img]] مصنفة تحت تصنيف [[:تصنيف:HTML|HTML]] (الذي يضم جميع الصفحات التابعة لهذا التوثيق) والتصنيف [[:تصنيف:HTML Elements|HTML Elements]] (الذي يضم جميع عناصر HTML) والتصنيف [[:تصنيف:HTML Multimedia|HTML Multimedia]] (الذي يضم جميع العناصر التي تتعلق بالوسائط المتعددة في HTML). لاحظ أنَّنا لم ننشئ صفحةً فرعيةً باسم Multimedia (كما في HTML/Multimedia/img) وإنما استخدمنا تصنيفًا بهذا العنوان.
من المهم أن يكون تنسيق الصفحة سليمًا لتسهيل فهرسة الصفحة من محركات البحث وتوليد جدول محتويات وإلى ما هنالك.


احرص على وضع ترويسة H2 لعناوين الصفحة الرئيسية، وضع ضمنها ترويسات H3 وهكذا... لا تستعمل الترويسة H1 أبدًا؛ يجدر بالذكر أنَّ من غير المُفضَّل استخدام وسوم HTML (أي <code>[[HTML/h1-h6|<nowiki><h1>-<h6></nowiki>]]</code>) للإشارة إلى الترويسات، ذلك لأنَّها غير قابلة للتفسير من MediaWiki ولن يُنشَأ لها جدول محتويات...
أما في الحالات التي قد تتضارب فيها أسماء الدوال أو الخاصيات، كما في الخاصيات التابعة للكائنات العامة في JavaScript، فإننا نخصص صفحةً فرعيةً لكل خاصية. فعندنا الخاصية <code>toString</code> التابعة للكائن [[JavaScript/Object|Object]] وخاصية أخرى بنفس الاسم (لكن مع شرحٍ مختلف) تابعة للكائن [[JavaScript/Number|Number]] (على سبيل المثال)، فلتفادي التضارب في الأسماء، أضفنا صفحة الخاصية كصفحة فرعية لتلك الكائنات. أي [[JavaScript/Object/toString]] و [[JavaScript/Number/toString]]. لاحظ أننا لم نضف الصفحتين [[JavaScript/Object|Object]] و [[JavaScript/Number|Number]] كصفحات فرعية للصفحة Global Objects، وإنما استخدمنا ذلك كتصنيف.


من المهم عدم إغفال وضع الروابط الداخلية بين صفحات الموسوعة، فحاول أن تضع رابطًا داخليًا حيثما استطعت.
=== الروابط ===
أكثر ما يميّز الموسوعات عن أنظمة إدارة المحتوى هو الروابط الداخلية التي تسهّل التنقل بين صفحات الموسوعة. احرص على إضافة الروابط في أي مكان تجده مناسبًا. لاحظ أنَّ هنالك إمكانية إضافة روابط إلى صفحات غير موجودة، وهذا يسمح بمرونة في إضافتها، فلا حاجة إلى تعديل الصفحات القديمة عند إنشاء الصفحات الجديدة لإضافة روابط إليها.


انظر إلى [[mediawikiwiki:Wikitext|هذه الصفحة]] لمزيدٍ من المعلومات حول صيغة wikitext.
=== المصادر ===
من المهم أن تضع المصادر التي استقيت منها المعلومات المذكورة في الصفحة في قسمٍ بآخر كل صفحة تُضيفها. ضع كل مصدرٍ من المصادر في قائمة منقطة وأضف رابطًا خارجيًا إليه.

المراجعة الحالية بتاريخ 13:01، 3 مارس 2018

توفِّر هذه الصفحة معلومات ومصادر عن تحرير وإنشاء صفحات في موسوعة حسوب.

هدف موسوعة حسوب

هدفنا الأساسي هو توفير توثيق لغات البرمجة باللغة العربية الفصيحة، بجودة عالية وبدقة كبيرة، بما في ذلك توثيق أساس اللغات ودوالها وخاصياتها كلها، مع توفير أمثلة عملية عليها يمكن للمطور الاستفادة منها.

كيف تبدأ بالمساهمة

تواصل معنا عبر البريد wiki@hsoub.com وسنتابع معك لإعطائك الصلاحيات التي تحتاج لها.

كيفية المساهمة في الموسوعة

الموسوعة هي مشروعٌ قائمٌ على مساهمة المجتمع فيها، ولا تكون المساهمة هي إنشاء الصفحات فقط، وإنما تتضمن تصحيح الأخطاء (في المعلومات، أو اللغوية)، وتحديث المحتوى، وإضافة أمثلة، وغير ذلك.

كيفية التعديل

تدعم صفحات الموسوعة نوعين من المحررات: المحرر المرئي والمحرر المصدري.

المحرر المرئي (VisualEditor) يوفِّر طريقةً سهلةً لتعديل الصفحات مرئيًا، أي أنَّه يشبه ما تستعمله في برامج التحرير المكتبي مثل Mircosoft Word أو Libreoffice Writer أو Google Docs.

المحرر المصدري يُظهِر الصفحة بصيغة wikitext التي تستعملها برمجية MediaWiki، وتمنح طريقة التعديل هذه مرونةً كبيرةً في التحرير وتعطي إمكانيات أكبر من المحرر المرئي، لكنها تعلمها أصعب من تعلم المحرر المرئي.

يمكنك الاطلاع على دليل التحرير لمزيدٍ من المعلومات.

أنواع المساهمات

  • إنشاء صفحات جديدة في توثيق إحدى اللغات.
  • إنشاء أقسام جديدة في صفحات موجودة مسبقًا، تشرح أمورًا لم تتطرق لها الصفحة من قبل.
  • إضافة أمثلة مرتبطة بالصفحة.
  • توضيح بعض الأمور التي قد يلبس فهمها على القارئ.
  • إعادة صياغة الفقرات والجملة الركيكة.
  • توحيد المصطلحات بين صفحات الموسوعة.
  • إصلاح الأخطاء اللغوية والمطبعية.
  • إضافة رسومات توضيحية للمفاهيم المشروحة.

بنية صفحات الموسوعة

الغرض من الموسوعة هو توفير توثيق لغات البرمجة، وليست منصةً لنشر المقالات (نستعمل أكاديمية حسوب لهذا الغرض)، لذا انتبه إلى بنية وطريقة صياغة الصفحة.

من المهم استقاء المعلومات التي ستضعها في الصفحة من مصادر حرة تسمح لك بإعادة نشر المحتوى، لاحظ أنَّ محتوى الموسوعة منشور تحت رخصة المشاع الإبداعي نَسب المُصنَّف -غير تجاري- الترخيص بالمثل 4.0 (CC BY-NC-SA 4.0)، لذا احرص على توافقية المحتوى معها.

عند إنشائك لصفحة جديدة في توثيق لغةٍ ما، فاطلع على صفحات ذاك التوثيق لتأخذ فكرةً عن طريقة تنظيم صفحات التوثيق، وحاول قدر الإمكان أن تكون بنية الصفحة الجديدة شبيهة قدر الإمكان ببقية الصفحات.

جدول المحتويات

تولِّد البرمجية جدول المحتويات تلقائيًا، فلا حاجة إلى إنشاء جدول محتويات يدوي. يظهر جدول المحتويات قبل أول ترويسة في الصفحة، هذا يعني أنَّ الصفحة ستتألف من «مقدمة» ثم «جدول المحتويات» ثم بقية الصفحة.

نرغب عادةً بجعل مقدمة الصفحة قصيرةً كي يظهر جدول المحتويات للزائر مباشرةً دون التمرير إلى الأسفل، هذا سيسمح بمعرفة محتويات الصفحة بسهولة ويُسرِّع الانتقال إلى القسم الهدف بسرعة.

المنهجية التي نتبعها عادةً هي إضافة وصف قصير وبليغ عن الصفحة، مع توفير مثال إن كان المجال يسمح بذلك، مما يُذكِّر القارئ ببنية الدالة أو البنية أو الخاصية بسرعة دون الخوض في التفاصيل.

التصنيفات

التصنيفات هي الطريقة الرئيسية لتجميع الصفحات في الموسوعة. من المهم وضع تصنيفات ذات دلالة لكل صفحة تضاف إلى توثيق إحدى اللغات أو التقنيات.

اجعل أوّل تصنيف هو اسم اللغة، فأوّل تصنيف في صفحات توثيق PHP هو PHP، وأوّل تصنيف في صفحات CSS هو CSS (فعل ذلك سيُسهِّل الوصول إلى جميع صفحات التوثيق). أما بقية التصنيفات، فاحرص أن تبدأ باسم اللغة (كما في HTML Metadata و HTML Multimedia) لتجنب خلط صفحات الموسوعة مع بعضها.

الهيكلية

تكون الموسوعات العامة عادةً ذات بنيةٍ مسطحة، وتُرتَّب محتوياتها باستخدام تصنيفات، أي أن تكون جميع الصفحات موجودةً في النطاق الرئيسي دون جعلها صفحاتٍ فرعيةً. وجدنا أنَّ هذا النهج ليس مناسبًا لموسوعة حسوب لوجود كثير من الصفحات ذات العناوين المشابهة. فإذا أردنا توثيق العبارة الشرطية if في JavaScript أو في PHP أو في Python فسنجد أنَّ النطاق الرئيسي سيصبح فوضويًا. لهذا السبب لجأنا إلى فكرة الصفحات الفرعية.

اعتمدنا أن يكون لكل لغة صفحةٌ رئيسيةٌ خاصةٌ بها، والصفحات البقية التابعة لها ستكون صفحاتٍ فرعيةً. فلنأخذ توثيق HTML مثلًا على ذلك. هنالك صفحةٌ رئيسيةٌ للتوثيق باسم HTML، وتتبع جميع العناصر لتلك الصفحة، فهنالك عنصرٌ باسم HTML/img وآخر باسم HTML/head، وبهذا تجنبنا الفوضى في النطاق الرئيسي وجعلنا بنية الروابط في الموسوعة منظمةً.

لاحظ أنَّ صفحة HTML/img مصنفة تحت تصنيف HTML (الذي يضم جميع الصفحات التابعة لهذا التوثيق) والتصنيف HTML Elements (الذي يضم جميع عناصر HTML) والتصنيف HTML Multimedia (الذي يضم جميع العناصر التي تتعلق بالوسائط المتعددة في HTML). لاحظ أنَّنا لم ننشئ صفحةً فرعيةً باسم Multimedia (كما في HTML/Multimedia/img) وإنما استخدمنا تصنيفًا بهذا العنوان.

أما في الحالات التي قد تتضارب فيها أسماء الدوال أو الخاصيات، كما في الخاصيات التابعة للكائنات العامة في JavaScript، فإننا نخصص صفحةً فرعيةً لكل خاصية. فعندنا الخاصية toString التابعة للكائن Object وخاصية أخرى بنفس الاسم (لكن مع شرحٍ مختلف) تابعة للكائن Number (على سبيل المثال)، فلتفادي التضارب في الأسماء، أضفنا صفحة الخاصية كصفحة فرعية لتلك الكائنات. أي JavaScript/Object/toString و JavaScript/Number/toString. لاحظ أننا لم نضف الصفحتين Object و Number كصفحات فرعية للصفحة Global Objects، وإنما استخدمنا ذلك كتصنيف.

الروابط

أكثر ما يميّز الموسوعات عن أنظمة إدارة المحتوى هو الروابط الداخلية التي تسهّل التنقل بين صفحات الموسوعة. احرص على إضافة الروابط في أي مكان تجده مناسبًا. لاحظ أنَّ هنالك إمكانية إضافة روابط إلى صفحات غير موجودة، وهذا يسمح بمرونة في إضافتها، فلا حاجة إلى تعديل الصفحات القديمة عند إنشاء الصفحات الجديدة لإضافة روابط إليها.

المصادر

من المهم أن تضع المصادر التي استقيت منها المعلومات المذكورة في الصفحة في قسمٍ بآخر كل صفحة تُضيفها. ضع كل مصدرٍ من المصادر في قائمة منقطة وأضف رابطًا خارجيًا إليه.