Techioz Blog

kramdown (または Nanoc) に改行を
ではなく
を生成させるにはどうすればよいですか?

概要

私は kramdown と静的サイト ジェネレーター Nanoc を使用して、Markdown から HTML を生成しています。

デフォルトでは、kramdown は HTML5 の
ではなく XHTML フレンドリーな
として Markdown ダブルスペースを生成するため、HTML5 バリデーターはこれについて「通知」します。

行末のダブルスペースで示される改行を
ではなく
に強制する kramdown または Nanoc オプション/コマンドはありますか?

解決策

関連するコードの場所は、HTML コンバーターの 267 行目で見つかりました。

“/usr/local/lib/ruby/gems/3.2.0/gems/kramdown-2.4.0/lib/kramdown/converter/html.rb” (私の Ruby は Homebrew でインストールされています)

ファイルのアクセス許可と所有権を保持するために、Micro (コマンドライン エディタ: brew install micro) を使用して (sudo)

に編集しました。

次に、ダブルスペース改行を使用して Markdown ファイルを再コンパイルすると、
ではなく
が表示されるようになりました。また、他の自己終了 HTML5 タグ (img と hr) や、kramdown が Markdown ファイル内の生の HTML で自己終了タグを解析する場所についても同じことを行いました。慎重に手動で /> を > に置き換えただけです。バリデーターが好む適切な HTML5 出力が得られるようになりました。

HTML コンバーターは、kramdown GitHub リポジトリで確認できます。

ただし、kramdown gem を更新すると上書きされると思います。そのため、ローカルの kramdown gem に対してこの変更を永続的にする方法を知っている人がいたら、アドバイスを歓迎します。 kramdown Google グループのこの投稿を参照してください