web-dev-qa-db-ja.com

NGINX設定ファイル用のフォーマッタ/ビューティファイアはありますか?

これは少しばかげているように聞こえるかもしれませんが、私のNGINX構成ファイルの1つは、フォーマットに関してはがらくたです。それは機能しますが、それだけです。

http://jsbeautifier.org/ のような、ある種のビューティファイアまたはフォーマッタを見つけようとしましたが、javascriptではなくnginx構成ファイル用でしたが、今のところ運がありません。

誰かが提案をしてくれることを願っています。迅速に/怠惰に作成されたNGINX構成ファイルをフォーマットできる限り、要件はありません!

ありがとう!

21
Peter Willemsen

私はあなたのニーズに合うかもしれないいくつかのプロジェクトを見つけました:

  1. 1connectによるNginxフォーマッター(python)
    あなたはそれを得ることができます ここ
  2. VasilevichによるNginxビューティファイア(js/nodejs)
    nginxbeautifier.com これにより、Webブラウザーで構成をすばやくフォーマットできます。同じサイトでコマンドラインツールを入手して、ローカルで実行することもできます。
13
lyoko

ブロック行end{'砂 }の、この単純な圧子はあなたを少し助けるかもしれません。

すべての構成をフォーマットするのではなく、インデントを修正するだけです。

Awkのオリジナル( ソース)

#!/usr/bin/awk -f
{sub(/^[ \t]+/,"");idx=0}
/\{/{ctx++;idx=1}
/\}/{ctx--}
{id="";for(i=idx;i<ctx;i++)id=sprintf("%s%s", id, "\t");printf "%s%s\n", id, $0}

またはPythonで書き直しました:

INDENT = ' ' * 4

def indent(contents):
   lines = map(str.strip, contents.splitlines())
   current_indent = 0
   for index,line in enumerate(lines):
       if (line.endswith('}')):
           current_indent -= 1

       lines[index] = current_indent * INDENT + line

       if (line.endswith('{')):
           current_indent += 1

    return ('\n').join(lines)
4
Sad Luigi

エラーを気にしないJSフォーマッター(例: http://jsbeautifier.org/ )を使用しています。

1