Skip to content

Instantly share code, notes, and snippets.

@jenmcquade
Last active February 29, 2020 21:07
Show Gist options
  • Select an option

  • Save jenmcquade/ff78368cc738222883a3758032b7cc9f to your computer and use it in GitHub Desktop.

Select an option

Save jenmcquade/ff78368cc738222883a3758032b7cc9f to your computer and use it in GitHub Desktop.

Revisions

  1. Jonathan (Jen) McQuade renamed this gist Feb 29, 2020. 1 changed file with 2 additions and 0 deletions.
    2 changes: 2 additions & 0 deletions things-to-run.md → add-rails-livereload-to-a-project.md
    Original file line number Diff line number Diff line change
    @@ -1,3 +1,5 @@
    * Modify `Gemfile` and `/config/environments/development.rb` according to files in this gist.

    * Run `bundle install` in your project directory to install guard-livereload and rack-livereload

    * Run `bundle exec guard init livereload` to initialize a Guardfile in your project directory with LiveReload settings
  2. Jonathan (Jen) McQuade revised this gist Feb 29, 2020. 1 changed file with 59 additions and 0 deletions.
    59 changes: 59 additions & 0 deletions Guardfile
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,59 @@
    # A sample Guardfile
    # More info at https://github.com/guard/guard#readme

    ## Uncomment and set this to only include directories you want to watch
    # directories %w(app lib config test spec features) \
    # .select{|d| Dir.exist?(d) ? d : UI.warning("Directory #{d} does not exist")}

    ## Note: if you are using the `directories` clause above and you are not
    ## watching the project directory ('.'), then you will want to move
    ## the Guardfile to a watched dir and symlink it back, e.g.
    #
    # $ mkdir config
    # $ mv Guardfile config/
    # $ ln -s config/Guardfile .
    #
    # and, you'll have to watch "config/Guardfile" instead of "Guardfile"

    guard 'livereload' do
    extensions = {
    css: :css,
    scss: :css,
    sass: :css,
    js: :js,
    coffee: :js,
    html: :html,
    png: :png,
    gif: :gif,
    jpg: :jpg,
    jpeg: :jpeg,
    # less: :less, # uncomment if you want LESS stylesheets done in browser
    }

    rails_view_exts = %w(erb haml slim)

    # file types LiveReload may optimize refresh for
    compiled_exts = extensions.values.uniq
    watch(%r{public/.+\.(#{compiled_exts * '|'})})

    extensions.each do |ext, type|
    watch(%r{
    (?:app|vendor)
    (?:/assets/\w+/(?<path>[^.]+) # path+base without extension
    (?<ext>\.#{ext})) # matching extension (must be first encountered)
    (?:\.\w+|$) # other extensions
    }x) do |m|
    path = m[1]
    "/assets/#{path}.#{type}"
    end
    end

    watch(%r{(app|vendor)(/assets/\w+/(.+\.css)).*}) do |m|
    "/assets/application.css"
    end

    # file needing a full reload of the page anyway
    watch(%r{app/views/.+\.(#{rails_view_exts * '|'})$})
    watch(%r{app/helpers/.+\.rb})
    watch(%r{config/locales/.+\.yml})
    end
  3. Jonathan (Jen) McQuade revised this gist Feb 29, 2020. 1 changed file with 4 additions and 4 deletions.
    8 changes: 4 additions & 4 deletions things-to-run.md
    Original file line number Diff line number Diff line change
    @@ -1,7 +1,7 @@
    # Run `bundle install` in your project directory to install guard-livereload and rack-livereload
    * Run `bundle install` in your project directory to install guard-livereload and rack-livereload

    # Run `bundle exec guard init livereload` to initialize a Guardfile in your project directory with LiveReload settings
    * Run `bundle exec guard init livereload` to initialize a Guardfile in your project directory with LiveReload settings

    # Run your Rails server from your project directory: `rails s`
    * Run your Rails server from your project directory: `rails s`

    # Run guard from your project directory to begin watching files: `bundle exec guard`
    * Run guard from your project directory to begin watching files: `bundle exec guard`
  4. Jonathan (Jen) McQuade created this gist Feb 29, 2020.
    5 changes: 5 additions & 0 deletions Gemfile
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,5 @@
    group :development do
    # your dev gems on top
    gem 'guard-livereload', '~> 2.5', require: false
    gem 'rack-livereload'
    end
    3 changes: 3 additions & 0 deletions development.rb
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,3 @@
    # FILE /config/environments/development.rb
    # Add Rack::LiveReload to the bottom of the middleware stack with the default options:
    config.middleware.insert_after ActionDispatch::Static, Rack::LiveReload
    7 changes: 7 additions & 0 deletions things-to-run.md
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,7 @@
    # Run `bundle install` in your project directory to install guard-livereload and rack-livereload

    # Run `bundle exec guard init livereload` to initialize a Guardfile in your project directory with LiveReload settings

    # Run your Rails server from your project directory: `rails s`

    # Run guard from your project directory to begin watching files: `bundle exec guard`