jekyll-workbox-plugin 0.0.1 → 0.0.2

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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/jekyll-workbox-plugin.rb +32 -6
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 073d7c6b7b494b9a1e4958b22108e998bfcfb40a
4
- data.tar.gz: 1bc21f65b26ca7a33ae2d3fa7f035f5238711490
3
+ metadata.gz: ff93700daea5a10de6770f6985dcc454a4149d11
4
+ data.tar.gz: b22530b99d82dc4f437d0c061ed18d98b46d94ae
5
5
  SHA512:
6
- metadata.gz: d5da36555245318273478130a6744b4103a15bc0bcf4418b75780448bebdaee71533c05f1dafce714e990ff6eb0c2a9ab6a71976d5b171347259aba2fe18e50d
7
- data.tar.gz: 1a26d9c655caeeaea9dbd90cda12c155a76ad6877ccc042582558a72c2bcdfe276c6259c7a95e7de4859bd3f392f90616eb64cb09d0c25d989b562e1cc0c9cf9
6
+ metadata.gz: 5b2063f638aac7c439e92586ca0d387cc603dfbf02e5ed4a9330161a65cdd0c0f5bad57bfae12f8bcc10b05ad94b0a94018e2b26f7b945cc871fa16f1afa471a
7
+ data.tar.gz: 9137fefd76fe53a29272bdc3c3e675b1d73179efb695d3d8c11443d47d4e6406fd9a4dedd87e2d9c67470521128f091e1a0a494d9e4817bfe75ac2a5b6aedee5
@@ -21,8 +21,31 @@ class WorkboxHelper
21
21
  # find precache files with glob
22
22
  precache_files = []
23
23
  patterns.each do |pattern|
24
- Dir.glob(File.join(directory, pattern)) do |filepath|
25
- precache_files.push(filepath)
24
+ name_to_aliases = {}
25
+
26
+ # this means there's no alias defined - just use file as only alias
27
+ if pattern.is_a?(String)
28
+ name_to_aliases = { pattern => pattern }
29
+ elsif pattern.is_a?(Hash)
30
+ name_to_aliases = pattern
31
+ end
32
+
33
+ # at this point, name_to_aliases is file -> alias or
34
+ # file -> [alias1, alias2], etc. there will never be more
35
+ # than one key per yaml conventions
36
+ filename, aliases = name_to_aliases.first
37
+
38
+ # glob the filename, and push all aliases as just values
39
+ Dir.glob(File.join(directory, filename)) do |filepath|
40
+ if aliases.is_a?(String)
41
+ file_alias = File.join(directory, aliases)
42
+ precache_files.push({ filepath => file_alias })
43
+ elsif aliases.is_a?(Array)
44
+ aliases.each do |filepath_alias|
45
+ file_alias = File.join(directory, filepath_alias)
46
+ precache_files.push({ filepath => file_alias })
47
+ end
48
+ end
26
49
  end
27
50
  end
28
51
  precache_files = precache_files.uniq
@@ -35,7 +58,7 @@ class WorkboxHelper
35
58
  .reverse.take(recent_posts_num)
36
59
  .map do |post|
37
60
  posts_path_url_map[post.path] = post.url
38
- post.path
61
+ { post.path => post.path }
39
62
  end
40
63
  )
41
64
  end
@@ -43,19 +66,22 @@ class WorkboxHelper
43
66
  # filter with ignores
44
67
  ignores.each do |pattern|
45
68
  Dir.glob(File.join(directory, pattern)) do |ignored_filepath|
46
- precache_files.delete(ignored_filepath)
69
+ precache_files = precache_files.select { |file_map|
70
+ file_map.first.first != ignored_filepath
71
+ }.map{ |file_map| file_map }
47
72
  end
48
73
  end
49
74
 
50
75
  # generate md5 for each precache file
51
76
  md5 = Digest::MD5.new
52
- precache_files.each do |filepath|
77
+ precache_files.each do |filepath_map|
78
+ filepath, filepath_alias = filepath_map.first
53
79
  md5.reset
54
80
  md5 << File.read(filepath)
55
81
  if posts_path_url_map[filepath]
56
82
  url = posts_path_url_map[filepath]
57
83
  else
58
- url = filepath.sub(@site.dest, '')
84
+ url = filepath_alias.sub(@site.dest, '')
59
85
  end
60
86
  @precache_list.push({
61
87
  url: @site.baseurl.to_s + url,
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll-workbox-plugin
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Benedikt Meurer
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-12-06 00:00:00.000000000 Z
11
+ date: 2019-02-01 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: This plugin provides workbox support for Jekyll. Generate a service worker
14
14
  and provides precache with Google Workbox.