2

最近 Hartl の Rails チュートリアルを完了したばかりで、Rails に比較的慣れていない私は、初めて本格的なプロジェクトに着手しています。私が自分の Web アプリに追加したいと考えているのは、SO のテキスト入力機能に似たものです。入力すると、テキストがどのようになるかを直接確認できます。SOを掘り下げた後 Ruby で実装された Markdown であるgem を使用することにしましたが、次の質問があります。 bluecloth

  1. blueclothどの出力をform_forヘルパーに結び付けるかがわかりません。関数 を介して文字列に変換できると理解してhtml = BlueCloth.new(str).to_html()いましたが、 の一部としてテキスト フィールドがある場合、何form_forをすべきかわかりません。言い換えれば、1 つのボックスに入力すると、ページの別の場所に項目が表示されるという魔法について、私はまだ少し混乱しています。
  2. WMD バー ボタンの項目と機能には、Markdown エディター (bluecloth など) が含まれていますか? それとも手動で作成する必要がありますか? もしそうなら、太字のボタンのようなものを、入力時にエディターに「** **」と表示するにはどうすればよいでしょうか?

ご協力いただきありがとうございます!

4

1 に答える 1

4

コメントが指摘しているように、Markdown は HTML のようなマークアップ言語であるため、WYSIWYG を実行するのは簡単ではありません。

この種の機能を取得するには、おそらく 2 つの方法があります。

サーバ側

マークダウン テキストをサーバーに投稿し、サーバーが HTML を返すようにします。私はこれを Python で何度も実行しましたが、Ruby の場合、この SO の回答はmarukuを示唆しています。このアプローチの欠点は、プレビューを表示するたびにサーバー リクエストが必要であり、ユーザーを混乱させることなくそれを UI に統合する何らかの方法が必要になることです。Stackoverflow は、サーバー上の WMD エディターと一部の C# でこのアプローチを使用します。

クライアント側

別のオプションは、クライアント側ライブラリを使用してマークダウン「コード」を取得し、javascript を使用してページに統合できる html を生成することです。この例はdillingerです。これは、テキストエリアとshowdownのようなものを使用して、ブラウザーで HTML をレンダリングします。私が開発中のdemarcate.jsという WYSIWYG Markdown エディターで、このアプローチをさらに一歩進めています。

または... Markdownを捨てる

コメントでは、代替の WYSIWYG エディターが既に提案されています。これらのほとんどは、マークダウン エディターではなく、最後に HTML を生成するリッチ テキスト エディターです。TinyMCEwysihtml5は良いオプションであり、以前にCKeditorを使用して成功したこともあります。最新バージョンには、上記の Markdown エディターに影響を与えたクールな「インプレース」機能があります。

于 2013-01-30T13:49:10.803 に答える