3

これが質問するのに適切なStackExchangeページであるかどうかはわかりません(ソフトウェア技術的な質問には反対ですが、おそらくプログラマーも適しています)。

ただし、内部ナレッジデータベースのクライアントとして機能する必要があるプログラムについては、さまざまなフレームワークのリッチテキストコントロール/ウィジェットを調査しています。このリッチテキストコントロールは、HTMLのサブセットを表示する必要があります。h1-h6、b、i、img(埋め込まれているかどうかに関係なく)、リスト、および単純なテーブルのみがサポートされています。テキストはマークダウンコードとしてデータモデルに保存されます。

ここで、このマークアップをオンライン編集で表示し(テキストプロセッサのように)、コンテンツをマークダウンとして再度保存できるコントロールが必要です。クライアントは、Python(PyQtまたはwxPythonを使用)またはC#(WinFormsを使用)で作成できます。これらのフレームワークでリッチテキストコントロールをテストしましたが、適切ではありませんでした。WinFormsのRichEditBoxは、奇妙なRTFを出力し、その他はひどくフォーマットされたHTMLを出力します。ここで、既存のコントロールを拡張して、コンテンツを1秒ごとにマークダウンとして保持するようにします。

良いスタートとして機能する可能性のある、言及されたターゲットプラットフォーム用の優れたオープンソースのコントロール/ウィジェットはありますか?

4

2 に答える 2

1

reStructuredText、Markdown、HTML、LaTeX(他のフォーマットの中でも)との間変換されるPandocをご覧ください。Pandocの使用法を示すオンラインエディタがここにあります。そのWebページのソースは非常に単純なように見えるので、おそらく似たようなものをコーディングしてみることができます。ただし、PandocはHaskellで書かれています。Pythonに相当するDocutilsは、reStructuredText(Markdownではない)からHTMLやその他の形式にのみ変換でき、その逆はできません。

于 2012-05-17T08:49:29.693 に答える
0

マークダウンは、他の形式に処理するために人間が簡単に作成できるように特別に設計されているため、要件は少しエッジケースのように見えます。あなたは反対のことをしている、それでも...

Markdownに保存するWYSIWYGコントロールを知らないので、おそらく自分でロールする必要があります。できることは、既存のコントロールをサブクラス化し、コントロールの内容をフェッチしてMarkdownを生成する永続化メカニズムを実装することです。ほとんどのリッチテキストまたはHTMLエディターは、Markdownよりも多くの機能をサポートするため、これは注意が必要です。コントロールの入力機能を実装して、Markdownでサポートされているサブセットに制限できるはずです。解析に役立つPythonプロジェクトがいくつかあるかもしれません。Pythは最小限に見えますが、役立つ可能性があります。

MarkdownからFormatXへのコンバーターはたくさんありますが、私が知っているツールは、PHPにある ( Markdownify )だけです。

于 2012-05-17T08:39:00.907 に答える