panlatent / site-cli
A command-line tool that help you manage Nginx local development configuration
Installs: 11
Dependents: 0
Suggesters: 0
Security: 0
Stars: 4
Watchers: 2
Forks: 3
Open Issues: 0
Type:project
Requires
- php: >=5.5
- hassankhan/config: ^0.10.0
- panlatent/container: ~0.1
- stecman/symfony-console-completion: ^0.7.0
- symfony/console: ~3.0
- symfony/filesystem: ~3.0
- symfony/finder: ~3.0
- symfony/process: ^3.3
- symfony/yaml: ~3.0
Requires (Dev)
- phpunit/phpunit: ~4.0
This package is auto-updated.
Last update: 2024-05-19 09:09:30 UTC
README
A command-line tool that help you more easily use Nginx.
What's This
Site CLI is a command-line tool that helps you manage and switch Nginx local development environment configuration files.
This tool makes me lazy in the development, It's more than just cd && ls
, ln -s
, nginx -s
, I enjoy it.
Features
- Auto-Completion - Supports all commands, arguments and options auto-completion.
- Grouping - Uses directories to group site configuration files. Support the operation of any item and ane group.
- List - Use
ls
command quick see site list and information. - Switch - Use
enable/disable
command can quick switching site or group, it support service auto reload. - Service - Help you use the same command control service in different environments.
- Alfred3 Workflow Support - Provide workflow helpe you quick search and switch site.
Installation
Download Phar file:
- Phar Releases
$ mv site-cli.phar /usr/local/bin/site $ chmod +x /usr/local/bin/site
Download the library using composer:
$ composer require panlatent/site-cli
$ ln -s ./bin/site-cli /usr/local/bin/site $ chmod +x /usr/local/bin/site
Configuration
Custom Configuration
The default configuration provided by Site Cli works very well, but you can still customize it.
Run init
command will create a .site-cli.yml file to your home directory.
Edit this file:
site: available: ~/etc/nginx/sites-available enabled: ~/etc/nginx/sites-enabled
Add Completion
Run init --dump-completion
will make a completion script contents and print to the terminal.
Use -o, --output[=OUTPUT]
will write to a file.
Add shell complete in ~/.zshrc
or ~/.bash_profile
: source ~/.site-cli.sh
A example:
$ site init --dump-completion -o ~/.site-cli.bash $ echo "source .site-cli.bash" >> ~/.zshrc
Usage
$ site [command] [argment]
Command List:
- clear - Clear unless symbolic links
- config - Get and set site-cli options
- create - Create a new site
- disable - Disable a site or a group sites
- edit - Edit site configuration using editor
- enable - Enable a site or a group sites
- help - Displays help for a command
- init - Init site-cli settings
- ls - List groups and sites contents
- service - Control site service process
Optional
Add nginx.conf vim syntax:
Download nginx.vim nginx vim
$ mv nginx.vim ~/.vim/syntax/ $ vi ~/.vim/filetype.vim
Add au BufRead,BufNewFile your_nginx_path/* set ft=nginx
License
The Site CLI is open-sourced software licensed under the MIT license.