web-dev-qa-db-ja.com

全幅のマークダウンテーブル?

これまでのところ、Markdownテーブルのテキストの書式設定と中央揃えを行いましたが、外側のコンテナに対するテーブルの寸法の制御に関しては何も見つかりませんでした(少なくとも、折り返しによって大きすぎると自動的に縮小するという事実以外は)テキスト。)

利用可能な全幅に拡大するマークダウンでテーブルを作成することは可能ですか?もしそうなら、どのようにこれを達成しますか?

7
CoryG

テーブルのCSSスタイルを定義します。

table {
    width:100%;
}

マークダウン ルール の状態として:

Markdownの構文は、Web用の記述形式として使用するという1つの目的を意図しています。

MarkdownはHTMLに置き換わるものではありません。 ... Markdownのアイデアは、散文を読み、書き、編集しやすくすることです。 HTMLは公開形式;マークダウンは書き込みフォーマットです。したがって、Markdownのフォーマット構文は、プレーンテキストで伝達できる問題のみを扱います。

Markdownは公開形式ではなく「書き込み形式」であるため、テキストの「スタイル」を設定する手段は提供していません。もちろん、デフォルトでは、MarkdownはHTMLを生成するため、適切な質問は、HTMLで必要なスタイルを実現する方法です。そして、その答えは、CSSを使用して幅を100%に設定することです( htmlテーブル全体の幅を参照してください? )。

次の質問は、そのCSS定義を使用して出力を取得する方法です。その答えは、Markdownがどこでどのようにレンダリングされるかによって異なります。完全に制御できる場合は、CSSルールをサイトの既存のCSSルールに含める可能性があります。少なくとも、ドキュメントの<style><head>タグにルールを含めることができます。

ページ全体を制御できない場合は、Markdown自体のどこかにスタイルタグを含めることができます。 Markdownは変更されていないHTMLを通過するため、何も壊れません。このような:

<style>
table {
    width:100%;
}
</style>

HTML <table>タグにインラインでスタイルを定義するオプションもありますが、これは手動でHTMLを作成した場合にのみ機能します。 MarkdownにHTMLを生成させたいので、それは便利なオプションではありません。

最後に、Markdownがサードパーティのサイト(StackOverflowやGitHubなど)によってレンダリングされている場合、そのサイトにはさまざまなセキュリティ対策が施されている可能性があり、これらのオプションをすべて不可能にする可能性があります。たとえば、 を参照してくださいGithub Gist markdownの中央にテーブルを置くことは可能ですか?

5
Waylan

Waylanが言うように、Markdownはプレゼンテーションではなくcontentを重要視しています。彼のソリューションは、コンテンツのレンダリング先と方法を制御できる場合に機能します。

ただし、場合によっては、 GitHubでは、このコントロールはありません。 Markdownの一部として レンダリングパイプライン

HTMLはサニタイズされ、scriptタグ、インラインスタイル、classまたはid属性など、あなたやあなたの親族に害を及ぼす可能性のあるものを積極的に削除します。完全なホワイトリストについては、 サニタイズフィルター を参照してください。

GitHubでは、GitHubのレンダリングルールに従う必要があります。

2
Chris