jekyll-pwa-plugin 0.0.1 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/jekyll-pwa-plugin.rb +11 -7
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 520b2e6d76ce5a537345965f8996685f497085c3
4
- data.tar.gz: 71f9e22b671fb94b078b0f363526861ab263cc40
3
+ metadata.gz: f0d3c05d4c62d599a2ea4c111390e9516bd54000
4
+ data.tar.gz: 3d6d1e267c7d7d22b887ffdddc894bd804bdeb15
5
5
  SHA512:
6
- metadata.gz: d49459076fa2076aa7b17b5c70c2f832ff21be701464ebe141ec04ce5695e2b0e773938b564d69dc99c50668303db9f3db40350c3b1427c9dcb99985a039075f
7
- data.tar.gz: 95ecf9cb167664abfbe249e22b87a324e5812e5a6fbf4b3f8b64f2191ac037492dcb344e09e9689aeece3c607312208ccc147e6669f6b81928a5576b940e8ca8
6
+ metadata.gz: 144fb7db1ea13a99c0bbc7c0321de7a08b092535a2a511132fe9620937eb94a8d0dfdd008381e1bab7a0c96dbf6f83d80c0a3d330545590c141c9ea645381a8c
7
+ data.tar.gz: 3d78e0677815a97e7c2bb14c4f81391399a1a6b7b6f569f9bedf3da5d442da1ca3552672eb26f931e733ed59990362cae0589e4d4d1fde4452cd1cb6448dbdc4
@@ -2,12 +2,12 @@ class SWHelper
2
2
  def initialize(site, config)
3
3
  @site = site
4
4
  @config = config
5
- @sw_filename = @config['sw_filename'] || 'service-worker'
5
+ @sw_filename = @config['sw_filename'] || 'service-worker.js'
6
6
  end
7
7
 
8
8
  def write_sw_register()
9
9
  sw_register_filename = 'sw-register.js'
10
- sw_register_file = File.new(File.join(@site.dest, sw_register_filename), 'w')
10
+ sw_register_file = File.new(@site.in_dest_dir(sw_register_filename), 'w')
11
11
  # add build version in url params
12
12
  sw_register_file.puts(
13
13
  <<-SCRIPT
@@ -20,7 +20,7 @@ class SWHelper
20
20
 
21
21
  def generate_workbox_precache()
22
22
  directory = @config['precache_glob_directory'] || '/'
23
- directory = File.join(@site.dest, directory)
23
+ directory = @site.in_dest_dir(directory)
24
24
  patterns = @config['precache_glob_patterns'] || ['**/*.{html,js,css,eot,svg,ttf,woff}']
25
25
  ignores = @config['precache_glob_ignores'] || []
26
26
  recent_posts_num = @config['precache_recent_posts_num']
@@ -78,12 +78,15 @@ class SWHelper
78
78
  cache_name = @config['cache_name'] || 'workbox'
79
79
  precache_channel_name = @config['precache_channel_name'] || 'sw-precache'
80
80
  runtime_cache = @config['runtime_cache'] || []
81
+ dest_js_directory = @config['dest_js_directory'] || 'js'
81
82
 
82
83
  # copy polyfill & workbox.js to js/
83
84
  copied_vendor_files = []
85
+ script_directory = @site.in_dest_dir(dest_js_directory)
86
+ FileUtils.mkdir_p(script_directory) unless Dir.exist?(script_directory)
84
87
  Dir.glob(File.expand_path('../vendor/**/*', __FILE__)) do |filepath_to_copy|
85
88
  basename = File.basename(filepath_to_copy)
86
- FileUtils.copy_file(filepath_to_copy, File.join(@site.dest, 'js', basename))
89
+ FileUtils.copy_file(filepath_to_copy, File.join(script_directory, basename))
87
90
  copied_vendor_files.push(basename)
88
91
  end
89
92
 
@@ -103,13 +106,14 @@ class SWHelper
103
106
  .join("\n")
104
107
 
105
108
  # write service-worker.js
106
- import_scripts_str = copied_vendor_files.map do |vendor_file|
109
+ import_scripts_str = copied_vendor_files.map do |vendor_filename|
110
+ vendor_url = File.join(@site.baseurl, dest_js_directory, vendor_filename)
107
111
  <<-SCRIPT
108
- importScripts('#{@site.baseurl}/js/#{vendor_file}');
112
+ importScripts('#{vendor_url}');
109
113
  SCRIPT
110
114
  end
111
115
  .join("\n")
112
- sw_file = File.new(File.join(@site.dest, @sw_filename), 'w')
116
+ sw_file = File.new(@site.in_dest_dir(@sw_filename), 'w')
113
117
  sw_file.puts(
114
118
  <<-SCRIPT
115
119
  #{import_scripts_str}
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll-pwa-plugin
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pan Yuqi
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-11-08 00:00:00.000000000 Z
11
+ date: 2017-11-09 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: This plugin provides PWA support for Jekyll. Generate a service worker
14
14
  and provides precache with Google Workbox.