pave 0.7.1 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 81814d5582df9a62a329f7b9fd9410faf00156a6
4
- data.tar.gz: bc871053a185f4b885d772571473ffee28eaedb3
3
+ metadata.gz: 982c8127326f896d97483645e3c195e354216bff
4
+ data.tar.gz: 88fe18805a10b570cb610b140f5da01e5bf3f463
5
5
  SHA512:
6
- metadata.gz: ee53f858a918def4f0154fe64eb26199fb72018ad5efbb06504788438b174c7da542bde9767c447b1d1d41fb358f8a0d3dbf995c4e7ed63f9152aee8fc589515
7
- data.tar.gz: ad339f43326fced34ab9e0ed9a6cf33dd9b62fd9355963d2f2d74412e3a17d4c7787f38e54f5b574da69cb1ac7de61b619ca50a735bb89ffb36c5940f4bcd194
6
+ metadata.gz: b2a5e62598e82635699007121141a77e674dbe50056c9331896733616750c91605ec195f75d8db7bfe5ed9452a85c288090af8c4c790126013b46625e39fd839
7
+ data.tar.gz: 454720859d23c96b172f122f993179a210b85d3ce59007d16f0da4728187dbd4c453f0f2c9662f5050b928b61d533e8d4b388366c9bb7cb21f5beca48c6df45d
data/bin/pave CHANGED
@@ -258,3 +258,11 @@ command :"deploy:setup" do |c|
258
258
  Pave::Remote.setup
259
259
  end
260
260
  end
261
+
262
+ command :"livereload" do |c|
263
+ c.syntax = "pave livereload"
264
+ c.description = "Watch project for changes and refresh page."
265
+ c.action do |args|
266
+ Pave::Reload.live_reload
267
+ end
268
+ end
@@ -0,0 +1,60 @@
1
+ module Pave
2
+ class Reload
3
+ def self.live_reload
4
+ # docs: http://brettterpstra.com/2011/03/07/watch-for-file-changes-and-refresh-your-browser-automatically/
5
+ trap("SIGINT") { exit }
6
+
7
+ puts "Watching #{watch_folder} and subfolders for changes in project files..."
8
+
9
+ while true do
10
+ files = []
11
+ filetypes.each {|type|
12
+ files += Dir.glob( File.join( watch_folder, "**", "*.#{type}" ) )
13
+ }
14
+ new_hash = files.collect {|f| [ f, File.stat(f).mtime.to_i ] }
15
+ hash ||= new_hash
16
+ diff_hash = new_hash - hash
17
+
18
+ unless diff_hash.empty?
19
+ hash = new_hash
20
+
21
+ diff_hash.each do |df|
22
+ puts "Detected change in #{df[0]}, refreshing"
23
+ %x{osascript<<ENDGAME
24
+ tell application "Google Chrome"
25
+ set windowList to every window
26
+ repeat with aWindow in windowList
27
+ set tabList to every tab of aWindow
28
+ repeat with atab in tabList
29
+ if (URL of atab contains "#{keyword}") then
30
+ tell atab to reload
31
+ end if
32
+ end repeat
33
+ end repeat
34
+ end tell
35
+ }
36
+ end
37
+ end
38
+
39
+ sleep 1
40
+ end
41
+
42
+ end
43
+
44
+ def self.dev_extension
45
+ "site"
46
+ end
47
+
48
+ def self.filetypes
49
+ ['css','html','htm','php','rb','erb','less','js']
50
+ end
51
+
52
+ def self.watch_folder
53
+ Dir.pwd
54
+ end
55
+
56
+ def self.keyword
57
+ File.basename(Dir.pwd)
58
+ end
59
+ end
60
+ end
data/lib/pave/theme.rb CHANGED
@@ -1,5 +1,3 @@
1
- require "pave/shell"
2
-
3
1
  module Pave
4
2
  class Theme
5
3
  include Pave::Shell
@@ -11,6 +9,7 @@ module Pave
11
9
  end
12
10
 
13
11
  def self.watch
12
+ system("pave livereload &")
14
13
  system("sass --watch ./themes/ --style compressed")
15
14
  end
16
15
 
data/lib/pave/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Pave
2
- VERSION = "0.7.1"
2
+ VERSION = "0.8.0"
3
3
  end
data/lib/pave.rb CHANGED
@@ -7,6 +7,7 @@ require "pave/files"
7
7
  require "pave/virtual_host"
8
8
  require "pave/remote"
9
9
  require "pave/theme"
10
+ require "pave/reload"
10
11
 
11
12
  module Pave
12
13
  def update
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pave
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.1
4
+ version: 0.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jamon Holmgren
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-12-30 00:00:00.000000000 Z
12
+ date: 2014-01-03 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
@@ -102,6 +102,7 @@ files:
102
102
  - lib/pave/concrete.rb
103
103
  - lib/pave/database.rb
104
104
  - lib/pave/files.rb
105
+ - lib/pave/reload.rb
105
106
  - lib/pave/remote.rb
106
107
  - lib/pave/shell.rb
107
108
  - lib/pave/theme.rb