middleman-appcache 1.0.1 → 1.1.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: ff3c0e8e1908b28b41d986c053ea2e85edf98eb4
4
- data.tar.gz: 052074f5070aea717c0f26a3534a298693222f23
3
+ metadata.gz: 10aecb04431c1fad6a0baeca55b2fbebbe6a7fad
4
+ data.tar.gz: d4bad95040ee5c0354b3140f0def8d4485953b53
5
5
  SHA512:
6
- metadata.gz: 1d28408b8b6acaf4bf4e10e21c6e60a2c3f596be221a801ab34a64042fb017c6b987b03c6d89c4a4370ce86ed873acc4e5a888b2b2a92b7b4b7601bb8122d3e5
7
- data.tar.gz: 282a26b428c25f39925cb9e94b1f1073cae59079437dab8a0d0a433062c2121c6299ed01bb6fd9321ac54b2b1700496659dbd7e527f3e7f7456b8d913a5e7395
6
+ metadata.gz: fbf0c5fcce7a50a03180ede1a70877665aec9141097920ae09d5630e77cbd5238c37aa7244e9892adb063cd52aee974c38de06da00c418b0d06de9a763040c67
7
+ data.tar.gz: 19366f57ef7649ba825d1de359f1aad995f2badeb8755e7a58845b5500beac9d6c302d80b35d733ba0d135a0adb50c1cf788c4d8ab7c8764260fbc6fc6ff7023
data/README.md CHANGED
@@ -50,6 +50,7 @@ activate :app_cache do |config|
50
50
  '/' => 'offline.html'
51
51
  }
52
52
  config.use_relative = false
53
+ config.version_hash = true
53
54
  end
54
55
  ```
55
56
 
@@ -58,6 +59,8 @@ The above configuration will generate the following appcache:
58
59
  ```manifest.appcache
59
60
  CACHE MANIFEST
60
61
 
62
+ # version 1aadc03fe3f695a96d64f1a190b6253e
63
+
61
64
  CACHE:
62
65
  /index.html
63
66
  /offline.html
@@ -80,7 +83,7 @@ FALLBACK:
80
83
 
81
84
  ### cachemanifest
82
85
 
83
- The filename for the generate cache manifest.
86
+ The filename for the generate cache manifest.
84
87
 
85
88
  **Default:** `'manifest.appcache'`
86
89
 
@@ -88,13 +91,7 @@ The filename for the generate cache manifest.
88
91
 
89
92
  The list of files, directories, or glob patterns which should be cached.
90
93
 
91
- **Default:** `['index.html']`
92
-
93
- ### cache
94
-
95
- The list of files, directories, or glob patterns which should be cached.
96
-
97
- **Default:** `['index.html']`
94
+ **Default:** `['index.html']`
98
95
 
99
96
  ### network
100
97
 
@@ -114,6 +111,12 @@ If the resources should be treated as relative from the appcache.
114
111
 
115
112
  **Default:** `true`
116
113
 
114
+ ### version_hash
115
+
116
+ If a version hash should be generated from the contents of the referenced files.
117
+
118
+ **Default:** `true`
119
+
117
120
  ## License
118
121
 
119
122
  Middleman Application Cache was created by [Ryan Scott](http://github.com/archytaus) is distributed under the [MIT](http://ryanscott.mit-license.org) license.
@@ -9,6 +9,7 @@ module Middleman
9
9
  option :network, ['*'], 'Resources that require the user to be online.'
10
10
  option :fallback, {}, 'Fallback resources if a resource is unavailable.'
11
11
  option :use_relative, true, 'If the cached files should be generated as relative paths.'
12
+ option :version_hash, true, 'If the contents of the files should be hashed and added as a comment.'
12
13
 
13
14
  def initialize app, options_hash = {}, &block
14
15
  super
@@ -18,6 +19,12 @@ module Middleman
18
19
  network_options = options.network
19
20
  fallback_options = options.fallback
20
21
  use_relative = options.use_relative
22
+ version_hash = options.version_hash
23
+
24
+ if version_hash
25
+ require 'digest'
26
+ hash = Digest::MD5.new
27
+ end
21
28
 
22
29
  app.after_build do |builder|
23
30
  cache = []
@@ -29,6 +36,9 @@ module Middleman
29
36
  build_dir = config[:build_dir]
30
37
  build_dir = "#{build_dir}/" if use_relative
31
38
  cache << file_to_cache.gsub(build_dir, '')
39
+ if version_hash
40
+ hash.file file_to_cache if File.file? file_to_cache
41
+ end
32
42
  end
33
43
  end
34
44
 
@@ -36,6 +46,10 @@ module Middleman
36
46
  File.open(manifest_file, "w") do |f|
37
47
  f.write "CACHE MANIFEST\n\n"
38
48
 
49
+ if version_hash
50
+ f.write "\# version #{hash.hexdigest}\n\n"
51
+ end
52
+
39
53
  f.write "CACHE:\n"
40
54
  cache.each do |cache_file|
41
55
  f.write "#{cache_file}\n"
@@ -1,7 +1,7 @@
1
1
  module Middleman
2
2
 
3
3
  module AppCache
4
- VERSION = '1.0.1'
4
+ VERSION = '1.1.0'
5
5
  end
6
6
 
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: middleman-appcache
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryan Scott
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-11-08 00:00:00.000000000 Z
11
+ date: 2016-02-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: middleman-core