سؤال

تستخدم مواقع StaCkExchange بناء جملة تخطيطي لكتابة الأسئلة والأجوبة.تم تصميم هذا باستخدام Pagedown على جانب العميل و markdownsharp و جيفمطهر HTML على جانب الخادم.أنا أفكر في بناء شيء مشابه جدا نفسي.

أفهم لماذا أحتاج إلى تطهير HTML على جانب الخادم.ولكن ما هو الغرض من markdownsharp؟لماذا لا أفعل الترجمة من علامة تجارية إلى HTML مع Pagedown على جانب العميل وإرسال ذلك إلى الخادم؟

هل كانت مفيدة؟

المحلول

الأسباب الأكثر أهمية:

  1. نريد أن أبسط أساس (بمعنى "أساسية") لمواقع تبادل المكدس، والسؤال والإجابة، والعمل بدون جافا سكريبت . أكثر الأشياء المتقدمة مثل التصويت والرفاق، و UI Niceties، وتساعد النصوص، وتوفد، علبة الوارد العالمية، واتطلب Whatnot جافا سكريبت، وهذا ما يرام. لكن الشيء الوحيد الذي لا يمكن أن يعيش المواقع بدونه - سؤال وجواب - هذا الشرط، للحفاظ على الاحتكاك منخفضة قدر الإمكان.

    بالطبع، عندما لا تملك JavaScript كشرط، لا يمكنك أن تتطلب أن يقوم العميل بتقديم علامة التخفيض.

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

  3. حتى إذا قمت بإعادة تعقيمها على جانب الخادم، فإن السماح للعميل بإجراء التقديم يزيل الثقة بوضوح أنه يمكنك الحصول على الإصدار المقدم حقا من العلامة. تخيل ما يلي:

    i، spmer الشر، نشر الإجابة التالية:

    giveacodicetagpre.

    لكنني أرسل نسخة مقدسة التي ينتقل فيها الرابط بالفعل إلى موقعا ذا صلة على تعقيدات التزامن السلاحف. نظرا لأن الخادم يتوقع كل من مصدر التخطيط و HTML مني المقدمة مني، فإنه يثق في أنه تم صنعه من الآخر.

    على طول مستخدم Sean SHEAT، STACK المتداخلة مع سمعة 120K بسمعة في علامة الشعار وحدها. يرى أن الرابط يذهب بالفعل إلى صفحة ذات صلة، يحب الإجابة، والاقتراع، ووظائف "إجابة رائعة؛ الموقع الذي ترتبط به طن من المحتوى المفيد!" التعليق، وبينما هو في ذلك، هو إصلاح الأخطاء المطبعية "البحر" -> "انظر" (الذي صنع البريد العشاري عمدا).

    ولكن الانقطاع التي كانت في المحرر بعد النقر فوق "تحرير" هل تحتوي على الرابط ذي الصلة بعد الآن؛ ويتضمن رابط رولكس. وبالتالي - غير معروف إلى شون - لا يتم إصلاح الخطأ المطبعي فقط، ولكن أيضا تغيير الرابط للذهاب إلى موقع البريد العشوائي.

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

    وتاريخ المراجعة (انظر النقطة 2.)، لن تظهر حتى أن الرابط قد تم تغيير الرابط.

  4. تجدر الإشارة إلى أن الإصدار الأصلي من محرر WMD JavaScript كان لديه بالفعل وظيفة تصفها؛ يمكنك إعداده لإرسال HTML المقدمة إلى الخادم. أخيرا أزلت هذه الوظيفة عندما نشرنا إصدارنا المعاد عدمنا تحت اسم "Pagedown"، لأننا لم نستخدمها أبدا، وحافظت عليه، وأنا لا أعرف بصدق ما إذا كان يعمل بالفعل أكثر من ذلك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top