зеркало из https://github.com/github/guard.git
Страница:
Why Guard?
Страницы
.
Add Readline support to Ruby on Mac OS X
Analysis of inotify events for different editors
Command line options for Guard
Configuration files
Configure keyboard shortcuts
Correctly using the watchdir option
Create a guard
Custom matchers in watches
Custom pry command cookbook
Efficient Filesystem Handling
Enabling Color Coding for Running Through SSH
Guard 2.10.3 exits when Guardfile is changed.
Guard 2.10.3 exits when Guardfile is changed
Guard Plugins
Guard alternatives
Guardfile DSL Configuring Guard
Guardfile examples
Hooks and callbacks
Interacting with Guard
List of Guard Commands
Maintainers
Optimizing for large projects
Programmatic use of guard
Run guard with RubyMine
Shared configurations
System notifications
Terminal colors on windows
Understanding Guard
Upgrade guide for existing guards to Guard v1.1
Upgrading to Guard 2.0
Use Guard programmatically cookbook
What people say about Guard
Which Growl library should I use
Why Guard?
_Header
4
Why Guard?
Rémy Coutable редактировал(а) эту страницу 2015-07-18 16:17:06 +02:00
Here are problems Guard helps avoid (compared to other scripts or tools like inotify-wait):
1. Easier to run, manage and extend/maintain:
- just generate and edit a Guardfile (once) and run
guard
- nice, readable DSL for setting complex rules
- in Ruby
- simple example templates are generated for you
- well documented, lots of simple examples
- fantastic community support (just file an issue and see...)
- built in support for logging and notification (Growl, etc.)
2. more efficient:
- allows efficiently talking with servers (connect once on startup, then make request every change)
- scans large directories only once on startup
- no "sleep" code needed - changes can happen either immediately, or they can be "accumulated" and "compressed" (to avoid running the command too frequently)
3. more robust and "correct":
- properly handled cases when files are changed while the command is running
- no inotifywait/inotifywatch errors to deal with
- watches the files directory, so it supports file adding, renames (which is what editors do - they rarely just "modify" a file in place)
- interactive console to rerun, simulate and debug events
- Guard itself reloads when you change its configuration
- single instance of Guard can handle many directories (instead of running many unmanageable "instances" of inotify_wait scripts running)
- more than 7 million gem downloads and almost no open issues
- handles moving whole files and directories
4. more portable:
- supports multiple platforms (Linux, OSX, BSD, Windows)
- supports multiple backends (inotify, kqueue, polling)
- polling for network drives and VM shared dirs (which don't support inotify)
Intro
Installation
- System Notifications
- Terminal Colors on Windows
- Add Readline support to Ruby on Mac OS X
- Which Growl library should I use
- Efficient Filesystem Handling
Getting Started
- List of Guard Commands
- Command Line Options for Guard
- List of available Guards
- Guardfile examples
- Run Guard within RubyMine
- Guardfile-DSL / Configuring-Guard
- Configuration Files
- Interacting with Guard
- Guard Signals
Troubleshooting
Advanced use of Guard
Cookbooks
Development
This wiki and the Guard README document contains a lot of information, please take your time and read these instructions carefully.
If you run into any trouble, you may start by understanding how Guard works.
We provide detailed changes for each Guard release.
Be sure to read the CONTRIBUTING guidelines before reporting a new Guard issue or open a pull request.
If you have any questions about the Guard usage or want to share some information with the Guard community, please go to one of the following places:
- Google+ community
- Google group
- StackOverflow
- IRC channel
#guard
(irc.freenode.net) for chatting