我知道這可能聽起來有點愚蠢,但是當涉及到格式化時,我的一個NGINX配置文件是一個廢話。它的工作原理和所有這些都是關於它的。有NGINX配置文件的格式化器/美化器嗎?
我試圖找到某種美化工具或格式化工具,如http://jsbeautifier.org/,但後來用於nginx配置文件而不是javascript,但目前還沒有運氣。
我希望任何人都會有一個建議。沒有要求,只要它可以快速/懶惰地製作NGINX配置文件!
謝謝!
我知道這可能聽起來有點愚蠢,但是當涉及到格式化時,我的一個NGINX配置文件是一個廢話。它的工作原理和所有這些都是關於它的。有NGINX配置文件的格式化器/美化器嗎?
我試圖找到某種美化工具或格式化工具,如http://jsbeautifier.org/,但後來用於nginx配置文件而不是javascript,但目前還沒有運氣。
我希望任何人都會有一個建議。沒有要求,只要它可以快速/懶惰地製作NGINX配置文件!
謝謝!
我使用JS格式化程序(例如http://jsbeautifier.org/),它們不關心錯誤。
如果您的封鎖線結束與{
的和}
的,這個簡單的壓頭可以幫助你一點。
它不是格式化所有的配置,它只修復縮進。
原在AWK(source):
#!/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)
Thankyou。我花了很多年試圖讓vim縮進,並在挫折中放棄。 awk腳本非常棒! – IanB
我發現這可能會滿足您的需求的幾個項目:
感謝您分享我的項目(nginxbeautifier),如果你想在本地運行它,請訪問我的github頁面https://github.com/vasilevich/nginxbeautifier – vasilevich
我寫了https://github.com/beijaflor-io/conffmt ,它是任何conf文件的完整解析器和漂亮的打印機 – yamadapc
我現在正在分流jsbeautifier出於挫折,世界上沒有任何東西存在格式這種配置語法。我試過jsbeautifier,但它沒有工作(關閉所有設置) 例如,#comments開始了一個新行。 贊: # 評論 你如何使用jsbeautifier的nginx配置? –
@PeterWillemsen好吧,我意識到了侷限性。可能救我的是,我只格式化大型配置模板,我的配置儘可能分開。所以大部分時間我都不會遇到問題。 –
謝謝,我只是試圖分叉JSBeautifier,將它發佈時,它爲任何人尋找相同的NGINX文件的作品。 –