4

これはとてつもなく簡単なはずですが、ドキュメントを正しく読んでいないか、Kramdown がこれをサポートしていません。コマンドライン出力をブログ投稿に入れようとしていますが、これには引用符を使用したいと考えています。ただし、kramdown は、すべてを同じ行の同じブロッククォートに入れることを主張しています。

ブロック引用の各行の間にスペースを入れることはできますが、それは出力の真の表現ではありません。ブロック引用を作成するにはどうすればよいですか。ただし、各行は実際には各行の間にスペースを入れずに別の行に配置されます。「フォーマット済み」の出力をもっと探していると思いますが、kramdownがそれをサポートしているとは思いません。

4

2 に答える 2

7

クラムダウンは、すべてを同じ行の同じブロッククォートに入れることを主張します

これはクラムダウンではなく、HTML の通常の動作です。次のマークダウンを使用します。

> One
> Two
> Three

kramdown は、すべての行が分離されたこの HTML を作成します。

<blockquote>
  <p>One
Two
Three</p>
</blockquote>

これを表示すると、ブラウザーはすべての連続する空白を 1 つのスペースに折りたたむため、すべて同じ行に表示されます。

一二三

最も簡単な解決策は、インデントを使用するか、次のようにフェンスで囲まれたコード ブロックを使用して、ブロック クォートではなくコード ブロックを使用することです。

~~~
One
Two
Three
~~~

これにより、次の HTML が生成されます。

<pre><code>One
Two
Three
</code></pre>

タグのデフォルトのスタイリングではpre、行が分離されます。

One
Two
Three

ここでブロッククォートを本当に使用したい場合は、いくつかの解決策が考えられます。各行の最後に 2 つのスペースを追加して、<br>改行を強制する要素を作成できます。

(ここでは、アンダースコアを使用して、スペースを配置する場所を示しています。これを機能させるには、実際のスペースを使用する必要があります。)

> One__
> Two__
> Three__

これにより、次が生成されます。

<blockquote>
  <p>One<br />
Two<br />
Three</p>
</blockquote>

別の可能な解決策は、ブロッククォートに適切なスタイルを適用することです。Kramdown ではclassおよびid属性を追加できるため、どのブロックがスタイルを取得するかを具体的に指定できます。

<style>
.cmd-line > p {
  white-space: pre;
}
</style>

Hello

{: .cmd-line }
> One
> Two
> Three

このwhite-space: preスタイルにより、ソースの改行がレンダリングされた HTML に表示されます。

于 2016-05-12T16:34:28.533 に答える
0

ハード改行を使用するだけです

ワン
ツー
スリー

于 2021-12-09T09:41:32.720 に答える