Js-beautify: SVGファイルを正しくフォーマットできない

作成日 2016年09月14日  ·  3コメント  ·  ソース: beautify-web/js-beautify

説明

ライブラリはSVGファイルを適切に処理しません-それは何かをしますが、それがすべきことをしません。

入力

美化前のこのコード(私はそれを単純化し、意図的にインデントを台無しにしました。元の/完全なマークアップと同じでした):

<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
     viewBox="0 0 36 36" style="enable-background:new 0 0 36 36;" xml:space="preserve">
                    <rect id="XMLID_20_" x="-7" 
                          class="st0" 
                          width="49" height="36"/>
</svg>

期待される出力

私はそれがどのように見えるべきか正確にはわかりません。 タグ属性間の改行を許可/保持する場合は、そのようになります。

<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
     viewBox="0 0 36 36" style="enable-background:new 0 0 36 36;" xml:space="preserve">
     <rect id="XMLID_20_" x="-7" 
           class="st0"
           width="49" height="36"/>
</svg>

...またはそれらを削除する必要がある場合

<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 36 36" style="enable-background:new 0 0 36 36;" xml:space="preserve">
     <rect id="XMLID_20_" x="-7" class="st0" width="49" height="36"/>
</svg>

実際の出力

美化後のコードは実際には次のようになりました。

<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 36 36" style="enable-background:new 0 0 36 36;" xml:space="preserve">
                    <rect id="XMLID_20_" x="-7" 
                          class="st0" 
                          width="49" height="36"/>
</svg>

開始<svg>タグ(属性間)の1つの改行のみが削除されたことに注意してください( <rect>改行については何もしません

環境

OS:Windows 10 Pro64ビット

設定

デフォルト。

追加コメント

ファイル拡張子をXMLに変更して、beautifyを再度実行しようとしましたが、これは最近までの回避策でしたが、結果は上記と同じでした(以前は正常に機能していました)。 XMLの美化に何か問題があるようです(ライブラリの同じ部分がSVGとXMLを処理していると思います)。

以前にhttps://github.com/brackets-beautify/brackets-beautify/issues/223で報告されました

fixed? bug

最も参考になるコメント

何か進展はありますか? インラインSVGを美化するにはどうすればよいですか?

全てのコメント3件

これはまったくフォーマットされません: <svg><defs><path></path></defs></svg>

何か進展はありますか? インラインSVGを美化するにはどうすればよいですか?

これはv1.8.0-rc14で解決されたようです。 私はそれのテストを書いています、そして時間の終わりまでにPRを提出します。

このページは役に立ちましたか?
0 / 5 - 0 評価