Assemble 、 Middleman 、Jekyllなどの静的サイトジェネレーターは、テンプレートの上部でYAMLフロントマターをサポートしています。 これらのテンプレートでhtmlbeautifyを実行すると、前書きが台無しになります。
したがって、このyamlフロントマター:
title: Test
is-test: true
---
に変換します:
--- title: Test is-test: true ---
3つのダッシュで「ラップ」されているものはすべて無視するか、オプションを追加することをお勧めします。
詳細情報: http ://assemble.io/docs/YAML.htmlまたはhttp://middlemanapp.com/basics/frontmatter/
js、html、およびcssで使用するテンプレートシステムは非常にたくさんあります。
@ einars 、 @ evocateurこれらすべてに対処するためにすべてのコアコードに特別なケースを追加しないように、ビューティファイアを変更できるかどうか(またはどのように変更できるか)についての考え/意見はありますか?
堅牢なASTパーサー( Esprimaなど)を使用して劇的にリファクタリングし、そのようなASTのカスタムポーキングを可能にするプラグインインターフェイスを提供し、Pythonバージョンを放棄することを除けば、これが発生することはありません。 (そして、escodegenのようなほとんどすべてのASTコードジェネレーターは、カスタマイズが非常に難しい出力を生成します)
おそらくもう少し率直に言うと、このプロジェクトはJSを美化する以上のことをするべきではありません。 HTMLとCSSを省略したことに注意してください。ただし、それらを残しておく必要がある場合は、CSSとHTMLのみを美化する必要があります。 静的パーサーをゆがめて、プリプロセッサーとポストプロセッサーのすべての不正な形式の構文の「砂糖」を考慮に入れるのは、時間の無駄な愚かさです。
YAMLも、Markdown / LESS / SASS / React / Go / Ruby/Brainfuckも美化しません。 不器用さはさておき、フロントエンドの職人の奇妙な美しいコミュニティによって夢見られたすべての奇妙なメタ構文の熱をサポートすることの複雑さは、ただの愚かさです。 今日、ASTアングルを利用しようとする他の美化器があります(プラグインAPIが存在する場合でも、非常に未成熟である傾向があります)。
非常に合理的です。 「美化器は汎用フォーマッターではない」と同じ原理。
jsビューティファイアは、別のビューティファイア内にラップするための簡単なAPIを提供します。 それはまさにhtmlビューティファイアが行うことです。 javascriptに遭遇すると、htmlビューティファイアは制御をjsビューティファイアに渡し、出力を統合します。 このプロジェクトで提供されるコンポーネントをラップまたは変更して、独自のコンポーネントを作成することを歓迎します。 人々が興味を持ち、責任を引き受けたり共有したりすることをいとわないのであれば、彼らは自分たちのプロジェクトをbeautify-webの一部にすることができます。
短期的には、html、css、およびjavascript以外に基づいてバグ要求のマーク付けを開始し、そこからどこに進むかを決定する必要があります。
美化器にはpreservenewlines
のようなパラメータが必要だと思います。 すでにある場合は、テキストの新しい行を保持します。 フロントマターの問題だけではありません。 たとえば、HTMLコードがあり、サーバー上でVSCodeやMidnightCommanderで作業している人がいるとします。 そのため、すべてのテキストはこのようにフォーマットされています。
<p>
This is multiple
line text, that is
easy to read in
MC
</p>
これは、HTMLがレンダリングされ、MCでも表示されるときに正しく機能します。 しかし、誰かがそれを美化器でフォーマットすると、これはなくなります。
したがって、テキストに新しい行を保持するのは素晴らしいことです。
これは修正されたと思います。 テストが必要です。
最も参考になるコメント
美化器には
preservenewlines
のようなパラメータが必要だと思います。 すでにある場合は、テキストの新しい行を保持します。 フロントマターの問題だけではありません。 たとえば、HTMLコードがあり、サーバー上でVSCodeやMidnightCommanderで作業している人がいるとします。 そのため、すべてのテキストはこのようにフォーマットされています。これは、HTMLがレンダリングされ、MCでも表示されるときに正しく機能します。 しかし、誰かがそれを美化器でフォーマットすると、これはなくなります。
したがって、テキストに新しい行を保持するのは素晴らしいことです。