docwatch-bin 1.0.8 → 1.1.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e525886a59746464f8ba5986e89bdcb343acbd1a96378bb56521f8e20bcf0288
4
- data.tar.gz: a6829868d17db749392a11db8418519298e80bbfa386add54e2258bf72e59079
3
+ metadata.gz: 7ab45880b0ec4a3dabedeec7ba8480d7201035a06ba11b90f7a7bd103ecd725f
4
+ data.tar.gz: 27d24ba2beea3a03d344584313a1735668607afc5a04c5ee69d95786afc35921
5
5
  SHA512:
6
- metadata.gz: e7e12d6b4188d3d29964d9c842bad38454c383aec54b2a55d38fe8ace8de68a21065abb7f1ade4cabe5ec88263d4790d1d3a8e63bccb40bd3bc4ee22f7095172
7
- data.tar.gz: 270e381c2bbf7f2b28ecfbfccc407050a6aab5ed2c44342ba0f60a2c16d0227f00d33d8ba14be11e4820e27b60c085af83e039be2cd777fd7c54e9fb3bed641f
6
+ metadata.gz: 783df445e617e2896b9180f49a36af08c8adfee6b59224b9ef3fe18326cd6bc0033688ad3bce1aa06f1d492dc2b111de0a59f7c2d56126cf3ca70aad94cad34c
7
+ data.tar.gz: 15ec12b7fc4d432d84b4c6202ee021b2a29c7c60fa85a412ba763a012a7362601a960fb9c5ca30fbf08343cd06072d07f5e9019c9fa124a5f798b74f867beefd
data/bin/docwatch CHANGED
@@ -2,28 +2,7 @@
2
2
  require_relative '../lib/docwatch'
3
3
  include Docwatch
4
4
 
5
- DOCS = <<~EOF
6
- #{'Usage:'.bold}
7
- #{File.basename($0)} [options] [<file-path>]
8
-
9
- #{'Options:'.bold}
10
- -p, --port=VALUE Listen port [default: 8888]
11
- -v, --verbose Verbose
12
- -h, --help Help
13
- -V, --version Version
14
-
15
- #{'Renderers:'.bold}
16
- markdown (.md)
17
- html (.html)
18
-
19
- If #{'--port'.bold} is #{'random'.bold} a random port will be chosen, otherwise
20
- the specified one will be used. The default is 8888.
21
-
22
- In #{'--verbose'.bold} mode, incoming HTTP requests and file change event
23
- notifications will be printed to standard output.
24
- EOF
25
-
26
- class App
5
+ class Main
27
6
  def initialize(opts)
28
7
  @opts = opts
29
8
  end
@@ -68,11 +47,6 @@ class App
68
47
  exit 0
69
48
  end
70
49
 
71
- def exit_invalid_arguments
72
- puts 'Invalid arguments'.red
73
- exit 1
74
- end
75
-
76
50
  def exit_invalid_file
77
51
  puts 'File does not exist: %s'.red % params.file_path
78
52
  exit 2
@@ -90,7 +64,6 @@ class App
90
64
  def run
91
65
  exit_version if params.version
92
66
  exit_usage if params.help
93
- exit_invalid_arguments unless params.file_path
94
67
  exit_invalid_file unless File.exist?(params.file_path)
95
68
  exit_invalid_port unless port_valid
96
69
 
@@ -107,7 +80,6 @@ class App
107
80
  Connection.handle(
108
81
  renderer,
109
82
  watcher,
110
- logger,
111
83
  Session.new(socket, logger)
112
84
  )
113
85
  end
@@ -128,9 +100,30 @@ class App
128
100
  end
129
101
  end
130
102
 
103
+ docs = <<~EOF
104
+ #{'Usage:'.bold}
105
+ #{File.basename($0)} [options] <file-path>
106
+
107
+ #{'Options:'.bold}
108
+ -p, --port=VALUE Listen port [default: 8888]
109
+ -v, --verbose Be verbose
110
+ -V, --version Show version
111
+ -h, --help Show this help
112
+
113
+ #{'Renderers:'.bold}
114
+ markdown (.md)
115
+ html (.html)
116
+
117
+ If #{'--port'.bold} is #{'random'.bold} a random port will be chosen, otherwise
118
+ the specified one will be used. The default is 8888.
119
+
120
+ In #{'--verbose'.bold} mode, incoming HTTP requests and file change event
121
+ notifications will be printed to standard output.
122
+ EOF
123
+
131
124
  begin
132
- App.run(Docopt::docopt(DOCS, help: false))
125
+ Main.run(Docopt::docopt(docs, version: VERSION))
133
126
  rescue Docopt::Exit => e
134
- puts 'Invalid arguments.'.red
127
+ puts e.message
135
128
  exit 1
136
129
  end
data/lib/docwatch.rb CHANGED
@@ -1,16 +1,16 @@
1
1
  require 'require_all'
2
- require 'colorize'
3
- require 'docopt'
4
2
  require 'redcarpet'
3
+ require 'colorize'
5
4
  require 'nokogiri'
5
+ require 'docopt'
6
6
 
7
- require 'socket'
8
7
  require 'ostruct'
9
-
10
- require_rel 'docwatch'
8
+ require 'socket'
11
9
 
12
10
  module Docwatch
13
- def self.root
11
+ def self.root_dir
14
12
  File.expand_path('../..', __FILE__)
15
13
  end
16
14
  end
15
+
16
+ require_rel 'docwatch'
@@ -1,9 +1,8 @@
1
1
  module Docwatch
2
2
  class Connection
3
- def initialize(renderer, watcher, logger, session)
3
+ def initialize(renderer, watcher, session)
4
4
  @renderer = renderer
5
5
  @watcher = watcher
6
- @logger = logger
7
6
  @session = session
8
7
  end
9
8
 
@@ -18,7 +18,7 @@ module Docwatch
18
18
  end
19
19
 
20
20
  def js
21
- File.read(Docwatch.root + '/res/inject.js')
21
+ File.read(Docwatch.root_dir + '/res/inject.js')
22
22
  end
23
23
 
24
24
  def to_html
@@ -29,7 +29,9 @@ module Docwatch
29
29
  #{head}
30
30
  </head>
31
31
  <body>
32
+ <div class="container">
32
33
  #{body}
34
+ </div>
33
35
  <script>
34
36
  (function() {
35
37
  #{js}
@@ -3,13 +3,11 @@ module Docwatch
3
3
  extension :md
4
4
 
5
5
  def head
6
+ css = File.read(Docwatch.root_dir + '/res/github-markdown.css')
6
7
  return <<~EOF
7
8
  <title>#{file_path} - docwatch</title>
8
9
  <style>
9
- body {
10
- font-family: Ubuntu;
11
- font-size: 15px;
12
- }
10
+ #{css}
13
11
  </style>
14
12
  EOF
15
13
  end
@@ -12,6 +12,7 @@ module Docwatch
12
12
  end
13
13
 
14
14
  def path
15
+ return if first_request_line.length == 0
15
16
  first_request_line.split(' ')[1]
16
17
  end
17
18
 
@@ -40,7 +41,7 @@ module Docwatch
40
41
  end
41
42
 
42
43
  def first_request_line
43
- input_lines.first.chomp
44
+ input_lines.each(&:chomp).first
44
45
  end
45
46
 
46
47
  def print(msg)
@@ -1,3 +1,3 @@
1
1
  module Docwatch
2
- VERSION = "1.0.8"
2
+ VERSION = "1.1.2"
3
3
  end
@@ -0,0 +1,457 @@
1
+ .container {
2
+ font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol;
3
+ font-size: 16px;
4
+ line-height: 1.5;
5
+ word-wrap: break-word;
6
+ width: 900px;
7
+ margin: 0 auto;
8
+ }
9
+
10
+ .container:after,
11
+ .container:before {
12
+ display: table;
13
+ content: ""
14
+ }
15
+
16
+ .container:after {
17
+ clear: both
18
+ }
19
+
20
+ .container>:first-child {
21
+ margin-top: 0!important
22
+ }
23
+
24
+ .container>:last-child {
25
+ margin-bottom: 0!important
26
+ }
27
+
28
+ .container a:not([href]) {
29
+ color: inherit;
30
+ text-decoration: none
31
+ }
32
+
33
+ .container .absent {
34
+ color: #cb2431
35
+ }
36
+
37
+ .container .anchor {
38
+ float: left;
39
+ padding-right: 4px;
40
+ margin-left: -20px;
41
+ line-height: 1
42
+ }
43
+
44
+ .container .anchor:focus {
45
+ outline: none
46
+ }
47
+
48
+ .container blockquote,
49
+ .container details,
50
+ .container dl,
51
+ .container ol,
52
+ .container p,
53
+ .container pre,
54
+ .container table,
55
+ .container ul {
56
+ margin-top: 0;
57
+ margin-bottom: 16px
58
+ }
59
+
60
+ .container hr {
61
+ height: .25em;
62
+ padding: 0;
63
+ margin: 24px 0;
64
+ background-color: #e1e4e8;
65
+ border: 0
66
+ }
67
+
68
+ .container blockquote {
69
+ padding: 0 1em;
70
+ color: #6a737d;
71
+ border-left: .25em solid #dfe2e5
72
+ }
73
+
74
+ .container blockquote>:first-child {
75
+ margin-top: 0
76
+ }
77
+
78
+ .container blockquote>:last-child {
79
+ margin-bottom: 0
80
+ }
81
+
82
+ .container kbd {
83
+ display: inline-block;
84
+ padding: 3px 5px;
85
+ font-size: 11px;
86
+ line-height: 10px;
87
+ color: #444d56;
88
+ vertical-align: middle;
89
+ background-color: #fafbfc;
90
+ border: 1px solid #c6cbd1;
91
+ border-bottom-color: #959da5;
92
+ border-radius: 3px;
93
+ box-shadow: inset 0 -1px 0 #959da5
94
+ }
95
+
96
+ .container h1,
97
+ .container h2,
98
+ .container h3,
99
+ .container h4,
100
+ .container h5,
101
+ .container h6 {
102
+ margin-top: 24px;
103
+ margin-bottom: 16px;
104
+ font-weight: 600;
105
+ line-height: 1.25
106
+ }
107
+
108
+ .container h1 .octicon-link,
109
+ .container h2 .octicon-link,
110
+ .container h3 .octicon-link,
111
+ .container h4 .octicon-link,
112
+ .container h5 .octicon-link,
113
+ .container h6 .octicon-link {
114
+ color: #1b1f23;
115
+ vertical-align: middle;
116
+ visibility: hidden
117
+ }
118
+
119
+ .container h1:hover .anchor,
120
+ .container h2:hover .anchor,
121
+ .container h3:hover .anchor,
122
+ .container h4:hover .anchor,
123
+ .container h5:hover .anchor,
124
+ .container h6:hover .anchor {
125
+ text-decoration: none
126
+ }
127
+
128
+ .container h1:hover .anchor .octicon-link,
129
+ .container h2:hover .anchor .octicon-link,
130
+ .container h3:hover .anchor .octicon-link,
131
+ .container h4:hover .anchor .octicon-link,
132
+ .container h5:hover .anchor .octicon-link,
133
+ .container h6:hover .anchor .octicon-link {
134
+ visibility: visible
135
+ }
136
+
137
+ .container h1 code,
138
+ .container h1 tt,
139
+ .container h2 code,
140
+ .container h2 tt,
141
+ .container h3 code,
142
+ .container h3 tt,
143
+ .container h4 code,
144
+ .container h4 tt,
145
+ .container h5 code,
146
+ .container h5 tt,
147
+ .container h6 code,
148
+ .container h6 tt {
149
+ font-size: inherit
150
+ }
151
+
152
+ .container h1 {
153
+ font-size: 2em
154
+ }
155
+
156
+ .container h1,
157
+ .container h2 {
158
+ padding-bottom: .3em;
159
+ border-bottom: 1px solid #eaecef
160
+ }
161
+
162
+ .container h2 {
163
+ font-size: 1.5em
164
+ }
165
+
166
+ .container h3 {
167
+ font-size: 1.25em
168
+ }
169
+
170
+ .container h4 {
171
+ font-size: 1em
172
+ }
173
+
174
+ .container h5 {
175
+ font-size: .875em
176
+ }
177
+
178
+ .container h6 {
179
+ font-size: .85em;
180
+ color: #6a737d
181
+ }
182
+
183
+ .container ol,
184
+ .container ul {
185
+ padding-left: 2em
186
+ }
187
+
188
+ .container ol.no-list,
189
+ .container ul.no-list {
190
+ padding: 0;
191
+ list-style-type: none
192
+ }
193
+
194
+ .container ol ol,
195
+ .container ol ul,
196
+ .container ul ol,
197
+ .container ul ul {
198
+ margin-top: 0;
199
+ margin-bottom: 0
200
+ }
201
+
202
+ .container li {
203
+ word-wrap: break-all
204
+ }
205
+
206
+ .container li>p {
207
+ margin-top: 16px
208
+ }
209
+
210
+ .container li+li {
211
+ margin-top: .25em
212
+ }
213
+
214
+ .container dl {
215
+ padding: 0
216
+ }
217
+
218
+ .container dl dt {
219
+ padding: 0;
220
+ margin-top: 16px;
221
+ font-size: 1em;
222
+ font-style: italic;
223
+ font-weight: 600
224
+ }
225
+
226
+ .container dl dd {
227
+ padding: 0 16px;
228
+ margin-bottom: 16px
229
+ }
230
+
231
+ .container table {
232
+ display: block;
233
+ width: 100%;
234
+ overflow: auto
235
+ }
236
+
237
+ .container table th {
238
+ font-weight: 600
239
+ }
240
+
241
+ .container table td,
242
+ .container table th {
243
+ padding: 6px 13px;
244
+ border: 1px solid #dfe2e5
245
+ }
246
+
247
+ .container table tr {
248
+ background-color: #fff;
249
+ border-top: 1px solid #c6cbd1
250
+ }
251
+
252
+ .container table tr:nth-child(2n) {
253
+ background-color: #f6f8fa
254
+ }
255
+
256
+ .container table img {
257
+ background-color: initial
258
+ }
259
+
260
+ .container img {
261
+ max-width: 100%;
262
+ box-sizing: initial;
263
+ background-color: #fff
264
+ }
265
+
266
+ .container img[align=right] {
267
+ padding-left: 20px
268
+ }
269
+
270
+ .container img[align=left] {
271
+ padding-right: 20px
272
+ }
273
+
274
+ .container .emoji {
275
+ max-width: none;
276
+ vertical-align: text-top;
277
+ background-color: initial
278
+ }
279
+
280
+ .container span.frame {
281
+ display: block;
282
+ overflow: hidden
283
+ }
284
+
285
+ .container span.frame>span {
286
+ display: block;
287
+ float: left;
288
+ width: auto;
289
+ padding: 7px;
290
+ margin: 13px 0 0;
291
+ overflow: hidden;
292
+ border: 1px solid #dfe2e5
293
+ }
294
+
295
+ .container span.frame span img {
296
+ display: block;
297
+ float: left
298
+ }
299
+
300
+ .container span.frame span span {
301
+ display: block;
302
+ padding: 5px 0 0;
303
+ clear: both;
304
+ color: #24292e
305
+ }
306
+
307
+ .container span.align-center {
308
+ display: block;
309
+ overflow: hidden;
310
+ clear: both
311
+ }
312
+
313
+ .container span.align-center>span {
314
+ display: block;
315
+ margin: 13px auto 0;
316
+ overflow: hidden;
317
+ text-align: center
318
+ }
319
+
320
+ .container span.align-center span img {
321
+ margin: 0 auto;
322
+ text-align: center
323
+ }
324
+
325
+ .container span.align-right {
326
+ display: block;
327
+ overflow: hidden;
328
+ clear: both
329
+ }
330
+
331
+ .container span.align-right>span {
332
+ display: block;
333
+ margin: 13px 0 0;
334
+ overflow: hidden;
335
+ text-align: right
336
+ }
337
+
338
+ .container span.align-right span img {
339
+ margin: 0;
340
+ text-align: right
341
+ }
342
+
343
+ .container span.float-left {
344
+ display: block;
345
+ float: left;
346
+ margin-right: 13px;
347
+ overflow: hidden
348
+ }
349
+
350
+ .container span.float-left span {
351
+ margin: 13px 0 0
352
+ }
353
+
354
+ .container span.float-right {
355
+ display: block;
356
+ float: right;
357
+ margin-left: 13px;
358
+ overflow: hidden
359
+ }
360
+
361
+ .container span.float-right>span {
362
+ display: block;
363
+ margin: 13px auto 0;
364
+ overflow: hidden;
365
+ text-align: right
366
+ }
367
+
368
+ .container code,
369
+ .container tt {
370
+ padding: .2em .4em;
371
+ margin: 0;
372
+ font-size: 85%;
373
+ background-color: rgba(27, 31, 35, .05);
374
+ border-radius: 3px
375
+ }
376
+
377
+ .container code br,
378
+ .container tt br {
379
+ display: none
380
+ }
381
+
382
+ .container del code {
383
+ text-decoration: inherit
384
+ }
385
+
386
+ .container pre {
387
+ word-wrap: normal
388
+ }
389
+
390
+ .container pre>code {
391
+ padding: 0;
392
+ margin: 0;
393
+ font-size: 100%;
394
+ word-break: normal;
395
+ white-space: pre;
396
+ background: transparent;
397
+ border: 0
398
+ }
399
+
400
+ .container .highlight {
401
+ margin-bottom: 16px
402
+ }
403
+
404
+ .container .highlight pre {
405
+ margin-bottom: 0;
406
+ word-break: normal
407
+ }
408
+
409
+ .container .highlight pre,
410
+ .container pre {
411
+ padding: 16px;
412
+ overflow: auto;
413
+ font-size: 85%;
414
+ line-height: 1.45;
415
+ background-color: #f6f8fa;
416
+ border-radius: 3px
417
+ }
418
+
419
+ .container pre code,
420
+ .container pre tt {
421
+ display: inline;
422
+ max-width: auto;
423
+ padding: 0;
424
+ margin: 0;
425
+ overflow: visible;
426
+ line-height: inherit;
427
+ word-wrap: normal;
428
+ background-color: initial;
429
+ border: 0
430
+ }
431
+
432
+ .container .csv-data td,
433
+ .container .csv-data th {
434
+ padding: 5px;
435
+ overflow: hidden;
436
+ font-size: 12px;
437
+ line-height: 1;
438
+ text-align: left;
439
+ white-space: nowrap
440
+ }
441
+
442
+ .container .csv-data .blob-num {
443
+ padding: 10px 8px 9px;
444
+ text-align: right;
445
+ background: #fff;
446
+ border: 0
447
+ }
448
+
449
+ .container .csv-data tr {
450
+ border-top: 0
451
+ }
452
+
453
+ .container .csv-data th {
454
+ font-weight: 600;
455
+ background: #f6f8fa;
456
+ border-top: 0
457
+ }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: docwatch-bin
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.8
4
+ version: 1.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - crdx
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-09-19 00:00:00.000000000 Z
11
+ date: 2021-02-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: require_all
@@ -16,84 +16,84 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '2.0'
19
+ version: '3.0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '2.0'
26
+ version: '3.0'
27
27
  - !ruby/object:Gem::Dependency
28
- name: colorize
28
+ name: redcarpet
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 0.8.1
33
+ version: '3.5'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 0.8.1
40
+ version: '3.5'
41
41
  - !ruby/object:Gem::Dependency
42
- name: docopt
42
+ name: colorize
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 0.6.1
47
+ version: 0.8.1
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: 0.6.1
54
+ version: 0.8.1
55
55
  - !ruby/object:Gem::Dependency
56
- name: redcarpet
56
+ name: nokogiri
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '3.5'
61
+ version: '1.10'
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '3.5'
68
+ version: '1.10'
69
69
  - !ruby/object:Gem::Dependency
70
- name: nokogiri
70
+ name: docopt
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '1.10'
75
+ version: 0.6.1
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: '1.10'
82
+ version: 0.6.1
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: simplecov
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: 0.17.0
89
+ version: '0'
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: 0.17.0
96
+ version: '0'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: rspec
99
99
  requirement: !ruby/object:Gem::Requirement
@@ -114,16 +114,16 @@ dependencies:
114
114
  requirements:
115
115
  - - "~>"
116
116
  - !ruby/object:Gem::Version
117
- version: '12.3'
117
+ version: '13.0'
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
122
  - - "~>"
123
123
  - !ruby/object:Gem::Version
124
- version: '12.3'
125
- description:
126
- email:
124
+ version: '13.0'
125
+ description:
126
+ email:
127
127
  executables:
128
128
  - docwatch
129
129
  extensions: []
@@ -139,12 +139,13 @@ files:
139
139
  - lib/docwatch/session.rb
140
140
  - lib/docwatch/version.rb
141
141
  - lib/docwatch/watcher.rb
142
+ - res/github-markdown.css
142
143
  - res/inject.js
143
144
  homepage: https://github.com/crdx/docwatch
144
145
  licenses:
145
146
  - MIT
146
147
  metadata: {}
147
- post_install_message:
148
+ post_install_message:
148
149
  rdoc_options: []
149
150
  require_paths:
150
151
  - lib
@@ -159,8 +160,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
159
160
  - !ruby/object:Gem::Version
160
161
  version: '0'
161
162
  requirements: []
162
- rubygems_version: 3.0.6
163
- signing_key:
163
+ rubygems_version: 3.2.7
164
+ signing_key:
164
165
  specification_version: 4
165
- summary: preview markdown documents in the browser with reload on change
166
+ summary: Preview markdown documents in the browser with reload on change
166
167
  test_files: []