سؤال

لماذا أحتاج تخفيض السعر مع محرر تحرير أمامي مثل WMD؟ ماذا يفعل تخفيض التنفيذ للمحتوى الذي يتم إرساله من محرر WMD؟
كيف يخزن Marmdown المحتوى في الواجهة الخلفية؟ هل هي بنفس الطريقة مثل *bold* أو بتنسيق آخر؟ لماذا لا يمكنني فعل فقط HTML تشفير?

آسف إذا بدت ساذجة للغاية.

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

المحلول

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

يمكننا أن نسمي هذا وصف الثراء (حسب وصف الثراء أعني مثل "هذا الجزء من النص جريء" أو "هذا الجزء من النص هو ارتباط تشعبي) ، يمكننا أن نسمي هذا وصف" العلامات " - وهو يمثل ما يصل إلى نص مع ميتا "الثراء".

يمكن أن تأخذ تطبيقات النص الغني على نهجين ، إما.) إخفاء الترميز من المستخدم أو ب.) دعهم يمكنهم الوصول إلى العلامات.

بالنسبة لأولئك الذين يختارون إخفاءه ، تكون النتيجة النهائية في كثير من الأحيان wysiwyg. المستخدم غافل عما يحدث وراء الكواليس. المحرر يعتني بالتفاصيل. فكر في MS Word كمثال. لا أحد يتلاعب بتنسيق ترميز كلمة كمستخدم نهائي منتظم.

بالنسبة للتطبيقات التي تختار فضح العلامات ، تكون لغة الترميز من أجل السماح للمستخدمين بالترابط معها. ستكون لغات الترميز هذه أشياء مثل HTML <tag> أو رمز BB على سبيل المثال ، القيام بأشياء مثل [tag].

التخفيضات هي واحدة من هذه اللغات.

على عكس الأنواع السابقة التي ذكرتها ، حاولت Marmdown تصميم نفسها بحيث تجعل العلامات المشتركة التي يستخدمها الأشخاص ASCII المشتركين. على سبيل المثال ، من الشائع أن يقوم الناس بتجميل نصهم لإزالةه ، *important*, ، وهذا التدوين في التخفيض هو مؤشر مائل.

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

في معظم الأنظمة التي قمت بإنشائها ، أقوم بتخزين عملية التخزين ، ثم أقوم بتطبيعها إلى حقل ثانٍ يقوم بتخزين HTML لتقديم التخفيض. وبهذه الطريقة ، لا يتعين عليّ القيام بتنسيق-> عرض HTML لكل حقل تخفيض. يستغرق الأمر مساحة أكبر قليلاً ، لكنني أفضل أن يتمتع المستخدم باستجابة أسرع من استخدام مساحة تخزين أقل DB.

يجب أيضًا توخي الحذر عند قبول التخفيض من المتصفح ، حيث يمكن أن تحتوي بسهولة <script> العلامات التي تحتاج إلى ترشيح. ستتعرف معظم تطبيقات Markdown أيضًا على HTML المتداخلة مع تنسيق التخفيض ، حيث أن تكون آمنًا ، فأنت بحاجة إلى التأكد من تطهير مدخلاتك وذاكرة التخزين المؤقت بشكل صحيح.

نصائح أخرى

diagram

      

سبب استخدام نظام ترميز بديل بخلاف HTML هو للأمان

لا تدعم أنظمة ترميز نمط الويكي الأخرى وغيرها من هذه اللغات البرمجة النصية اللغات

تدعم HTML لغات البرمجة النصية بعدة طرق (

المسألتان الرئيسيتان الأمان هما:

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

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

باستخدام لغة وسيطة مثل تخفيض التحكم ، لديك تحكم كامل في الإخراج المقدم

تصفية HTML ممكن ، ولكنه أيضًا معقد ومحفوف بالمخاطر

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

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

عندما تسأل عن تخزين البيانات ، فإن ذلك يعتمد. إذا قمت بتمكين التكلفة في محرك مدونة WordPress ، فإنه يخزن البيانات لأن المستخدم قد قام بإدخاله - في Markdown. ومع ذلك ، في سعة مكدس ، يبدو أن البيانات يتم تخزينها على أنها HTML. على الأقل ، تحتوي "مقالب بيانات الفائض المكدس" على HTML ، وليس التكلفة (لقد رأيت الناس يشكون) أنه يتعين عليهم تحويله مرة أخرى).

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

سبب آخر لاستخدام Markdown بدلاً من عنصر تحكم WYSIWIG - يتيح عنصر تحكم WYSIWIG للمستخدم استخدام HTML في البيانات التي تعرضها على صفحة الويب الخاصة بك. لذلك ، عليك أن تكون الشخص الذي يقرر عندما يكون هناك ببساطة HTML غير صحيح وعندما يكون شرًا XSS/CSRF/أيا كان الحقن. في Markdown ، يمكنك ببساطة تحويل * شيء * <b>something</b>, ، قم بإزالة أي عناصر HTML غير المعروفة وإنك تنتهي.

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