投稿する前に wmd マークダウン エディターからマークダウンをインターセプトして変更するにはどうすればよいですか?

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

  •  21-09-2019
  •  | 
  •  

質問

私は Stack Exchange サイトを立ち上げているのですが、マークダウン スクリプトがアクセスする前後に質問テキストをインターセプトできるようにしたいと考えています。

入れられるようになりたい [custom-tag]stuff to be altered[/custom-tag] 質問ウィンドウに入力し、変更する内容を削除して(標準のマークダウン エンジンが解釈できないため)それを保存し、出力内のタグを変更後の内容で置き換えます。私自身の(サーバー側)エンジンによって処理されます。

私は最初のステップで失敗しています。マークダウン JavaScript が見つかりません。どこかに隠されているのでしょうか /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)

彼らはまずサードパーティの Web サイトにアクセスし、それを次のように変換します。

PokerStars ポットリミット オマハ、$200.00 BB (両手)
SB ($14729)
BB ($28306)

プリフロップ:
SB は $600 をベット、BB は $400 をコール

フロップ: ($1200) 6, 10, 3 (2人プレイ)
BBチェック、SBチェック

振り向く:(1200ドル) K (2人プレイ)
BBチェック、SBチェック

: ($1200) 7 (2人プレイ)
BB は 600 ドルを賭けます。 1倍

合計ポット: $1200 |レーキ: $2

ユーザーがサードパーティの Web サイトにアクセスし、手に貼り付けて HTML 出力を選択し、結果をコピーして質問に貼り付ける必要があるステップを省略したいと考えています。代わりに、生のハンド テストを [hand][/hand] タグでラップできるようにして、変換が自動的に処理されるようにしたいと考えています。

編集2:

さらに調査すると、これは(大量のハッキーな JS がなければ)不可能であるようです。変換を行うために外部サービスを使用するには、まず Ajax クロスドメインの問題を回避する必要があります。

その後、WMD プレビューをオーバーライドできた場合でも、実際の回答が通常どおりレンダリングされたときにどうするかを考える必要があります。これを行う 1 つの方法は、質問または回答がレンダリングされるたびに JS にタグを検索させ、変換されたバージョンで DOM を更新することです。これはパフォーマンス POV を損なうことになります。

待つ必要があると思いますが、SE がこれをオーバーライドする別の方法を許可してくれることを願っています。

役に立ちましたか?

解決

WMDは自動的に、右入力すると、プレビュー要素を移入しますか?まあ、それはこれを行うには、コンバータのどこかを持っている必要があります。そのコンバータは、(あなたがここを得ることができた)の対決です。ここでは(ソースファイルから引き出さ)その使い方は次のとおりです。

// Showdown usage:

var text = "Markdown *rocks*.";

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

あなたは単にあなたが自分自身を移入することを自分自身に有利なように、提供されたプレビュー要素を使用できないことをこの意味。さらに、あなたは対決を呼び出すことで、その後、テキストエリアにkeypressイベントに自分自身を聞くと、テキストのあなたの構文解析を行う必要があります。出力はそれが好きなようである場合には、独自のプレビュー要素にそれをスローします。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top