Giter Club home page Giter Club logo

nginxbeautifier's Introduction

npm version

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 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.

nginxbeautify - derived from this project, and much improved, by adding modularity and much more, by Denys Vitali, you should check it out!

nginxbeautifier's People

Contributors

erodewald avatar okoyl avatar pdehaan avatar vasilevich avatar vitaliytv avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.