كيف يمكنني اعتراض وتعديل التخفيضات من محرر تخفيض مائلات WMD قبل نشره؟

StackOverflow https://stackoverflow.com/questions/1561012

  •  21-09-2019
  •  | 
  •  

سؤال

أبدأ موقعًا للتبادل المكدس وأريد أن أكون قادرًا على اعتراض نص السؤال قبل وبعد برنامج Markdown Script.

أريد أن أكون قادرًا على الدخول [custom-tag]stuff to be altered[/custom-tag] في نافذة السؤال ، ثم قم بإزالة الأشياء التي سيتم تغييرها (حيث لن يتمكن المحرك القياسي من تفسيره) ، ثم استبدل العلامات الموجودة في الإخراج بالأشياء المراد تغييرها بعد أن تم تغييرها تمت معالجتها بواسطة محركي الخاص (من جانب الخادم).

أنا فشلت في الخطوة الأولى ؛ لا يمكنني العثور على JavaScript Markdown. هل هو مخفي في مكان ما في /content/js/master.js?

تعديل: سأحاول أن أجعل هذا أكثر وضوحًا مع مثال على ما أحاول تحقيقه.

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

لذا ، بدلاً من نشر هذا في المنتدى:

PokerStars Game #29112867044:  Omaha Pot Limit ($100/$200) - 2009/06/07 19:51:27 ET
Table 'Thomsen' 9-max Seat #2 is the button
Seat 2: Mary & Joey ($14729 in chips) 
Seat 4: William ($28306 in chips) 
Mary & Joey: posts small blind $100
William: posts big blind $200
*** HOLE CARDS ***
Mary & Joey: raises $400 to $600
William: calls $400
*** FLOP *** [6d Td 3c]
William: checks 
Mary & Joey: checks 
*** TURN *** [6d Td 3c] [Kc]
William: checks 
Mary & Joey: checks 
*** RIVER *** [6d Td 3c Kc] [7d]
William: bets $600
Mary & Joey: folds 
Uncalled bet ($600) returned to William
William collected $1198 from pot
William: doesn't show hand 
*** SUMMARY ***
Total pot $1200 | Rake $2 
Board [6d Td 3c Kc 7d]
Seat 2: Mary & Joey (button) (small blind) folded on the River
Seat 4: William (big blind) collected ($1198)

سيذهبون أولاً إلى موقع الويب الثالث ويقومون بتحويله إلى هذا:

PokerStars Pot-Limit Omaha ، 200.00 دولار BB (2 سلم)
SB (14729 دولار)
BB (28306 دولار)

preflop:
SB Bets 600 دولار ، BB يدعو 400 دولار

التقليب: ($1200) 6, 10, 3 (لاعبان)
شيكات BB ، شيكات SB

دور: (1200 دولار) ك (لاعبان)
شيكات BB ، شيكات SB

نهر: ($1200) 7 (لاعبان)
BB Bets 600 دولار ، 1 أضعاف

وعاء إجمالي: $1200 | مجرفة: $2

أرغب في قطع الخطوة التي يتعين على المستخدم الذهاب إليها إلى موقع إلكتروني من طرف ثالث ، لصق في أيديهم ، وتحديد إخراج HTML ثم نسخ النتيجة والصقها في السؤال. بدلاً من ذلك ، أريدهم أن يتمكنوا فقط من لف اختبار اليد الخام باستخدام علامات [Hand] [/Hand] وسيتم التعامل مع التحويل تلقائيًا.

تحرير 2:

في مزيد من التحقيق ، يبدو أن هذا غير ممكن (بدون الكثير من Hacky JS). قد يحتاج المرء إلى الالتفاف على مشكلات Ajax Cross Domain أولاً لاستخدام أي خدمة خارجية للقيام بالتحويل.

ثم إذا تمكنت من تجاوز معاينة WMD - لا يزال يتعين عليك معرفة ما يجب القيام به عندما يتم تقديم الإجابة الفعلية بشكل طبيعي. تتمثل إحدى طرق القيام بذلك في الحصول على JS للبحث عن العلامة كلما تم تقديم أي سؤال أو إجابة وتحديث DOM بإصدار تم تحويله -والذي سيمتص من POV أداء.

أعتقد أنني سأضطر إلى الانتظار وآمل أن تسمح SE بطريقة أخرى لنا لتجاوز هذا.

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

المحلول

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

// Showdown usage:

var text = "Markdown *rocks*.";

var converter = new Showdown.converter();
var html = converter.makeHtml(text);

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

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