jekyll-svelte-slabs 0.0.7 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 765c13d4cf9d6ad554948b9f3be6a2deacfb27fd4bef3b33722911257e9924ed
4
- data.tar.gz: 8e2f0b65b46c9e3e59f7f4fe99926529db5d6f225ed959517e9611d3f0c0eb3a
3
+ metadata.gz: f5ef8f206f07767eb491da6790c5057a582b37759b9fe912e2795c4f40631f9d
4
+ data.tar.gz: 9dc20d59547f2448458c007f51633697c90670b998e55e695c62b333de9ca82d
5
5
  SHA512:
6
- metadata.gz: 372396a0d2273fb49934a21a792c19bba18a68e74b0611010bdcba2aebcd39bd779168de7515354a2d2790b79d548f893352edd5c409f241f3033ef10148f0de
7
- data.tar.gz: 84e4ef8cfcad368d80728c3bcac65afa719147257ce130ea18afd21de9b9156e428629b8b239aae1fc56ee956314f6396bc5a5371679479fbc1c64a411991a97
6
+ metadata.gz: cbbfa59cdbfc35cb82b493e54193604d22a7838ee2e1cd42fb64711087665f4315db2a99f5b1461f15aedd68d0c33f165faef9811b6c92105f22212da7628737
7
+ data.tar.gz: c8ad8265c6542955857be5b145757cdc0351e72c30257a3cdc310784c551b7e42b89e1b1ca785ae8494e071dda3d176a248e5dcc4ea5040323b99ada093fc9e2
@@ -1,3 +1,3 @@
1
1
  module JekyllSvelteSlabs
2
- VERSION = "0.0.7"
2
+ VERSION = "0.1.0"
3
3
  end
@@ -1,6 +1,7 @@
1
1
  require "base64"
2
2
  require 'json'
3
3
  require 'digest'
4
+ require_relative "./output-data"
4
5
 
5
6
  module JekyllSvelteSlabs
6
7
 
@@ -130,27 +131,42 @@ module JekyllSvelteSlabs
130
131
 
131
132
  def render(context)
132
133
  text = super
133
- # puts Base64.encode64(context[@data].to_json)
134
+ site = context['site']
134
135
 
135
- # site = context.registers[:site]
136
- # puts site
136
+ slab_config = site['svelte_slabs'] || {}
137
+ method = slab_config['method'] || "window"
137
138
 
138
139
  file = render_variable(context) || @file
139
140
  validate_file_name(file)
140
141
 
141
142
  svelte_data = @params ? parse_params(context).to_json : "{}"
142
- encoded_svelte_data = Base64.strict_encode64(svelte_data)
143
- endpoint = Digest::MD5.hexdigest(encoded_svelte_data)
144
-
145
- <<~MSG
146
- <script>
147
- window.svelteSlabs = window.svelteSlabs || {};
148
- window.svelteSlabs["#{endpoint}"] = "#{encoded_svelte_data}";
149
- </script>
150
- <div data-svelte-slab="#{file}" data-svelte-slab-props="window_b:#{endpoint}">
151
- #{text}
152
- </div>
153
- MSG
143
+
144
+ svelte_data = case method
145
+ when 'window_b' then "\"#{Base64.strict_encode64(svelte_data)}\""
146
+ when 'window_e' then "`#{svelte_data.gsub("<", "&rawlt;").gsub("`", "\`")}`"
147
+ else svelte_data
148
+ end
149
+
150
+ endpoint = Digest::MD5.hexdigest(svelte_data)
151
+
152
+ if method == 'endpoint'
153
+ JekyllSvelteSlabs::SiteData.output(context.registers[:site], svelte_data, endpoint);
154
+ <<~MSG
155
+ <div data-svelte-slab="#{file}" data-svelte-slab-props="#{method}:#{endpoint}">
156
+ #{text}
157
+ </div>
158
+ MSG
159
+ else
160
+ <<~MSG
161
+ <script>
162
+ window.svelteSlabs = window.svelteSlabs || {};
163
+ window.svelteSlabs["#{endpoint}"] = #{svelte_data};
164
+ </script>
165
+ <div data-svelte-slab="#{file}" data-svelte-slab-props="#{method}:#{endpoint}">
166
+ #{text}
167
+ </div>
168
+ MSG
169
+ end
154
170
  end
155
171
 
156
172
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll-svelte-slabs
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.7
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Liam Bigelow
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-06-08 00:00:00.000000000 Z
11
+ date: 2021-09-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jekyll