trmnl_preview 0.7.2 → 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.
Files changed (82) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +192 -0
  3. data/LICENSE.txt +21 -0
  4. data/README.md +319 -0
  5. data/bin/rake +27 -0
  6. data/bin/trmnlp +13 -14
  7. data/db/data/form_fields.yml +24 -0
  8. data/db/data/framework_versions.yml +72 -0
  9. data/lib/trmnlp/api_client.rb +99 -0
  10. data/lib/trmnlp/app.rb +132 -0
  11. data/lib/trmnlp/browser_pool.rb +82 -0
  12. data/lib/trmnlp/cli.rb +81 -0
  13. data/lib/trmnlp/commands/base.rb +63 -0
  14. data/lib/trmnlp/commands/build.rb +26 -0
  15. data/lib/trmnlp/commands/clone.rb +35 -0
  16. data/lib/trmnlp/commands/init.rb +59 -0
  17. data/lib/trmnlp/commands/lint.rb +42 -0
  18. data/lib/trmnlp/commands/list.rb +40 -0
  19. data/lib/trmnlp/commands/login.rb +42 -0
  20. data/lib/trmnlp/commands/pull.rb +51 -0
  21. data/lib/trmnlp/commands/push.rb +77 -0
  22. data/lib/trmnlp/commands/serve.rb +54 -0
  23. data/lib/trmnlp/commands.rb +3 -0
  24. data/lib/trmnlp/config/app.rb +50 -0
  25. data/lib/trmnlp/config/plugin.rb +117 -0
  26. data/lib/trmnlp/config/project.rb +106 -0
  27. data/lib/trmnlp/config.rb +17 -0
  28. data/lib/trmnlp/context.rb +35 -0
  29. data/lib/trmnlp/errors.rb +15 -0
  30. data/lib/trmnlp/form_field.rb +42 -0
  31. data/lib/trmnlp/framework_version.rb +69 -0
  32. data/lib/trmnlp/image_quantizer.rb +58 -0
  33. data/lib/trmnlp/lint/check.rb +31 -0
  34. data/lib/trmnlp/lint/checks/custom_fields_used.rb +32 -0
  35. data/lib/trmnlp/lint/checks/form_fields_valid.rb +20 -0
  36. data/lib/trmnlp/lint/checks/highcharts_animations_disabled.rb +23 -0
  37. data/lib/trmnlp/lint/checks/highcharts_elements_unique.rb +24 -0
  38. data/lib/trmnlp/lint/checks/image_links_reachable.rb +53 -0
  39. data/lib/trmnlp/lint/checks/layouts_have_content.rb +24 -0
  40. data/lib/trmnlp/lint/checks/limited_inline_styles.rb +26 -0
  41. data/lib/trmnlp/lint/checks/no_async_functions.rb +18 -0
  42. data/lib/trmnlp/lint/checks/no_opacity.rb +19 -0
  43. data/lib/trmnlp/lint/checks/no_size_classes.rb +19 -0
  44. data/lib/trmnlp/lint/checks/title_casing.rb +20 -0
  45. data/lib/trmnlp/lint/checks/title_length.rb +18 -0
  46. data/lib/trmnlp/lint/checks/waits_for_dom_load.rb +23 -0
  47. data/lib/trmnlp/lint/source.rb +42 -0
  48. data/lib/trmnlp/lint.rb +39 -0
  49. data/lib/trmnlp/paths.rb +78 -0
  50. data/lib/trmnlp/poller.rb +105 -0
  51. data/lib/trmnlp/renderer.rb +87 -0
  52. data/lib/trmnlp/reporter.rb +28 -0
  53. data/lib/trmnlp/screen.rb +16 -0
  54. data/lib/trmnlp/screen_generator.rb +34 -0
  55. data/lib/trmnlp/screenshot.rb +96 -0
  56. data/lib/trmnlp/transform_backend/http.rb +107 -0
  57. data/lib/trmnlp/transform_backend/subprocess.rb +130 -0
  58. data/lib/trmnlp/transform_backend/wrapper.rb +113 -0
  59. data/lib/trmnlp/transform_client.rb +47 -0
  60. data/lib/trmnlp/transform_pipeline.rb +65 -0
  61. data/lib/trmnlp/user_data_assembler.rb +96 -0
  62. data/lib/trmnlp/version.rb +5 -0
  63. data/lib/trmnlp/watcher.rb +60 -0
  64. data/lib/trmnlp.rb +10 -0
  65. data/templates/init/.trmnlp.yml +14 -0
  66. data/templates/init/bin/trmnlp +44 -0
  67. data/templates/init/src/full.liquid +1 -0
  68. data/templates/init/src/half_horizontal.liquid +1 -0
  69. data/templates/init/src/half_vertical.liquid +1 -0
  70. data/templates/init/src/quadrant.liquid +1 -0
  71. data/templates/init/src/settings.yml +16 -0
  72. data/templates/init/src/shared.liquid +1 -0
  73. data/templates/init/src/transform.py.example +14 -0
  74. data/trmnl_preview.gemspec +68 -0
  75. data/web/public/highlight/highlight.min.js +315 -0
  76. data/web/public/highlight/styles/atom-one-dark.min.css +1 -0
  77. data/web/public/index.css +119 -0
  78. data/web/public/index.js +96 -0
  79. data/web/public/trmnl-picker.js +656 -0
  80. data/web/views/index.erb +73 -0
  81. data/web/views/render_html.erb +25 -0
  82. metadata +324 -15
@@ -0,0 +1,73 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <meta name="trmnl-view" content="<%= @view %>">
7
+ <meta name="live-reload" content="<%= @live_reload %>">
8
+
9
+ <title>TRMNL Preview</title>
10
+
11
+ <link rel="stylesheet" href="/index.css">
12
+ <script src="/trmnl-picker.js"></script>
13
+ <script src="/index.js"></script>
14
+
15
+ <!-- Highlight.js for syntax highlighting -->
16
+ <link rel="stylesheet" href="/highlight/styles/atom-one-dark.min.css">
17
+ <script src="/highlight/highlight.min.js"></script>
18
+ <script>hljs.highlightAll();</script>
19
+ </head>
20
+ <body>
21
+ <main>
22
+ <div class="tabs">
23
+ <a class="tab <%= 'active' if @view == 'full' %>" href="/full">Full</a>
24
+ <a class="tab <%= 'active' if @view == 'half_horizontal' %>" href="/half_horizontal">Half Horizontal</a>
25
+ <a class="tab <%= 'active' if @view == 'half_vertical' %>" href="/half_vertical">Half Vertical</a>
26
+ <a class="tab <%= 'active' if @view == 'quadrant' %>" href="/quadrant">Quadrant</a>
27
+ <div style="flex-grow: 1;"></div>
28
+ <div class="spinner" style="display: none;"></div>
29
+ </div>
30
+
31
+ <menu>
32
+ <form id="picker-form">
33
+ <!-- Required: Model selector -->
34
+ <select data-model-select></select>
35
+
36
+ <!-- Required: Palette selector -->
37
+ <select data-palette-select></select>
38
+
39
+ <!-- Optional: Orientation toggle -->
40
+ <button class="btn" type="button" data-orientation-toggle>
41
+ <span data-orientation-text>Landscape</span>
42
+ </button>
43
+
44
+ <!-- Optional: Dark mode toggle -->
45
+ <button class="btn" type="button" data-dark-mode-toggle>
46
+ <span data-dark-mode-text>Light Mode</span>
47
+ </button>
48
+
49
+ <!-- Optional: Reset button -->
50
+ <button class="btn" type="button" data-reset-button>Reset</button>
51
+ </form>
52
+
53
+ <div style="display: flex; gap: 0.3em; align-items: center;">
54
+ <select class="select-format">
55
+ <option value="png">PNG</option>
56
+ <option value="html" selected>HTML</option>
57
+ </select>
58
+
59
+ <a href="/poll" class="btn">Poll</a>
60
+ </div>
61
+ </menu>
62
+
63
+ <% if @transform_error %>
64
+ <div class="transform-error" style="padding: 0.5em 0.75em; margin: 0.5em 0; background: #fee; border: 1px solid #c33; border-radius: 4px; color: #900; font-family: monospace; white-space: pre-wrap;">Transform error: <%= h @transform_error %></div>
65
+ <% end %>
66
+
67
+ <iframe style="width: 800px; height: 480px; border: 1px solid black; background: white;">Rendering…</iframe>
68
+
69
+ <div class="payload-size">Payload: <%= format_bytes(@payload_size) %></div>
70
+ <pre id="user-data"><code><%= h @user_data %></code></pre>
71
+ </main>
72
+ </body>
73
+ </html>
@@ -0,0 +1,25 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <link rel="stylesheet" href="<%= @framework.css_url %>" />
5
+ <script src="<%= @framework.js_url %>"></script>
6
+ <meta name="trmnl-framework-version" content="<%= @framework.number %>" />
7
+ <meta name="trmnl-framework-pinned" content="<%= @framework.pinned? %>" />
8
+
9
+ <!-- Begin Inter font -->
10
+ <link rel="preconnect" href="https://fonts.googleapis.com">
11
+ <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
12
+ <link href="https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap" rel="stylesheet">
13
+ <!-- End Inter font -->
14
+ </head>
15
+
16
+ <body class="environment trmnl">
17
+ <div class="<%= @screen_classes %>">
18
+ <% if @mashup_classes %><div class="<%= @mashup_classes %>"><% end %>
19
+ <div class="view view--<%= @view %>">
20
+ <%= yield %>
21
+ </div>
22
+ <% if @mashup_classes %></div><% end %>
23
+ </div>
24
+ </body>
25
+ </html>
metadata CHANGED
@@ -1,17 +1,253 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: trmnl_preview
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.2
4
+ version: 0.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rockwell Schrock
8
8
  bindir: bin
9
9
  cert_chain: []
10
10
  date: 1980-01-02 00:00:00.000000000 Z
11
- dependencies: []
12
- description: This version is not trmnlp. It is a notice published for Ruby installs
13
- too old to run trmnlp, which would otherwise silently receive an outdated release.
14
- Upgrade to Ruby 4.0 or newer and reinstall.
11
+ dependencies:
12
+ - !ruby/object:Gem::Dependency
13
+ name: puma
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - "~>"
17
+ - !ruby/object:Gem::Version
18
+ version: '8.0'
19
+ type: :runtime
20
+ prerelease: false
21
+ version_requirements: !ruby/object:Gem::Requirement
22
+ requirements:
23
+ - - "~>"
24
+ - !ruby/object:Gem::Version
25
+ version: '8.0'
26
+ - !ruby/object:Gem::Dependency
27
+ name: rackup
28
+ requirement: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - "~>"
31
+ - !ruby/object:Gem::Version
32
+ version: '2.2'
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '2.2'
40
+ - !ruby/object:Gem::Dependency
41
+ name: sinatra
42
+ requirement: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - "~>"
45
+ - !ruby/object:Gem::Version
46
+ version: '4.1'
47
+ type: :runtime
48
+ prerelease: false
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - "~>"
52
+ - !ruby/object:Gem::Version
53
+ version: '4.1'
54
+ - !ruby/object:Gem::Dependency
55
+ name: activesupport
56
+ requirement: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - "~>"
59
+ - !ruby/object:Gem::Version
60
+ version: '8.0'
61
+ type: :runtime
62
+ prerelease: false
63
+ version_requirements: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - "~>"
66
+ - !ruby/object:Gem::Version
67
+ version: '8.0'
68
+ - !ruby/object:Gem::Dependency
69
+ name: trmnl-liquid
70
+ requirement: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - "~>"
73
+ - !ruby/object:Gem::Version
74
+ version: 0.7.0
75
+ type: :runtime
76
+ prerelease: false
77
+ version_requirements: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - "~>"
80
+ - !ruby/object:Gem::Version
81
+ version: 0.7.0
82
+ - !ruby/object:Gem::Dependency
83
+ name: mini_magick
84
+ requirement: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - "~>"
87
+ - !ruby/object:Gem::Version
88
+ version: '5.3'
89
+ type: :runtime
90
+ prerelease: false
91
+ version_requirements: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - "~>"
94
+ - !ruby/object:Gem::Version
95
+ version: '5.3'
96
+ - !ruby/object:Gem::Dependency
97
+ name: selenium-webdriver
98
+ requirement: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - "~>"
101
+ - !ruby/object:Gem::Version
102
+ version: '4.44'
103
+ type: :runtime
104
+ prerelease: false
105
+ version_requirements: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - "~>"
108
+ - !ruby/object:Gem::Version
109
+ version: '4.44'
110
+ - !ruby/object:Gem::Dependency
111
+ name: cgi
112
+ requirement: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - "~>"
115
+ - !ruby/object:Gem::Version
116
+ version: '0.5'
117
+ type: :runtime
118
+ prerelease: false
119
+ version_requirements: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - "~>"
122
+ - !ruby/object:Gem::Version
123
+ version: '0.5'
124
+ - !ruby/object:Gem::Dependency
125
+ name: faraday
126
+ requirement: !ruby/object:Gem::Requirement
127
+ requirements:
128
+ - - "~>"
129
+ - !ruby/object:Gem::Version
130
+ version: '2.1'
131
+ type: :runtime
132
+ prerelease: false
133
+ version_requirements: !ruby/object:Gem::Requirement
134
+ requirements:
135
+ - - "~>"
136
+ - !ruby/object:Gem::Version
137
+ version: '2.1'
138
+ - !ruby/object:Gem::Dependency
139
+ name: faraday-multipart
140
+ requirement: !ruby/object:Gem::Requirement
141
+ requirements:
142
+ - - "~>"
143
+ - !ruby/object:Gem::Version
144
+ version: '1.1'
145
+ type: :runtime
146
+ prerelease: false
147
+ version_requirements: !ruby/object:Gem::Requirement
148
+ requirements:
149
+ - - "~>"
150
+ - !ruby/object:Gem::Version
151
+ version: '1.1'
152
+ - !ruby/object:Gem::Dependency
153
+ name: filewatcher
154
+ requirement: !ruby/object:Gem::Requirement
155
+ requirements:
156
+ - - "~>"
157
+ - !ruby/object:Gem::Version
158
+ version: '3.0'
159
+ type: :runtime
160
+ prerelease: false
161
+ version_requirements: !ruby/object:Gem::Requirement
162
+ requirements:
163
+ - - "~>"
164
+ - !ruby/object:Gem::Version
165
+ version: '3.0'
166
+ - !ruby/object:Gem::Dependency
167
+ name: oj
168
+ requirement: !ruby/object:Gem::Requirement
169
+ requirements:
170
+ - - "~>"
171
+ - !ruby/object:Gem::Version
172
+ version: '3.17'
173
+ type: :runtime
174
+ prerelease: false
175
+ version_requirements: !ruby/object:Gem::Requirement
176
+ requirements:
177
+ - - "~>"
178
+ - !ruby/object:Gem::Version
179
+ version: '3.17'
180
+ - !ruby/object:Gem::Dependency
181
+ name: rexml
182
+ requirement: !ruby/object:Gem::Requirement
183
+ requirements:
184
+ - - "~>"
185
+ - !ruby/object:Gem::Version
186
+ version: '3.4'
187
+ type: :runtime
188
+ prerelease: false
189
+ version_requirements: !ruby/object:Gem::Requirement
190
+ requirements:
191
+ - - "~>"
192
+ - !ruby/object:Gem::Version
193
+ version: '3.4'
194
+ - !ruby/object:Gem::Dependency
195
+ name: rubyzip
196
+ requirement: !ruby/object:Gem::Requirement
197
+ requirements:
198
+ - - "~>"
199
+ - !ruby/object:Gem::Version
200
+ version: '3.3'
201
+ type: :runtime
202
+ prerelease: false
203
+ version_requirements: !ruby/object:Gem::Requirement
204
+ requirements:
205
+ - - "~>"
206
+ - !ruby/object:Gem::Version
207
+ version: '3.3'
208
+ - !ruby/object:Gem::Dependency
209
+ name: thor
210
+ requirement: !ruby/object:Gem::Requirement
211
+ requirements:
212
+ - - "~>"
213
+ - !ruby/object:Gem::Version
214
+ version: '1.3'
215
+ type: :runtime
216
+ prerelease: false
217
+ version_requirements: !ruby/object:Gem::Requirement
218
+ requirements:
219
+ - - "~>"
220
+ - !ruby/object:Gem::Version
221
+ version: '1.3'
222
+ - !ruby/object:Gem::Dependency
223
+ name: tzinfo-data
224
+ requirement: !ruby/object:Gem::Requirement
225
+ requirements:
226
+ - - "~>"
227
+ - !ruby/object:Gem::Version
228
+ version: '1.2025'
229
+ type: :runtime
230
+ prerelease: false
231
+ version_requirements: !ruby/object:Gem::Requirement
232
+ requirements:
233
+ - - "~>"
234
+ - !ruby/object:Gem::Version
235
+ version: '1.2025'
236
+ - !ruby/object:Gem::Dependency
237
+ name: xdg
238
+ requirement: !ruby/object:Gem::Requirement
239
+ requirements:
240
+ - - "~>"
241
+ - !ruby/object:Gem::Version
242
+ version: '10.2'
243
+ type: :runtime
244
+ prerelease: false
245
+ version_requirements: !ruby/object:Gem::Requirement
246
+ requirements:
247
+ - - "~>"
248
+ - !ruby/object:Gem::Version
249
+ version: '10.2'
250
+ description: Automatically rebuild and preview TRNML plugins in multiple views
15
251
  email:
16
252
  - rockwell@schrock.me
17
253
  executables:
@@ -19,21 +255,94 @@ executables:
19
255
  extensions: []
20
256
  extra_rdoc_files: []
21
257
  files:
258
+ - CHANGELOG.md
259
+ - LICENSE.txt
260
+ - README.md
261
+ - bin/rake
22
262
  - bin/trmnlp
263
+ - db/data/form_fields.yml
264
+ - db/data/framework_versions.yml
265
+ - lib/trmnlp.rb
266
+ - lib/trmnlp/api_client.rb
267
+ - lib/trmnlp/app.rb
268
+ - lib/trmnlp/browser_pool.rb
269
+ - lib/trmnlp/cli.rb
270
+ - lib/trmnlp/commands.rb
271
+ - lib/trmnlp/commands/base.rb
272
+ - lib/trmnlp/commands/build.rb
273
+ - lib/trmnlp/commands/clone.rb
274
+ - lib/trmnlp/commands/init.rb
275
+ - lib/trmnlp/commands/lint.rb
276
+ - lib/trmnlp/commands/list.rb
277
+ - lib/trmnlp/commands/login.rb
278
+ - lib/trmnlp/commands/pull.rb
279
+ - lib/trmnlp/commands/push.rb
280
+ - lib/trmnlp/commands/serve.rb
281
+ - lib/trmnlp/config.rb
282
+ - lib/trmnlp/config/app.rb
283
+ - lib/trmnlp/config/plugin.rb
284
+ - lib/trmnlp/config/project.rb
285
+ - lib/trmnlp/context.rb
286
+ - lib/trmnlp/errors.rb
287
+ - lib/trmnlp/form_field.rb
288
+ - lib/trmnlp/framework_version.rb
289
+ - lib/trmnlp/image_quantizer.rb
290
+ - lib/trmnlp/lint.rb
291
+ - lib/trmnlp/lint/check.rb
292
+ - lib/trmnlp/lint/checks/custom_fields_used.rb
293
+ - lib/trmnlp/lint/checks/form_fields_valid.rb
294
+ - lib/trmnlp/lint/checks/highcharts_animations_disabled.rb
295
+ - lib/trmnlp/lint/checks/highcharts_elements_unique.rb
296
+ - lib/trmnlp/lint/checks/image_links_reachable.rb
297
+ - lib/trmnlp/lint/checks/layouts_have_content.rb
298
+ - lib/trmnlp/lint/checks/limited_inline_styles.rb
299
+ - lib/trmnlp/lint/checks/no_async_functions.rb
300
+ - lib/trmnlp/lint/checks/no_opacity.rb
301
+ - lib/trmnlp/lint/checks/no_size_classes.rb
302
+ - lib/trmnlp/lint/checks/title_casing.rb
303
+ - lib/trmnlp/lint/checks/title_length.rb
304
+ - lib/trmnlp/lint/checks/waits_for_dom_load.rb
305
+ - lib/trmnlp/lint/source.rb
306
+ - lib/trmnlp/paths.rb
307
+ - lib/trmnlp/poller.rb
308
+ - lib/trmnlp/renderer.rb
309
+ - lib/trmnlp/reporter.rb
310
+ - lib/trmnlp/screen.rb
311
+ - lib/trmnlp/screen_generator.rb
312
+ - lib/trmnlp/screenshot.rb
313
+ - lib/trmnlp/transform_backend/http.rb
314
+ - lib/trmnlp/transform_backend/subprocess.rb
315
+ - lib/trmnlp/transform_backend/wrapper.rb
316
+ - lib/trmnlp/transform_client.rb
317
+ - lib/trmnlp/transform_pipeline.rb
318
+ - lib/trmnlp/user_data_assembler.rb
319
+ - lib/trmnlp/version.rb
320
+ - lib/trmnlp/watcher.rb
321
+ - templates/init/.trmnlp.yml
322
+ - templates/init/bin/trmnlp
323
+ - templates/init/src/full.liquid
324
+ - templates/init/src/half_horizontal.liquid
325
+ - templates/init/src/half_vertical.liquid
326
+ - templates/init/src/quadrant.liquid
327
+ - templates/init/src/settings.yml
328
+ - templates/init/src/shared.liquid
329
+ - templates/init/src/transform.py.example
330
+ - trmnl_preview.gemspec
331
+ - web/public/highlight/highlight.min.js
332
+ - web/public/highlight/styles/atom-one-dark.min.css
333
+ - web/public/index.css
334
+ - web/public/index.js
335
+ - web/public/trmnl-picker.js
336
+ - web/views/index.erb
337
+ - web/views/render_html.erb
23
338
  homepage: https://github.com/usetrmnl/trmnlp
24
339
  licenses:
25
340
  - MIT
26
341
  metadata:
342
+ allowed_push_host: https://rubygems.org
27
343
  homepage_uri: https://github.com/usetrmnl/trmnlp
28
344
  source_code_uri: https://github.com/usetrmnl/trmnlp
29
345
  rubygems_mfa_required: 'true'
30
- post_install_message: |
31
- This is not trmnlp. It is a notice.
32
-
33
- trmnlp requires Ruby 4.0 or newer, and your Ruby is older, so RubyGems
34
- selected this version. Upgrade to Ruby 4.0 or newer and run
35
- `gem install trmnl_preview` again, or run trmnlp through Docker:
36
- https://github.com/usetrmnl/trmnlp#installing-via-docker
37
346
  rdoc_options: []
38
347
  require_paths:
39
348
  - lib
@@ -41,14 +350,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
41
350
  requirements:
42
351
  - - ">="
43
352
  - !ruby/object:Gem::Version
44
- version: '0'
353
+ version: '3.4'
45
354
  required_rubygems_version: !ruby/object:Gem::Requirement
46
355
  requirements:
47
356
  - - ">="
48
357
  - !ruby/object:Gem::Version
49
358
  version: '0'
50
359
  requirements: []
51
- rubygems_version: 4.0.16
360
+ rubygems_version: 4.0.10
52
361
  specification_version: 4
53
- summary: 'Notice: trmnlp requires Ruby 4.0 or newer'
362
+ summary: Local web server to preview TRMNL plugins
54
363
  test_files: []