7

部分的に教育目的で、Python/Django で wiki を開発しています。今のところ、適切なマークアップ言語がまだありません。Creole や Markdown など、さまざまなビューを試してみましたが、テーブルのサポート以外はうまく機能しました。一般的な wiki マークアップ言語は基本的なテーブルのみをサポートしているようです。つまり、セルごとに 1 行であるか、セル内に複雑なマークアップはありません。しかし、私の wiki のユーザーは、より大きなフォーマット テキストとセル内のリストを含む表を作成できるようにしたいと考えています。実際にこれを行うことができるマークアップ言語を見つけるのに問題があります。

すべてをサポートしているように見える MediaWiki マークアップ言語をじっと見てきましたが、これを使用するのはやり過ぎだと思います。マークアップの残りの部分は、マークアップの書きやすさに重点を置いて、非常に単純にすることができます (MediaWiki マークアップがやや醜い場合があります)。さらに、マークアップを Web アプリケーションで使用できる HTML に変換するための Python モジュールが必要です。MediaWiki マークアップ用のものをまだ探しています。

もう 1 つの方法は、Wiki マークアップ言語をまったくダンプし、代わりにマークアップ用に定義された HTML タグのセットを許可することです。しかし、HTML はウィキの記事を書くために開発されたものではないため、ウィキの記事を書くのが難しくなります。また、禁止されている HTML を見つけてエスケープするのは非常に難しい場合があります。私はむしろ、軽量の Python 実装を備えた優れたマークアップ言語を使用したいと考えています。

拡張テーブルをサポートするマークアップ言語と、私が使用できる Python での実装を知っている人はいますか?

前もって感謝します!

4

2 に答える 2

4

それがあなたのニーズを満たすかどうかはわかりませんが、reStructuredTextを使用できます。 Sphinxは、Python のドキュメントと Python で書かれた HTML を生成するので、この目的には使いやすいはずです。設計されているため、非常にきれいで読みやすく、非常に複雑なテーブルを作成できます。

于 2012-03-09T12:16:37.953 に答える
1

技術的に経験の浅いユーザーにとって reST を使用するのは複雑であることがわかったので、私は自分で解決策を見つけました。私は少し精巧かもしれませんが、それは私にとってはうまくいきます。

キーは、既存のマークアップ言語の拡張です。テーブルのサポートがないにもかかわらず、Markdown はかなり快適であることがわかりました。Python-Markdown を使用して、独自の拡張機能を作成するために知っておくべきことはすべてここにあります。それほど複雑ではありません。私は30分で何かを一緒にハッキングしましたが、これまでのところ実際に機能しています. ここにコードを示しますが、まだあまり自慢できません ;) 基本的には、マークアップ ブロックを解析し、好きなようにテーブル要素を DOM に挿入します。

マークアップ言語のすべての使用可能な実装には、何らかの拡張メカニズムが必要であると思います。そのため、他の言語や実装の拡張も記述できるはずです。これは最も便利な解決策ではありませんが、機能のためだけに醜い言語を使用するよりはましです。

于 2012-03-11T01:32:50.700 に答える