Skip to content

Keep multiple browsers & devices in sync when building websites.

License

Notifications You must be signed in to change notification settings

huglester/browser-sync

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

browser-sync Build Status NPM version Built with Grunt

Keep multiple browsers & devices in sync when building websites.

Follow @browserSync for news & updates.

##Features

  1. Scroll - I can keep your pages in sync when scrolling.
  2. Forms - You fill out a form in one browser, I'll copy the data to all the others.
  3. Links - I'll watch your clicks & and make all the other browsers follow you.
  4. CSS injecting - I can even watch your CSS files & inject them when they change.
  5. Live Reload - I can also watch files like HTML and PHP & when they change I can reload all browsers for you.
  6. Built-in Server - Yep, I can serve static files too if you need me to (uses Connect).
  7. Use with any back-end setup - Browser-sync includes a proxy option so that it can be used with any existing PHP, Rails, Python, Node or ASP.net setup.

##When is it useful? It's pretty useful when used with a single browser, watching a CSS file for changes & injecting it. But the real power comes when you're building responsive sites and using multiple devices/monitors because it can keep all browsers in sync & make your workflow much faster.

##Install

npm install -g browser-sync

##How to use it There are currently 2 ways to use browser-sync - with a config file & without a config file. Both options are explained on the following pages.

  1. With a config file
  2. Command line only (no config file)

Using Grunt?

There's a separate plugin for that

Using Gulp?

No problem, here's a setup guide

##Screencasts ( < 3 min each )

  1. Using the Static Server with css injecting
  2. Keeping browsers at the same scroll position
  3. Keeping form fields in sync
  4. When should you use the built-in server?

+ Laravel (php)

  1. Browser Sync + Laravel 4 (php server & proxy)
  2. Browser Sync + Laravel 4 (Mamp Pro & proxy)
  3. Browser Sync + Laravel 4 (Config file & Proxy)
  4. Browser Sync + Laravel 4 (Config file & no proxy)

+ Vagrant

  1. Browser Sync + Vagrant

Want any more? Something specific? ask me nicely @shaneOsbourne

##Support If you've found Browser-sync useful and would like to contribute to its continued development & support, please feel free to send a donation of any size - it would be greatly appreciated!

Support via Gittip Support via PayPal

#Contributing Fork this repo, clone it and then run

npm install

###Testing Tests are split into two categories: Client & Server

Client-side tests Client-side tests are located in test/client-script/*

// Run the client-side tests & exit

grunt test:client

// Run the client-side tests & re-run on every file-change.

grunt karma:watch

Server-side tests Server-side tests are located in test/new-server

// Run the server-side tests & exit

grunt test:server

// Run the server-side tests & re-run on every file-change.

grunt watch

// Run the server-side tests & client-side tests once & exit.

grunt test

This is a brand new project so expect bugs & be sure to report them.

License

Copyright (c) 2013 Shane Osbourne Licensed under the MIT license.

About

Keep multiple browsers & devices in sync when building websites.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published