المقدمة
عندما كنت أحاول الترويج لمشروعي الأخير (الدردشة عبر الإنترنت) ، أدركت حقيقة أنه لا يوجد مكان تقريبًا للكتابة عنه. لا يتعلق الموقف فقط بمشروعات الويكي ، بل يشمل Runet بشكل عام. تمتلك المواقع الكبيرة سياسة لا يمكنك كتابتها عن مشروعك - يجب عليك إما شراء إعلانات ، أو يجب أن يكتب شخص آخر عنك. إذا أخذنا بعين الاعتبار مواقع wiki على وجه التحديد ، فإن الوصول إلى Lurk أو Wikireality يمثل مشكلة ، ناهيك عن عملاق مثل Wikipedia. على الرغم من أنني وجدت بعد ذلك بعض بوابات wiki الصغيرة غير الخاضعة للرقابة والتي كتبت عنها مراجعتين فريدتين في الدردشة. لقد ألهموني لإنشاء مورد wiki مجاني لتطوير تكنولوجيا المعلومات.
لماذا تكتب محرك الويكي الخاص بك عندما يكون هناك محركات جاهزة؟
حسنًا ، أولاً وقبل كل شيء ، كان الأمر ممتعًا بالنسبة لي. يعد إنشاء موقع ويب جاهز باستخدام قالب ببضع نقرات أمرًا مملًا ولا يستحق اهتمام الجمهور. ومن المرجح أن يجذب تطوير جديد بواجهة خاصة به مزيدًا من الاهتمام. بالإضافة إلى ذلك ، يبدو لي أنه من الأسهل كتابة التعليمات البرمجية لمهام معينة من البداية ، مع الأخذ في الاعتبار أي إطار عمل لتبسيط التطوير ، بدلاً من إعادة أكوام رمز شخص آخر بنفسك.
المزيد حول wikiclick.ru
Wikiclick.ru هي موسوعة مجانية على شبكة الإنترنت لتطوير تكنولوجيا المعلومات. هنا يمكنك الكتابة عن موقعك أو تطبيقك أو خدمتك أو لعبتك أو أي تطوير آخر ، على سبيل المثال ، حول إطار العمل أو المكتبة الخاصة بك ، ولن يتم اعتبار مقالتك بريدًا عشوائيًا. وسيقوم المتصفح تلقائيًا بإنشاء جدول محتويات يشبه الشجرة لصفحتك عن طريق عناوين h1-h6. ستتوفر أيضًا مناقشة في شكل شجرة من التعليقات على صفحة مشروعك. يمكن العثور على الصفحة التي تم إنشاؤها في محفوظات الإصدار أو في البحث في الموقع أو في التحديد بواسطة العلامات المحددة أو في القسم المقابل الذي ينتمي إليه التطوير الخاص بك. في نظرة عامة على المشروع ، يمكنك قصر نفسك على وصف صغير فقط ، وسيقوم المجتمع في النهاية بإكمال المقالة. يمكنك أيضًا إرفاق الصور.
من المألوف الآن إنشاء مواقع متعددة اللغات ، لكن المشروع الأخير علمني أنه ليس لدي أي فكرة عن كيفية الترويج لموقع ما في بلد آخر ، وكيفية تنسيقه عندما أعرف اللغة الإنجليزية التقنية فقط ، لذلك أسقطت هذه الفكرة في البداية. على الرغم من أنني ربما سأقوم في المستقبل بتطبيق التعددية اللغوية في المحرك نفسه.
حول محرك WikiClick
تمت كتابة الخادم مثل خطأ فادح - الكثير من التعليمات البرمجية المكررة ، والتعليقات غائبة تمامًا ، وبعض الأسطر مكتوبة متجاوزة أساليب إطار العمل ، على سبيل المثال ، التصور. لكن بالنسبة للبقية ، قمت بتمشيطها: إنها تعمل بشكل رائع وتتكيف بسرعة مع نفسها (ما لم تكن مرتبكًا بسبب عدم وجود لوحة تحكم). استغرق تطوير WikiClick بالكامل حوالي شهر.
تعجبني الطريقة التي ظهر بها محرك WikiClick - إنه مضغوط ، جميل ، سريع ، رمز الخادم يتم الاحتفاظ به ضمن 1000 سطر. يتم إدخال إدخال جديد إلى سجل الإصدار فقط إذا تمت كتابة الصفحة من عنوان IP مختلف أو في يوم مختلف - تسمح لك هذه الآلية بحفظ جميع الإصدارات الرئيسية للصفحة دون جمع مجموعة من التكرارات المتطابقة مع عمليات التحرير من مستخدم واحد. يتم حفظ تعليقاتك في الجلسة ، وعلى الرغم من عدم انتهاء صلاحيتها ، يمكنك تحريرها. تصميم سريع الاستجابة يتناسب مع إصدار الهاتف المحمول على الفور تقريبًا. تبدو المناقشة في شكل شجرة من التعليقات في أسفل الصفحة أكثر ملاءمة من ويكيبيديا أو على Lurka (على الرغم من أنني لست مشاركًا نشطًا في هذه المشاريع ورأيي مثير للجدل). يبدو استخدام كود HTML في محتوى الصفحة أكثر مرونة ومن المرجح أن يكون أكثر دراية للمطورين.وتبين أن متصفح العنوان أبسط بكثير من الملاح الذي وجدته على الإنترنت ، وهو يعمل على جانب العميل دون إنشاء حمل على الخادم. إنه مصنوع في jquery وهو مناسب لإعادة الاستخدام ، على الرغم من أنه يتطلب من المؤلف اتباع تسلسل العناوين:
if ($('.cords').length) {
$h = 'h1, h2, h3, h4, h5, h6';
$ah = $('article').find($h);
if ($ah.length >=3) {
$('.cords').html('<div></div><ul class="level0" data-level="0"><ul>');
$ol = $('.level0');
$str = '';
$.each($ah, function(i, elm) {
if (i < $ah.length-1) {
a = $ah.eq(i).prop('tagName'); b = $ah.eq(i+1).prop('tagName');
}
$(this).html('<selection id="H'+i+'">'+$(this).html()+'</selection>');
$str += '<li><a href="#H'+i+'">'+$(this).text()+'</li>';
if (i < $ah.length-1 && a>b) $str+='</ul>';
if (a<b && !(a=='H1' && b=='H2')) $str += '<ul>';
if (i == $ah.length-1) {
for (i = parseInt($(this).prop('tagName').substring(1)); i>=3; i--) {
$str += '</ul>';
}
console.log($str);
$ol.html($str);
}
});
}
}
ملاحظة: آمل أن تكون دراجتي قادرة على إثارة اهتمامك (سنعتبر هذا اختبارًا تجريبيًا).
الروابط
مشروع wikiclick.ru
على جيثب