Package Exports
- nginxbeautifier
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (nginxbeautifier) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
nginx config file formatter and beautifier
This Javascript script beautifies and formats Nginx configuration files like so:
- all lines are indented in uniform manner, with 4 spaces per level
- neighbouring empty lines are collapsed to at most two empty lines
- curly braces placement follows Java convention
- whitespaces are collapsed, except in comments an quotation marks
Where
From our website
This project can be used directly at: nginxbeautifier.com
From the NPM repository
Please see Installation section below.
From the Arch-AUR repository
Please see Installation section below.
Installation
NodeJS is needed to run this program.
You can install nginxbeautifier using one of the ways below:
From AUR
Using pacaur (or any other way from AUR repository)
pacaur -S nginxbeautifier
From NPM repository
npm install -g nginxbeautifier
Directly from source
simpley clone our repository and copy the executable to your /usr/bin so you can use it anywhere on the system(unix only).
git clone https://github.com/vasilevich/nginxbeautifier
cp nginxbeautifier/nginxbeautifier.js /usr/bin/nginxbeautifier
How to use
Usage: nginxbeautifier [OPTION]... [FILE]...
Description: Formats nginx conf files into a more readable format by re-indenting the lines.
Mandatory arguments to long options are mandatory for short options too, Arguments are case insensitive.
-h, --help, Show this help text.
-s, --space, Amount of spaces to indent with, Can not be used if tabs are specified.
-t, --tabs, Amount of tabs to indent with, Can not be used if spaces are specified.
-dj, --dontjoin, --dont-join, if set to true, commands such as 'server' and '{' will be on a seperate line, false by default ('server {' )
-r, --recursive, scan the whole current folder, and all sub folders recursively.
-i, --input, The file to input, is optional if you provide a path after all the arguments.
-o, --output, The file to output to, is optional if you provide a path after all the arguments.
-e, -ext, --extension, The extension of the config file to look for(.conf by default).
Usage examples:
(1)>nginxbeautifier -s 4 -r sites-enabled/
(2)>nginxbeautifier -s 4 -r /etc/nginx/sites-enabled/
(3)>nginxbeautifier -s 4 -i /etc/nginx/sites-enabled/site.conf -o /etc/nginx/sites-enabled/newSite.conf
(4)>nginxbeautifier -s 4 -i /etc/nginx/sites-enabled/site.conf
(5)>nginxbeautifier -s 4 -i /etc/nginx/sites-enabled/*
(6)>nginxbeautifier -t 4 -i /etc/nginx/sites-enabled/*
(7)>nginxbeautifier -t 4 /etc/nginx/sites-enabled/*
(8)>nginxbeautifier -t 4 -i /etc/nginx/sites-enabled/* -o /etc/nginx/new-sites-enabled/*
Credits
Michał Słomkowski - Original code was ported from their project(nginxfmt.py), and also used their readme.md as a template. some methods were rewritten or changed a bit, but most of the code follows their design.
Notes:
I am keeping the same licenese format as the one that was given by the owner of the project the code was ported from: Apache 2.0.
Additional related projects you may find interesting:
nginxbeautify - derived from this project, and much improved, by adding modularity and much more, by Denys Vitali, you should check it out!