commonmarker 1.1.4 → 2.0.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: be52deebe50e109769f29b7eab77a0d5c02974c1ce2b435e4ac73bc31afca368
4
- data.tar.gz: 968471b3c0cca03f9594aaf3ffdc4971a47fe0baa6b4e1c734b8a03a83ef7c82
3
+ metadata.gz: 7824257cc0655cb8eb286333f015e6542cc4666602675e86d969a4c565f8d4d9
4
+ data.tar.gz: 8eb3a39a2d10fc90e0cea2a578e4040a43a16771586bf8bb09a3706fe45b8eda
5
5
  SHA512:
6
- metadata.gz: '0282620e926dd8a97d68444e239423e4c0bac4b90cf379afbebcaa8d372aca330525a36efcd96c15e621c3fb39a88921336c8e2f01e39ade06dad0e4a76ef10d'
7
- data.tar.gz: d8e90f12bc9e9cf1ccb81ae814945cd991845657482bd3d81797aae275db424bd6f2811bc0389a79af1405a3b35ea8affe3ede16c00f005a2bc5024bc083a7a8
6
+ metadata.gz: b84b895cc30fc1817fc96639c774878127b82ff1e36e7cfc5ace170497bc2167bc734e212aab70cd6986df74ed7a223853e324c00bd51846a46107911da0f725
7
+ data.tar.gz: 723eef2b963100c97af949dd9b2db1b21bdd5a52b0dfb82f18b23c181c7b128681b96358dcb792554afd79b13cc2829bef543e26d506f7d803dfc62db8a598dd
data/Cargo.lock CHANGED
@@ -19,9 +19,9 @@ dependencies = [
19
19
 
20
20
  [[package]]
21
21
  name = "anstream"
22
- version = "0.6.14"
22
+ version = "0.6.15"
23
23
  source = "registry+https://github.com/rust-lang/crates.io-index"
24
- checksum = "418c75fa768af9c03be99d17643f93f79bbba589895012a80e3452a19ddda15b"
24
+ checksum = "64e15c1ab1f89faffbf04a634d5e1962e9074f2741eef6d97f3c4e322426d526"
25
25
  dependencies = [
26
26
  "anstyle",
27
27
  "anstyle-parse",
@@ -34,33 +34,33 @@ dependencies = [
34
34
 
35
35
  [[package]]
36
36
  name = "anstyle"
37
- version = "1.0.7"
37
+ version = "1.0.8"
38
38
  source = "registry+https://github.com/rust-lang/crates.io-index"
39
- checksum = "038dfcf04a5feb68e9c60b21c9625a54c2c0616e79b72b0fd87075a056ae1d1b"
39
+ checksum = "1bec1de6f59aedf83baf9ff929c98f2ad654b97c9510f4e70cf6f661d49fd5b1"
40
40
 
41
41
  [[package]]
42
42
  name = "anstyle-parse"
43
- version = "0.2.4"
43
+ version = "0.2.5"
44
44
  source = "registry+https://github.com/rust-lang/crates.io-index"
45
- checksum = "c03a11a9034d92058ceb6ee011ce58af4a9bf61491aa7e1e59ecd24bd40d22d4"
45
+ checksum = "eb47de1e80c2b463c735db5b217a0ddc39d612e7ac9e2e96a5aed1f57616c1cb"
46
46
  dependencies = [
47
47
  "utf8parse",
48
48
  ]
49
49
 
50
50
  [[package]]
51
51
  name = "anstyle-query"
52
- version = "1.0.3"
52
+ version = "1.1.1"
53
53
  source = "registry+https://github.com/rust-lang/crates.io-index"
54
- checksum = "a64c907d4e79225ac72e2a354c9ce84d50ebb4586dee56c82b3ee73004f537f5"
54
+ checksum = "6d36fc52c7f6c869915e99412912f22093507da8d9e942ceaf66fe4b7c14422a"
55
55
  dependencies = [
56
56
  "windows-sys 0.52.0",
57
57
  ]
58
58
 
59
59
  [[package]]
60
60
  name = "anstyle-wincon"
61
- version = "3.0.3"
61
+ version = "3.0.4"
62
62
  source = "registry+https://github.com/rust-lang/crates.io-index"
63
- checksum = "61a38449feb7068f52bb06c12759005cf459ee52bb4adc1d5a7c4322d716fb19"
63
+ checksum = "5bf74e1b6e971609db8ca7a9ce79fd5768ab6ae46441c572e46cf596f59e57f8"
64
64
  dependencies = [
65
65
  "anstyle",
66
66
  "windows-sys 0.52.0",
@@ -68,9 +68,9 @@ dependencies = [
68
68
 
69
69
  [[package]]
70
70
  name = "base64"
71
- version = "0.21.7"
71
+ version = "0.22.1"
72
72
  source = "registry+https://github.com/rust-lang/crates.io-index"
73
- checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567"
73
+ checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6"
74
74
 
75
75
  [[package]]
76
76
  name = "bincode"
@@ -87,7 +87,7 @@ version = "0.69.4"
87
87
  source = "registry+https://github.com/rust-lang/crates.io-index"
88
88
  checksum = "a00dc851838a2120612785d195287475a3ac45514741da670b735818822129a0"
89
89
  dependencies = [
90
- "bitflags 2.5.0",
90
+ "bitflags 2.6.0",
91
91
  "cexpr",
92
92
  "clang-sys",
93
93
  "itertools",
@@ -124,9 +124,34 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
124
124
 
125
125
  [[package]]
126
126
  name = "bitflags"
127
- version = "2.5.0"
127
+ version = "2.6.0"
128
+ source = "registry+https://github.com/rust-lang/crates.io-index"
129
+ checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de"
130
+
131
+ [[package]]
132
+ name = "bon"
133
+ version = "3.0.2"
134
+ source = "registry+https://github.com/rust-lang/crates.io-index"
135
+ checksum = "a636f83af97c6946f3f5cf5c268ec02375bf5efd371110292dfd57961f57a509"
136
+ dependencies = [
137
+ "bon-macros",
138
+ "rustversion",
139
+ ]
140
+
141
+ [[package]]
142
+ name = "bon-macros"
143
+ version = "3.0.2"
128
144
  source = "registry+https://github.com/rust-lang/crates.io-index"
129
- checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1"
145
+ checksum = "a7eaf1bfaa5b8d512abfd36d0c432591fef139d3de9ee54f1f839ea109d70d33"
146
+ dependencies = [
147
+ "darling",
148
+ "ident_case",
149
+ "prettyplease",
150
+ "proc-macro2",
151
+ "quote",
152
+ "rustversion",
153
+ "syn",
154
+ ]
130
155
 
131
156
  [[package]]
132
157
  name = "bumpalo"
@@ -134,11 +159,21 @@ version = "3.16.0"
134
159
  source = "registry+https://github.com/rust-lang/crates.io-index"
135
160
  checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c"
136
161
 
162
+ [[package]]
163
+ name = "caseless"
164
+ version = "0.2.1"
165
+ source = "registry+https://github.com/rust-lang/crates.io-index"
166
+ checksum = "808dab3318747be122cb31d36de18d4d1c81277a76f8332a02b81a3d73463d7f"
167
+ dependencies = [
168
+ "regex",
169
+ "unicode-normalization",
170
+ ]
171
+
137
172
  [[package]]
138
173
  name = "cc"
139
- version = "1.0.98"
174
+ version = "1.1.7"
140
175
  source = "registry+https://github.com/rust-lang/crates.io-index"
141
- checksum = "41c270e7540d725e65ac7f1b212ac8ce349719624d7bcff99f8e2e488e8cf03f"
176
+ checksum = "26a5c3fd7bfa1ce3897a3a3501d362b2d87b7f2583ebcb4a949ec25911025cbc"
142
177
 
143
178
  [[package]]
144
179
  name = "cexpr"
@@ -157,9 +192,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
157
192
 
158
193
  [[package]]
159
194
  name = "clang-sys"
160
- version = "1.7.0"
195
+ version = "1.8.1"
161
196
  source = "registry+https://github.com/rust-lang/crates.io-index"
162
- checksum = "67523a3b4be3ce1989d607a828d036249522dd9c1c8de7f4dd2dae43a37369d1"
197
+ checksum = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4"
163
198
  dependencies = [
164
199
  "glob",
165
200
  "libc",
@@ -168,9 +203,9 @@ dependencies = [
168
203
 
169
204
  [[package]]
170
205
  name = "clap"
171
- version = "4.5.4"
206
+ version = "4.5.11"
172
207
  source = "registry+https://github.com/rust-lang/crates.io-index"
173
- checksum = "90bc066a67923782aa8515dbaea16946c5bcc5addbd668bb80af688e53e548a0"
208
+ checksum = "35723e6a11662c2afb578bcf0b88bf6ea8e21282a953428f240574fcc3a2b5b3"
174
209
  dependencies = [
175
210
  "clap_builder",
176
211
  "clap_derive",
@@ -178,9 +213,9 @@ dependencies = [
178
213
 
179
214
  [[package]]
180
215
  name = "clap_builder"
181
- version = "4.5.2"
216
+ version = "4.5.11"
182
217
  source = "registry+https://github.com/rust-lang/crates.io-index"
183
- checksum = "ae129e2e766ae0ec03484e609954119f123cc1fe650337e155d03b022f24f7b4"
218
+ checksum = "49eb96cbfa7cfa35017b7cd548c75b14c3118c98b423041d70562665e07fb0fa"
184
219
  dependencies = [
185
220
  "anstream",
186
221
  "anstyle",
@@ -191,9 +226,9 @@ dependencies = [
191
226
 
192
227
  [[package]]
193
228
  name = "clap_derive"
194
- version = "4.5.4"
229
+ version = "4.5.11"
195
230
  source = "registry+https://github.com/rust-lang/crates.io-index"
196
- checksum = "528131438037fd55894f62d6e9f068b8f45ac57ffa77517819645d10aed04f64"
231
+ checksum = "5d029b67f89d30bbb547c89fd5161293c0aec155fc691d7924b64550662db93e"
197
232
  dependencies = [
198
233
  "heck",
199
234
  "proc-macro2",
@@ -203,15 +238,15 @@ dependencies = [
203
238
 
204
239
  [[package]]
205
240
  name = "clap_lex"
206
- version = "0.7.0"
241
+ version = "0.7.2"
207
242
  source = "registry+https://github.com/rust-lang/crates.io-index"
208
- checksum = "98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce"
243
+ checksum = "1462739cb27611015575c0c11df5df7601141071f07518d56fcc1be504cbec97"
209
244
 
210
245
  [[package]]
211
246
  name = "colorchoice"
212
- version = "1.0.1"
247
+ version = "1.0.2"
213
248
  source = "registry+https://github.com/rust-lang/crates.io-index"
214
- checksum = "0b6a852b24ab71dffc585bcb46eaf7959d175cb865a7152e35b348d1b2960422"
249
+ checksum = "d3fd119d74b830634cea2a0f58bbd0d54540518a14397557951e79340abc28c0"
215
250
 
216
251
  [[package]]
217
252
  name = "commonmarker"
@@ -227,12 +262,13 @@ dependencies = [
227
262
 
228
263
  [[package]]
229
264
  name = "comrak"
230
- version = "0.24.1"
265
+ version = "0.30.0"
231
266
  source = "registry+https://github.com/rust-lang/crates.io-index"
232
- checksum = "5a972c8ec1be8065f7b597b5f7f5b3be535db780280644aebdcd1966decf58dc"
267
+ checksum = "949f8e6b02ebac005a8be2df9ec0876cafc83fdb9c510796c37f0fadf92dcd0e"
233
268
  dependencies = [
269
+ "bon",
270
+ "caseless",
234
271
  "clap",
235
- "derive_builder",
236
272
  "emojis",
237
273
  "entities",
238
274
  "memchr",
@@ -257,9 +293,9 @@ dependencies = [
257
293
 
258
294
  [[package]]
259
295
  name = "darling"
260
- version = "0.20.9"
296
+ version = "0.20.10"
261
297
  source = "registry+https://github.com/rust-lang/crates.io-index"
262
- checksum = "83b2eb4d90d12bdda5ed17de686c2acb4c57914f8f921b8da7e112b5a36f3fe1"
298
+ checksum = "6f63b86c8a8826a49b8c21f08a2d07338eec8d900540f8630dc76284be802989"
263
299
  dependencies = [
264
300
  "darling_core",
265
301
  "darling_macro",
@@ -267,9 +303,9 @@ dependencies = [
267
303
 
268
304
  [[package]]
269
305
  name = "darling_core"
270
- version = "0.20.9"
306
+ version = "0.20.10"
271
307
  source = "registry+https://github.com/rust-lang/crates.io-index"
272
- checksum = "622687fe0bac72a04e5599029151f5796111b90f1baaa9b544d807a5e31cd120"
308
+ checksum = "95133861a8032aaea082871032f5815eb9e98cef03fa916ab4500513994df9e5"
273
309
  dependencies = [
274
310
  "fnv",
275
311
  "ident_case",
@@ -281,9 +317,9 @@ dependencies = [
281
317
 
282
318
  [[package]]
283
319
  name = "darling_macro"
284
- version = "0.20.9"
320
+ version = "0.20.10"
285
321
  source = "registry+https://github.com/rust-lang/crates.io-index"
286
- checksum = "733cabb43482b1a1b53eee8583c2b9e8684d592215ea83efd305dd31bc2f0178"
322
+ checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806"
287
323
  dependencies = [
288
324
  "darling_core",
289
325
  "quote",
@@ -299,37 +335,6 @@ dependencies = [
299
335
  "powerfmt",
300
336
  ]
301
337
 
302
- [[package]]
303
- name = "derive_builder"
304
- version = "0.20.0"
305
- source = "registry+https://github.com/rust-lang/crates.io-index"
306
- checksum = "0350b5cb0331628a5916d6c5c0b72e97393b8b6b03b47a9284f4e7f5a405ffd7"
307
- dependencies = [
308
- "derive_builder_macro",
309
- ]
310
-
311
- [[package]]
312
- name = "derive_builder_core"
313
- version = "0.20.0"
314
- source = "registry+https://github.com/rust-lang/crates.io-index"
315
- checksum = "d48cda787f839151732d396ac69e3473923d54312c070ee21e9effcaa8ca0b1d"
316
- dependencies = [
317
- "darling",
318
- "proc-macro2",
319
- "quote",
320
- "syn",
321
- ]
322
-
323
- [[package]]
324
- name = "derive_builder_macro"
325
- version = "0.20.0"
326
- source = "registry+https://github.com/rust-lang/crates.io-index"
327
- checksum = "206868b8242f27cecce124c19fd88157fbd0dd334df2587f36417bafbc85097b"
328
- dependencies = [
329
- "derive_builder_core",
330
- "syn",
331
- ]
332
-
333
338
  [[package]]
334
339
  name = "deunicode"
335
340
  version = "1.6.0"
@@ -338,15 +343,15 @@ checksum = "339544cc9e2c4dc3fc7149fd630c5f22263a4fdf18a98afd0075784968b5cf00"
338
343
 
339
344
  [[package]]
340
345
  name = "either"
341
- version = "1.12.0"
346
+ version = "1.13.0"
342
347
  source = "registry+https://github.com/rust-lang/crates.io-index"
343
- checksum = "3dca9240753cf90908d7e4aac30f630662b02aebaa1b58a3cadabdb23385b58b"
348
+ checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0"
344
349
 
345
350
  [[package]]
346
351
  name = "emojis"
347
- version = "0.6.2"
352
+ version = "0.6.3"
348
353
  source = "registry+https://github.com/rust-lang/crates.io-index"
349
- checksum = "9f619a926616ae7149a0d82610b051134a0d6c4ae2962d990c06c847a445c5d9"
354
+ checksum = "e72f23d65b46527e461b161ab9a126c378aa2249d8a8d15718d23ab1fb4d8786"
350
355
  dependencies = [
351
356
  "phf",
352
357
  ]
@@ -435,9 +440,9 @@ dependencies = [
435
440
 
436
441
  [[package]]
437
442
  name = "is_terminal_polyfill"
438
- version = "1.70.0"
443
+ version = "1.70.1"
439
444
  source = "registry+https://github.com/rust-lang/crates.io-index"
440
- checksum = "f8478577c03552c21db0e2724ffb8986a5ce7af88107e6be5d2ee6e158c12800"
445
+ checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf"
441
446
 
442
447
  [[package]]
443
448
  name = "itertools"
@@ -456,9 +461,9 @@ checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b"
456
461
 
457
462
  [[package]]
458
463
  name = "lazy_static"
459
- version = "1.4.0"
464
+ version = "1.5.0"
460
465
  source = "registry+https://github.com/rust-lang/crates.io-index"
461
- checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
466
+ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe"
462
467
 
463
468
  [[package]]
464
469
  name = "lazycell"
@@ -474,20 +479,14 @@ checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c"
474
479
 
475
480
  [[package]]
476
481
  name = "libloading"
477
- version = "0.8.3"
482
+ version = "0.8.5"
478
483
  source = "registry+https://github.com/rust-lang/crates.io-index"
479
- checksum = "0c2a198fb6b0eada2a8df47933734e6d35d350665a33a3593d7164fa52c75c19"
484
+ checksum = "4979f22fdb869068da03c9f7528f8297c6fd2606bc3a4affe42e6a823fdb8da4"
480
485
  dependencies = [
481
486
  "cfg-if",
482
- "windows-targets 0.52.5",
487
+ "windows-targets 0.52.6",
483
488
  ]
484
489
 
485
- [[package]]
486
- name = "line-wrap"
487
- version = "0.2.0"
488
- source = "registry+https://github.com/rust-lang/crates.io-index"
489
- checksum = "dd1bc4d24ad230d21fb898d1116b1801d7adfc449d42026475862ab48b11e70e"
490
-
491
490
  [[package]]
492
491
  name = "linked-hash-map"
493
492
  version = "0.5.6"
@@ -502,15 +501,15 @@ checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89"
502
501
 
503
502
  [[package]]
504
503
  name = "log"
505
- version = "0.4.21"
504
+ version = "0.4.22"
506
505
  source = "registry+https://github.com/rust-lang/crates.io-index"
507
- checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c"
506
+ checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24"
508
507
 
509
508
  [[package]]
510
509
  name = "magnus"
511
- version = "0.6.4"
510
+ version = "0.7.1"
512
511
  source = "registry+https://github.com/rust-lang/crates.io-index"
513
- checksum = "b1597ef40aa8c36be098249e82c9a20cf7199278ac1c1a1a995eeead6a184479"
512
+ checksum = "3d87ae53030f3a22e83879e666cb94e58a7bdf31706878a0ba48752994146dab"
514
513
  dependencies = [
515
514
  "magnus-macros",
516
515
  "rb-sys",
@@ -531,9 +530,9 @@ dependencies = [
531
530
 
532
531
  [[package]]
533
532
  name = "memchr"
534
- version = "2.7.2"
533
+ version = "2.7.4"
535
534
  source = "registry+https://github.com/rust-lang/crates.io-index"
536
- checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d"
535
+ checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3"
537
536
 
538
537
  [[package]]
539
538
  name = "minimal-lexical"
@@ -543,9 +542,9 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
543
542
 
544
543
  [[package]]
545
544
  name = "miniz_oxide"
546
- version = "0.7.3"
545
+ version = "0.7.4"
547
546
  source = "registry+https://github.com/rust-lang/crates.io-index"
548
- checksum = "87dfd01fe195c66b572b37921ad8803d010623c0aca821bea2302239d155cdae"
547
+ checksum = "b8a240ddb74feaf34a79a7add65a741f3167852fba007066dcac1ca548d89c08"
549
548
  dependencies = [
550
549
  "adler",
551
550
  ]
@@ -620,13 +619,12 @@ checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec"
620
619
 
621
620
  [[package]]
622
621
  name = "plist"
623
- version = "1.6.1"
622
+ version = "1.7.0"
624
623
  source = "registry+https://github.com/rust-lang/crates.io-index"
625
- checksum = "d9d34169e64b3c7a80c8621a48adaf44e0cf62c78a9b25dd9dd35f1881a17cf9"
624
+ checksum = "42cf17e9a1800f5f396bc67d193dc9411b59012a5876445ef450d449881e1016"
626
625
  dependencies = [
627
626
  "base64",
628
627
  "indexmap",
629
- "line-wrap",
630
628
  "quick-xml",
631
629
  "serde",
632
630
  "time",
@@ -638,20 +636,30 @@ version = "0.2.0"
638
636
  source = "registry+https://github.com/rust-lang/crates.io-index"
639
637
  checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391"
640
638
 
639
+ [[package]]
640
+ name = "prettyplease"
641
+ version = "0.2.25"
642
+ source = "registry+https://github.com/rust-lang/crates.io-index"
643
+ checksum = "64d1ec885c64d0457d564db4ec299b2dae3f9c02808b8ad9c3a089c591b18033"
644
+ dependencies = [
645
+ "proc-macro2",
646
+ "syn",
647
+ ]
648
+
641
649
  [[package]]
642
650
  name = "proc-macro2"
643
- version = "1.0.83"
651
+ version = "1.0.92"
644
652
  source = "registry+https://github.com/rust-lang/crates.io-index"
645
- checksum = "0b33eb56c327dec362a9e55b3ad14f9d2f0904fb5a5b03b513ab5465399e9f43"
653
+ checksum = "37d3544b3f2748c54e147655edb5025752e2303145b5aefb3c3ea2c78b973bb0"
646
654
  dependencies = [
647
655
  "unicode-ident",
648
656
  ]
649
657
 
650
658
  [[package]]
651
659
  name = "quick-xml"
652
- version = "0.31.0"
660
+ version = "0.32.0"
653
661
  source = "registry+https://github.com/rust-lang/crates.io-index"
654
- checksum = "1004a344b30a54e2ee58d66a71b32d2db2feb0a31f9a2d302bf0536f15de2a33"
662
+ checksum = "1d3a6e5838b60e0e8fa7a43f22ade549a37d61f8bdbe636d0d7816191de969c2"
655
663
  dependencies = [
656
664
  "memchr",
657
665
  ]
@@ -667,18 +675,18 @@ dependencies = [
667
675
 
668
676
  [[package]]
669
677
  name = "rb-sys"
670
- version = "0.9.97"
678
+ version = "0.9.103"
671
679
  source = "registry+https://github.com/rust-lang/crates.io-index"
672
- checksum = "47d30bcad206b51f2f66121190ca678dce1fdf3a2eae0ac5d838d1818b19bdf5"
680
+ checksum = "91dbe37ab6ac2fba187480fb6544b92445e41e5c6f553bf0c33743f3c450a1df"
673
681
  dependencies = [
674
682
  "rb-sys-build",
675
683
  ]
676
684
 
677
685
  [[package]]
678
686
  name = "rb-sys-build"
679
- version = "0.9.97"
687
+ version = "0.9.103"
680
688
  source = "registry+https://github.com/rust-lang/crates.io-index"
681
- checksum = "3cbd92f281615f3c2dcb9dcb0f0576624752afbf9a7f99173b37c4b55b62dd8a"
689
+ checksum = "c4d56a49dcb646b70b758789c0d16c055a386a4f2a3346333abb69850fa860ce"
682
690
  dependencies = [
683
691
  "bindgen",
684
692
  "lazy_static",
@@ -703,9 +711,9 @@ checksum = "e03e7866abec1101869ffa8e2c8355c4c2419d0214ece0cc3e428e5b94dea6e9"
703
711
 
704
712
  [[package]]
705
713
  name = "regex"
706
- version = "1.10.4"
714
+ version = "1.10.5"
707
715
  source = "registry+https://github.com/rust-lang/crates.io-index"
708
- checksum = "c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c"
716
+ checksum = "b91213439dad192326a0d7c6ee3955910425f441d7038e0d6933b0aec5c4517f"
709
717
  dependencies = [
710
718
  "aho-corasick",
711
719
  "memchr",
@@ -715,9 +723,9 @@ dependencies = [
715
723
 
716
724
  [[package]]
717
725
  name = "regex-automata"
718
- version = "0.4.6"
726
+ version = "0.4.7"
719
727
  source = "registry+https://github.com/rust-lang/crates.io-index"
720
- checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea"
728
+ checksum = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df"
721
729
  dependencies = [
722
730
  "aho-corasick",
723
731
  "memchr",
@@ -726,9 +734,9 @@ dependencies = [
726
734
 
727
735
  [[package]]
728
736
  name = "regex-syntax"
729
- version = "0.8.3"
737
+ version = "0.8.4"
730
738
  source = "registry+https://github.com/rust-lang/crates.io-index"
731
- checksum = "adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56"
739
+ checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b"
732
740
 
733
741
  [[package]]
734
742
  name = "rustc-hash"
@@ -742,13 +750,19 @@ version = "0.38.34"
742
750
  source = "registry+https://github.com/rust-lang/crates.io-index"
743
751
  checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f"
744
752
  dependencies = [
745
- "bitflags 2.5.0",
753
+ "bitflags 2.6.0",
746
754
  "errno",
747
755
  "libc",
748
756
  "linux-raw-sys",
749
757
  "windows-sys 0.52.0",
750
758
  ]
751
759
 
760
+ [[package]]
761
+ name = "rustversion"
762
+ version = "1.0.18"
763
+ source = "registry+https://github.com/rust-lang/crates.io-index"
764
+ checksum = "0e819f2bc632f285be6d7cd36e25940d45b2391dd6d9b939e79de557f7014248"
765
+
752
766
  [[package]]
753
767
  name = "ryu"
754
768
  version = "1.0.18"
@@ -772,18 +786,18 @@ checksum = "a3f0bf26fd526d2a95683cd0f87bf103b8539e2ca1ef48ce002d67aad59aa0b4"
772
786
 
773
787
  [[package]]
774
788
  name = "serde"
775
- version = "1.0.202"
789
+ version = "1.0.204"
776
790
  source = "registry+https://github.com/rust-lang/crates.io-index"
777
- checksum = "226b61a0d411b2ba5ff6d7f73a476ac4f8bb900373459cd00fab8512828ba395"
791
+ checksum = "bc76f558e0cbb2a839d37354c575f1dc3fdc6546b5be373ba43d95f231bf7c12"
778
792
  dependencies = [
779
793
  "serde_derive",
780
794
  ]
781
795
 
782
796
  [[package]]
783
797
  name = "serde_derive"
784
- version = "1.0.202"
798
+ version = "1.0.204"
785
799
  source = "registry+https://github.com/rust-lang/crates.io-index"
786
- checksum = "6048858004bcff69094cd972ed40a32500f153bd3be9f716b2eed2e8217c4838"
800
+ checksum = "e0cd7e117be63d3c3678776753929474f3b04a43a080c744d6b0ae2a8c28e222"
787
801
  dependencies = [
788
802
  "proc-macro2",
789
803
  "quote",
@@ -792,11 +806,12 @@ dependencies = [
792
806
 
793
807
  [[package]]
794
808
  name = "serde_json"
795
- version = "1.0.117"
809
+ version = "1.0.121"
796
810
  source = "registry+https://github.com/rust-lang/crates.io-index"
797
- checksum = "455182ea6142b14f93f4bc5320a2b31c1f266b66a4a5c858b013302a5d8cbfc3"
811
+ checksum = "4ab380d7d9f22ef3f21ad3e6c1ebe8e4fc7a2000ccba2e4d71fc96f15b2cb609"
798
812
  dependencies = [
799
813
  "itoa",
814
+ "memchr",
800
815
  "ryu",
801
816
  "serde",
802
817
  ]
@@ -837,9 +852,9 @@ checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f"
837
852
 
838
853
  [[package]]
839
854
  name = "syn"
840
- version = "2.0.65"
855
+ version = "2.0.89"
841
856
  source = "registry+https://github.com/rust-lang/crates.io-index"
842
- checksum = "d2863d96a84c6439701d7a38f9de935ec562c8832cc55d1dde0f513b52fad106"
857
+ checksum = "44d46482f1c1c87acd84dea20c1bf5ebff4c757009ed6bf19cfd36fb10e92c4e"
843
858
  dependencies = [
844
859
  "proc-macro2",
845
860
  "quote",
@@ -881,18 +896,18 @@ dependencies = [
881
896
 
882
897
  [[package]]
883
898
  name = "thiserror"
884
- version = "1.0.61"
899
+ version = "1.0.63"
885
900
  source = "registry+https://github.com/rust-lang/crates.io-index"
886
- checksum = "c546c80d6be4bc6a00c0f01730c08df82eaa7a7a61f11d656526506112cc1709"
901
+ checksum = "c0342370b38b6a11b6cc11d6a805569958d54cfa061a29969c3b5ce2ea405724"
887
902
  dependencies = [
888
903
  "thiserror-impl",
889
904
  ]
890
905
 
891
906
  [[package]]
892
907
  name = "thiserror-impl"
893
- version = "1.0.61"
908
+ version = "1.0.63"
894
909
  source = "registry+https://github.com/rust-lang/crates.io-index"
895
- checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533"
910
+ checksum = "a4558b58466b9ad7ca0f102865eccc95938dca1a74a856f2b57b6629050da261"
896
911
  dependencies = [
897
912
  "proc-macro2",
898
913
  "quote",
@@ -930,6 +945,21 @@ dependencies = [
930
945
  "time-core",
931
946
  ]
932
947
 
948
+ [[package]]
949
+ name = "tinyvec"
950
+ version = "1.8.0"
951
+ source = "registry+https://github.com/rust-lang/crates.io-index"
952
+ checksum = "445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938"
953
+ dependencies = [
954
+ "tinyvec_macros",
955
+ ]
956
+
957
+ [[package]]
958
+ name = "tinyvec_macros"
959
+ version = "0.1.1"
960
+ source = "registry+https://github.com/rust-lang/crates.io-index"
961
+ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
962
+
933
963
  [[package]]
934
964
  name = "typed-arena"
935
965
  version = "2.0.2"
@@ -942,6 +972,15 @@ version = "1.0.12"
942
972
  source = "registry+https://github.com/rust-lang/crates.io-index"
943
973
  checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
944
974
 
975
+ [[package]]
976
+ name = "unicode-normalization"
977
+ version = "0.1.23"
978
+ source = "registry+https://github.com/rust-lang/crates.io-index"
979
+ checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5"
980
+ dependencies = [
981
+ "tinyvec",
982
+ ]
983
+
945
984
  [[package]]
946
985
  name = "unicode_categories"
947
986
  version = "0.1.1"
@@ -950,9 +989,9 @@ checksum = "39ec24b3121d976906ece63c9daad25b85969647682eee313cb5779fdd69e14e"
950
989
 
951
990
  [[package]]
952
991
  name = "utf8parse"
953
- version = "0.2.1"
992
+ version = "0.2.2"
954
993
  source = "registry+https://github.com/rust-lang/crates.io-index"
955
- checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
994
+ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821"
956
995
 
957
996
  [[package]]
958
997
  name = "walkdir"
@@ -1042,7 +1081,7 @@ version = "0.52.0"
1042
1081
  source = "registry+https://github.com/rust-lang/crates.io-index"
1043
1082
  checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
1044
1083
  dependencies = [
1045
- "windows-targets 0.52.5",
1084
+ "windows-targets 0.52.6",
1046
1085
  ]
1047
1086
 
1048
1087
  [[package]]
@@ -1062,18 +1101,18 @@ dependencies = [
1062
1101
 
1063
1102
  [[package]]
1064
1103
  name = "windows-targets"
1065
- version = "0.52.5"
1104
+ version = "0.52.6"
1066
1105
  source = "registry+https://github.com/rust-lang/crates.io-index"
1067
- checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb"
1106
+ checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"
1068
1107
  dependencies = [
1069
- "windows_aarch64_gnullvm 0.52.5",
1070
- "windows_aarch64_msvc 0.52.5",
1071
- "windows_i686_gnu 0.52.5",
1108
+ "windows_aarch64_gnullvm 0.52.6",
1109
+ "windows_aarch64_msvc 0.52.6",
1110
+ "windows_i686_gnu 0.52.6",
1072
1111
  "windows_i686_gnullvm",
1073
- "windows_i686_msvc 0.52.5",
1074
- "windows_x86_64_gnu 0.52.5",
1075
- "windows_x86_64_gnullvm 0.52.5",
1076
- "windows_x86_64_msvc 0.52.5",
1112
+ "windows_i686_msvc 0.52.6",
1113
+ "windows_x86_64_gnu 0.52.6",
1114
+ "windows_x86_64_gnullvm 0.52.6",
1115
+ "windows_x86_64_msvc 0.52.6",
1077
1116
  ]
1078
1117
 
1079
1118
  [[package]]
@@ -1084,9 +1123,9 @@ checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
1084
1123
 
1085
1124
  [[package]]
1086
1125
  name = "windows_aarch64_gnullvm"
1087
- version = "0.52.5"
1126
+ version = "0.52.6"
1088
1127
  source = "registry+https://github.com/rust-lang/crates.io-index"
1089
- checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263"
1128
+ checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
1090
1129
 
1091
1130
  [[package]]
1092
1131
  name = "windows_aarch64_msvc"
@@ -1096,9 +1135,9 @@ checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
1096
1135
 
1097
1136
  [[package]]
1098
1137
  name = "windows_aarch64_msvc"
1099
- version = "0.52.5"
1138
+ version = "0.52.6"
1100
1139
  source = "registry+https://github.com/rust-lang/crates.io-index"
1101
- checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6"
1140
+ checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
1102
1141
 
1103
1142
  [[package]]
1104
1143
  name = "windows_i686_gnu"
@@ -1108,15 +1147,15 @@ checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
1108
1147
 
1109
1148
  [[package]]
1110
1149
  name = "windows_i686_gnu"
1111
- version = "0.52.5"
1150
+ version = "0.52.6"
1112
1151
  source = "registry+https://github.com/rust-lang/crates.io-index"
1113
- checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670"
1152
+ checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b"
1114
1153
 
1115
1154
  [[package]]
1116
1155
  name = "windows_i686_gnullvm"
1117
- version = "0.52.5"
1156
+ version = "0.52.6"
1118
1157
  source = "registry+https://github.com/rust-lang/crates.io-index"
1119
- checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9"
1158
+ checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
1120
1159
 
1121
1160
  [[package]]
1122
1161
  name = "windows_i686_msvc"
@@ -1126,9 +1165,9 @@ checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
1126
1165
 
1127
1166
  [[package]]
1128
1167
  name = "windows_i686_msvc"
1129
- version = "0.52.5"
1168
+ version = "0.52.6"
1130
1169
  source = "registry+https://github.com/rust-lang/crates.io-index"
1131
- checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf"
1170
+ checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
1132
1171
 
1133
1172
  [[package]]
1134
1173
  name = "windows_x86_64_gnu"
@@ -1138,9 +1177,9 @@ checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
1138
1177
 
1139
1178
  [[package]]
1140
1179
  name = "windows_x86_64_gnu"
1141
- version = "0.52.5"
1180
+ version = "0.52.6"
1142
1181
  source = "registry+https://github.com/rust-lang/crates.io-index"
1143
- checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9"
1182
+ checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
1144
1183
 
1145
1184
  [[package]]
1146
1185
  name = "windows_x86_64_gnullvm"
@@ -1150,9 +1189,9 @@ checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
1150
1189
 
1151
1190
  [[package]]
1152
1191
  name = "windows_x86_64_gnullvm"
1153
- version = "0.52.5"
1192
+ version = "0.52.6"
1154
1193
  source = "registry+https://github.com/rust-lang/crates.io-index"
1155
- checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596"
1194
+ checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"
1156
1195
 
1157
1196
  [[package]]
1158
1197
  name = "windows_x86_64_msvc"
@@ -1162,9 +1201,9 @@ checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
1162
1201
 
1163
1202
  [[package]]
1164
1203
  name = "windows_x86_64_msvc"
1165
- version = "0.52.5"
1204
+ version = "0.52.6"
1166
1205
  source = "registry+https://github.com/rust-lang/crates.io-index"
1167
- checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0"
1206
+ checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
1168
1207
 
1169
1208
  [[package]]
1170
1209
  name = "xdg"
data/README.md CHANGED
@@ -4,7 +4,10 @@ Ruby wrapper for Rust's [comrak](https://github.com/kivikakk/comrak) crate.
4
4
 
5
5
  It passes all of the CommonMark test suite, and is therefore spec-complete. It also includes extensions to the CommonMark spec as documented in the [GitHub Flavored Markdown spec](http://github.github.com/gfm/), such as support for tables, strikethroughs, and autolinking.
6
6
 
7
- For more information on available extensions, see [the documentation below](#extension-options).
7
+ > [!NOTE]
8
+ > By default, several extensions not in any spec have been enabled, for the sake of end user convenience when generating HTML.
9
+ >
10
+ > For more information on the available options and extensions, see [the documentation below](#options-and-plugins).
8
11
 
9
12
  ## Installation
10
13
 
@@ -86,7 +89,7 @@ You can also modify the following attributes:
86
89
  You can use `walk` or `each` to iterate over nodes:
87
90
 
88
91
  - `walk` will iterate on a node and recursively iterate on a node's children.
89
- - `each` will iterate on a node and its children, but no further.
92
+ - `each` will iterate on a node's direct children, but no further.
90
93
 
91
94
  ```ruby
92
95
  require 'commonmarker'
@@ -147,15 +150,16 @@ Commonmarker.to_html('"Hi *there*"', options:{
147
150
  })
148
151
  ```
149
152
 
150
- Note that there is a distinction in comrak for "parse" options and "render" options, which are represented in the tables below.
153
+ Note that there is a distinction in comrak for "parse" options and "render" options, which are represented in the tables below. As well, if you wish to disable any-non boolean option, pass in `nil`.
151
154
 
152
155
  ### Parse options
153
156
 
154
- | Name | Description | Default |
155
- | --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ | ------- |
156
- | `smart` | Punctuation (quotes, full-stops and hyphens) are converted into 'smart' punctuation. | `false` |
157
- | `default_info_string` | The default info string for fenced code blocks. | `""` |
158
- | `relaxed_autolinks` | Enable relaxing of the autolink extension parsing, allowing links to be recognized when in brackets, as well as permitting any url scheme. | `false` |
157
+ | Name | Description | Default |
158
+ | --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------- |
159
+ | `smart` | Punctuation (quotes, full-stops and hyphens) are converted into 'smart' punctuation. | `false` |
160
+ | `default_info_string` | The default info string for fenced code blocks. | `""` |
161
+ | `relaxed_tasklist_matching` | Enables relaxing of the tasklist extension matching, allowing any non-space to be used for the "checked" state instead of only `x` and `X`. | `false` |
162
+ | `relaxed_autolinks` | Enable relaxing of the autolink extension parsing, allowing links to be recognized when in brackets, as well as permitting any url scheme. | `false` |
159
163
 
160
164
  ### Render options
161
165
 
@@ -163,38 +167,48 @@ Note that there is a distinction in comrak for "parse" options and "render" opti
163
167
  | -------------------- | ------------------------------------------------------------------------------------------------------ | ------- |
164
168
  | `hardbreaks` | [Soft line breaks](http://spec.commonmark.org/0.27/#soft-line-breaks) translate into hard line breaks. | `true` |
165
169
  | `github_pre_lang` | GitHub-style `<pre lang="xyz">` is used for fenced code blocks with info tags. | `true` |
170
+ | `full_info_string` | Gives info string data after a space in a `data-meta` attribute on code blocks. | `false` |
166
171
  | `width` | The wrap column when outputting CommonMark. | `80` |
167
172
  | `unsafe` | Allow rendering of raw HTML and potentially dangerous links. | `false` |
168
173
  | `escape` | Escape raw HTML instead of clobbering it. | `false` |
169
174
  | `sourcepos` | Include source position attribute in HTML and XML output. | `false` |
170
- | `escaped_char_spans` | Wrap escaped characters in span tags | `true` |
175
+ | `escaped_char_spans` | Wrap escaped characters in span tags. | `true` |
176
+ | `ignore_setext` | Ignores setext-style headings. | `false` |
177
+ | `ignore_empty_links` | Ignores empty links, leaving the Markdown text in place. | `false` |
178
+ | `gfm_quirks` | Outputs HTML with GFM-style quirks; namely, not nesting `<strong>` inlines. | `false` |
179
+ | `prefer_fenced` | Always output fenced code blocks, even where an indented one could be used. | `false` |
171
180
 
172
181
  As well, there are several extensions which you can toggle in the same manner:
173
182
 
174
183
  ```ruby
175
184
  Commonmarker.to_html('"Hi *there*"', options: {
176
185
  extension: { footnotes: true, description_lists: true },
177
- render: { hardbreaks: false}
186
+ render: { hardbreaks: false }
178
187
  })
179
188
  ```
180
189
 
181
190
  ### Extension options
182
191
 
183
- | Name | Description | Default |
184
- | --------------------------- | ------------------------------------------------------------------------------------------------------------------- | ------- |
185
- | `strikethrough` | Enables the [strikethrough extension](https://github.github.com/gfm/#strikethrough-extension-) from the GFM spec. | `true` |
186
- | `tagfilter` | Enables the [tagfilter extension](https://github.github.com/gfm/#disallowed-raw-html-extension-) from the GFM spec. | `true` |
187
- | `table` | Enables the [table extension](https://github.github.com/gfm/#tables-extension-) from the GFM spec. | `true` |
188
- | `autolink` | Enables the [autolink extension](https://github.github.com/gfm/#autolinks-extension-) from the GFM spec. | `true` |
189
- | `tasklist` | Enables the [task list extension](https://github.github.com/gfm/#task-list-items-extension-) from the GFM spec. | `true` |
190
- | `superscript` | Enables the superscript Comrak extension. | `false` |
191
- | `header_ids` | Enables the header IDs Comrak extension. from the GFM spec. | `""` |
192
- | `footnotes` | Enables the footnotes extension per `cmark-gfm`. | `false` |
193
- | `description_lists` | Enables the description lists extension. | `false` |
194
- | `front_matter_delimiter` | Enables the front matter extension. | `""` |
195
- | `shortcodes` | Enables the shortcodes extension. | `true` |
196
- | `multiline_block_quotes` | Enables the multiline block quotes extension. | `false` |
197
- | `math_dollars`, `math_code` | Enables the math extension. | `false` |
192
+ | Name | Description | Default |
193
+ | ----------------------------- | ------------------------------------------------------------------------------------------------------------------- | ------- |
194
+ | `strikethrough` | Enables the [strikethrough extension](https://github.github.com/gfm/#strikethrough-extension-) from the GFM spec. | `true` |
195
+ | `tagfilter` | Enables the [tagfilter extension](https://github.github.com/gfm/#disallowed-raw-html-extension-) from the GFM spec. | `true` |
196
+ | `table` | Enables the [table extension](https://github.github.com/gfm/#tables-extension-) from the GFM spec. | `true` |
197
+ | `autolink` | Enables the [autolink extension](https://github.github.com/gfm/#autolinks-extension-) from the GFM spec. | `true` |
198
+ | `tasklist` | Enables the [task list extension](https://github.github.com/gfm/#task-list-items-extension-) from the GFM spec. | `true` |
199
+ | `superscript` | Enables the superscript Comrak extension. | `false` |
200
+ | `header_ids` | Enables the header IDs Comrak extension. from the GFM spec. | `""` |
201
+ | `footnotes` | Enables the footnotes extension per `cmark-gfm`. | `false` |
202
+ | `description_lists` | Enables the description lists extension. | `false` |
203
+ | `front_matter_delimiter` | Enables the front matter extension. | `""` |
204
+ | `multiline_block_quotes` | Enables the multiline block quotes extension. | `false` |
205
+ | `math_dollars`, `math_code` | Enables the math extension. | `false` |
206
+ | `shortcodes` | Enables the shortcodes extension. | `true` |
207
+ | `wikilinks_title_before_pipe` | Enables the wikilinks extension, placing the title before the dividing pipe. | `false` |
208
+ | `wikilinks_title_after_pipe` | Enables the shortcodes extension, placing the title after the dividing pipe. | `false` |
209
+ | `underline` | Enables the underline extension. | `false` |
210
+ | `spoiler` | Enables the spoiler extension. | `false` |
211
+ | `greentext` | Enables the greentext extension. | `false` |
198
212
 
199
213
  For more information on these options, see [the comrak documentation](https://github.com/kivikakk/comrak#usage).
200
214
 
@@ -6,11 +6,11 @@ rust-version = "1.75.0"
6
6
  publish = false
7
7
 
8
8
  [dependencies]
9
- magnus = { version = "0.6", features = ["rb-sys"] }
9
+ magnus = { version = "0.7", features = ["rb-sys"] }
10
10
  rb-sys = { version = "*", default-features = false, features = [
11
11
  "stable-api-compiled-fallback",
12
12
  ] }
13
- comrak = { version = "0.24", features = ["shortcodes"] }
13
+ comrak = { version = "0.30", features = ["shortcodes"] }
14
14
  syntect = { version = "5.2", features = ["plist-load"] }
15
15
  typed-arena = "2.0"
16
16
  rctree = "0.6"
@@ -66,6 +66,7 @@ impl CommonmarkerNode {
66
66
  Option<String>,
67
67
  Option<u8>,
68
68
  Option<bool>,
69
+ Option<bool>,
69
70
  ),
70
71
  (),
71
72
  >(
@@ -78,11 +79,12 @@ impl CommonmarkerNode {
78
79
  "delimiter",
79
80
  "bullet_char",
80
81
  "tight",
82
+ "task_list",
81
83
  ],
82
84
  )?;
83
85
 
84
86
  let (list_type,) = kwargs.required;
85
- let (marker_offset, padding, start, delimiter, bullet_char, tight) =
87
+ let (marker_offset, padding, start, delimiter, bullet_char, tight, task_list) =
86
88
  kwargs.optional;
87
89
 
88
90
  let commonmark_list_type = list_type.to_string();
@@ -121,6 +123,7 @@ impl CommonmarkerNode {
121
123
  // Whether the list is [tight](https://github.github.com/gfm/#tight), i.e. whether the
122
124
  // paragraphs are wrapped in `<p>` tags when formatted as HTML.
123
125
  tight: tight.unwrap_or(false),
126
+ is_task_list: task_list.unwrap_or(false),
124
127
  })
125
128
  }
126
129
  "description_list" => ComrakNodeValue::DescriptionList,
@@ -238,8 +241,9 @@ impl CommonmarkerNode {
238
241
  let (alignments, num_columns, num_rows, num_nonempty_cells) = kwargs.required;
239
242
 
240
243
  let mut comrak_alignments = vec![];
241
- alignments.each().for_each(|alignment| {
242
- match alignment.unwrap().to_string().as_str() {
244
+ alignments
245
+ .into_iter()
246
+ .for_each(|alignment| match alignment.to_string().as_str() {
243
247
  "left" => {
244
248
  comrak_alignments.push(TableAlignment::Left);
245
249
  }
@@ -252,8 +256,7 @@ impl CommonmarkerNode {
252
256
  _ => {
253
257
  comrak_alignments.push(TableAlignment::None);
254
258
  }
255
- }
256
- });
259
+ });
257
260
  ComrakNodeValue::Table(NodeTable {
258
261
  // The table alignments
259
262
  alignments: comrak_alignments,
@@ -335,6 +338,7 @@ impl CommonmarkerNode {
335
338
  "strong" => ComrakNodeValue::Strong,
336
339
  "strikethrough" => ComrakNodeValue::Strikethrough,
337
340
  "superscript" => ComrakNodeValue::Superscript,
341
+ "subscript" => ComrakNodeValue::Subscript,
338
342
  "link" => {
339
343
  let kwargs = scan_args::get_kwargs::<_, (String,), (Option<String>,), ()>(
340
344
  args.keywords,
@@ -401,12 +405,12 @@ impl CommonmarkerNode {
401
405
 
402
406
  let (code,) = kwargs.required;
403
407
 
404
- match NodeShortCode::try_from(code.as_str()) {
405
- Ok(shortcode) => ComrakNodeValue::ShortCode(shortcode),
406
- _ => {
408
+ match NodeShortCode::resolve(code.as_str()) {
409
+ Some(shortcode) => ComrakNodeValue::ShortCode(shortcode),
410
+ None => {
407
411
  return Err(magnus::Error::new(
408
412
  magnus::exception::arg_error(),
409
- "list type must be `bullet` or `ordered`",
413
+ "could not resolve shortcode",
410
414
  ));
411
415
  }
412
416
  }
@@ -462,6 +466,7 @@ impl CommonmarkerNode {
462
466
 
463
467
  ComrakNodeValue::WikiLink(NodeWikiLink { url })
464
468
  }
469
+
465
470
  _ => panic!("unknown node type {}", node_type),
466
471
  };
467
472
 
@@ -549,6 +554,10 @@ impl CommonmarkerNode {
549
554
  ComrakNodeValue::Escaped => Symbol::new("escaped"),
550
555
  ComrakNodeValue::Math(..) => Symbol::new("math"),
551
556
  ComrakNodeValue::WikiLink(..) => Symbol::new("wikilink"),
557
+ ComrakNodeValue::Underline => Symbol::new("underline"),
558
+ ComrakNodeValue::Subscript => Symbol::new("subscript"),
559
+ ComrakNodeValue::SpoileredText => Symbol::new("spoilered_text"),
560
+ ComrakNodeValue::EscapedTag(_) => Symbol::new("escaped_tag"),
552
561
  }
553
562
  }
554
563
 
@@ -10,6 +10,7 @@ use crate::utils::try_convert_string;
10
10
 
11
11
  const PARSE_SMART: &str = "smart";
12
12
  const PARSE_DEFAULT_INFO_STRING: &str = "default_info_string";
13
+ const PARSE_RELAXED_TASKLIST_MATCHING: &str = "relaxed_tasklist_matching";
13
14
  const PARSE_RELAXED_AUTOLINKS: &str = "relaxed_autolinks";
14
15
 
15
16
  fn iterate_parse_options(comrak_options: &mut ComrakOptions, options_hash: RHash) {
@@ -22,6 +23,10 @@ fn iterate_parse_options(comrak_options: &mut ComrakOptions, options_hash: RHash
22
23
  Ok(Cow::Borrowed(PARSE_DEFAULT_INFO_STRING)) => {
23
24
  comrak_options.parse.default_info_string = try_convert_string(value);
24
25
  }
26
+ Ok(Cow::Borrowed(PARSE_RELAXED_TASKLIST_MATCHING)) => {
27
+ comrak_options.parse.relaxed_tasklist_matching =
28
+ TryConvert::try_convert(value)?;
29
+ }
25
30
  Ok(Cow::Borrowed(PARSE_RELAXED_AUTOLINKS)) => {
26
31
  comrak_options.parse.relaxed_autolinks = TryConvert::try_convert(value)?;
27
32
  }
@@ -34,11 +39,16 @@ fn iterate_parse_options(comrak_options: &mut ComrakOptions, options_hash: RHash
34
39
 
35
40
  const RENDER_HARDBREAKS: &str = "hardbreaks";
36
41
  const RENDER_GITHUB_PRE_LANG: &str = "github_pre_lang";
42
+ const RENDER_FULL_INFO_STRING: &str = "full_info_string";
37
43
  const RENDER_WIDTH: &str = "width";
38
44
  const RENDER_UNSAFE: &str = "unsafe";
39
45
  const RENDER_ESCAPE: &str = "escape";
40
46
  const RENDER_SOURCEPOS: &str = "sourcepos";
41
47
  const RENDER_ESCAPED_CHAR_SPANS: &str = "escaped_char_spans";
48
+ const RENDER_IGNORE_SETEXT: &str = "ignore_setext";
49
+ const RENDER_IGNORE_EMPTY_LINKS: &str = "ignore_empty_links";
50
+ const RENDER_GFM_QUIRKS: &str = "gfm_quirks";
51
+ const RENDER_PREFER_FENCED: &str = "prefer_fenced";
42
52
 
43
53
  fn iterate_render_options(comrak_options: &mut ComrakOptions, options_hash: RHash) {
44
54
  options_hash
@@ -50,6 +60,9 @@ fn iterate_render_options(comrak_options: &mut ComrakOptions, options_hash: RHas
50
60
  Ok(Cow::Borrowed(RENDER_GITHUB_PRE_LANG)) => {
51
61
  comrak_options.render.github_pre_lang = TryConvert::try_convert(value)?;
52
62
  }
63
+ Ok(Cow::Borrowed(RENDER_FULL_INFO_STRING)) => {
64
+ comrak_options.render.full_info_string = TryConvert::try_convert(value)?;
65
+ }
53
66
  Ok(Cow::Borrowed(RENDER_WIDTH)) => {
54
67
  comrak_options.render.width = TryConvert::try_convert(value)?;
55
68
  }
@@ -65,6 +78,18 @@ fn iterate_render_options(comrak_options: &mut ComrakOptions, options_hash: RHas
65
78
  Ok(Cow::Borrowed(RENDER_ESCAPED_CHAR_SPANS)) => {
66
79
  comrak_options.render.escaped_char_spans = TryConvert::try_convert(value)?;
67
80
  }
81
+ Ok(Cow::Borrowed(RENDER_IGNORE_SETEXT)) => {
82
+ comrak_options.render.ignore_setext = TryConvert::try_convert(value)?;
83
+ }
84
+ Ok(Cow::Borrowed(RENDER_IGNORE_EMPTY_LINKS)) => {
85
+ comrak_options.render.ignore_empty_links = TryConvert::try_convert(value)?;
86
+ }
87
+ Ok(Cow::Borrowed(RENDER_GFM_QUIRKS)) => {
88
+ comrak_options.render.gfm_quirks = TryConvert::try_convert(value)?;
89
+ }
90
+ Ok(Cow::Borrowed(RENDER_PREFER_FENCED)) => {
91
+ comrak_options.render.prefer_fenced = TryConvert::try_convert(value)?;
92
+ }
68
93
  _ => {}
69
94
  }
70
95
  Ok(ForEach::Continue)
@@ -82,12 +107,16 @@ const EXTENSION_HEADER_IDS: &str = "header_ids";
82
107
  const EXTENSION_FOOTNOTES: &str = "footnotes";
83
108
  const EXTENSION_DESCRIPTION_LISTS: &str = "description_lists";
84
109
  const EXTENSION_FRONT_MATTER_DELIMITER: &str = "front_matter_delimiter";
85
- const EXTENSION_SHORTCODES: &str = "shortcodes";
86
110
  const EXTENSION_MULTILINE_BLOCK_QUOTES: &str = "multiline_block_quotes";
87
111
  const EXTENSION_MATH_DOLLARS: &str = "math_dollars";
88
112
  const EXTENSION_MATH_CODE: &str = "math_code";
113
+ const EXTENSION_SHORTCODES: &str = "shortcodes";
89
114
  const EXTENSION_WIKILINKS_TITLE_AFTER_PIPE: &str = "wikilinks_title_after_pipe";
90
115
  const EXTENSION_WIKILINKS_TITLE_BEFORE_PIPE: &str = "wikilinks_title_before_pipe";
116
+ const EXTENSION_UNDERLINE: &str = "underline";
117
+ const EXTENSION_SPOILER: &str = "spoiler";
118
+ const EXTENSION_GREENTEXT: &str = "greentext";
119
+ const EXTENSION_SUBSCRIPT: &str = "subscript";
91
120
 
92
121
  fn iterate_extension_options(comrak_options: &mut ComrakOptions, options_hash: RHash) {
93
122
  options_hash
@@ -127,9 +156,6 @@ fn iterate_extension_options(comrak_options: &mut ComrakOptions, options_hash: R
127
156
  }
128
157
  }
129
158
  }
130
- Ok(Cow::Borrowed(EXTENSION_SHORTCODES)) => {
131
- comrak_options.extension.shortcodes = TryConvert::try_convert(value)?;
132
- }
133
159
  Ok(Cow::Borrowed(EXTENSION_MULTILINE_BLOCK_QUOTES)) => {
134
160
  comrak_options.extension.multiline_block_quotes =
135
161
  TryConvert::try_convert(value)?;
@@ -140,6 +166,9 @@ fn iterate_extension_options(comrak_options: &mut ComrakOptions, options_hash: R
140
166
  Ok(Cow::Borrowed(EXTENSION_MATH_CODE)) => {
141
167
  comrak_options.extension.math_code = TryConvert::try_convert(value)?;
142
168
  }
169
+ Ok(Cow::Borrowed(EXTENSION_SHORTCODES)) => {
170
+ comrak_options.extension.shortcodes = TryConvert::try_convert(value)?;
171
+ }
143
172
  Ok(Cow::Borrowed(EXTENSION_WIKILINKS_TITLE_AFTER_PIPE)) => {
144
173
  comrak_options.extension.wikilinks_title_after_pipe =
145
174
  TryConvert::try_convert(value)?;
@@ -148,6 +177,18 @@ fn iterate_extension_options(comrak_options: &mut ComrakOptions, options_hash: R
148
177
  comrak_options.extension.wikilinks_title_before_pipe =
149
178
  TryConvert::try_convert(value)?;
150
179
  }
180
+ Ok(Cow::Borrowed(EXTENSION_UNDERLINE)) => {
181
+ comrak_options.extension.underline = TryConvert::try_convert(value)?;
182
+ }
183
+ Ok(Cow::Borrowed(EXTENSION_SPOILER)) => {
184
+ comrak_options.extension.spoiler = TryConvert::try_convert(value)?;
185
+ }
186
+ Ok(Cow::Borrowed(EXTENSION_GREENTEXT)) => {
187
+ comrak_options.extension.greentext = TryConvert::try_convert(value)?;
188
+ }
189
+ Ok(Cow::Borrowed(EXTENSION_SUBSCRIPT)) => {
190
+ comrak_options.extension.subscript = TryConvert::try_convert(value)?;
191
+ }
151
192
  _ => {}
152
193
  }
153
194
  Ok(ForEach::Continue)
@@ -8,16 +8,22 @@ module Commonmarker
8
8
  parse: {
9
9
  smart: false,
10
10
  default_info_string: "",
11
+ relaxed_tasklist_matching: false,
11
12
  relaxed_autolinks: false,
12
13
  }.freeze,
13
14
  render: {
14
15
  hardbreaks: true,
15
16
  github_pre_lang: true,
17
+ full_info_string: false,
16
18
  width: 80,
17
19
  unsafe: false,
18
20
  escape: false,
19
21
  sourcepos: false,
20
22
  escaped_char_spans: true,
23
+ ignore_setext: false,
24
+ ignore_empty_links: false,
25
+ gfm_quirks: false,
26
+ prefer_fenced: false,
21
27
  }.freeze,
22
28
  extension: {
23
29
  strikethrough: true,
@@ -30,13 +36,17 @@ module Commonmarker
30
36
  footnotes: false,
31
37
  description_lists: false,
32
38
  front_matter_delimiter: "",
33
- shortcodes: true,
34
39
  multiline_block_quotes: false,
35
40
  math_dollars: false,
36
41
  math_code: false,
42
+ shortcodes: true,
37
43
  wikilinks_title_before_pipe: false,
38
44
  wikilinks_title_after_pipe: false,
39
- },
45
+ underline: false,
46
+ spoiler: false,
47
+ greentext: false,
48
+ subscript: false,
49
+ }.freeze,
40
50
  format: [:html].freeze,
41
51
  }.freeze
42
52
 
@@ -50,10 +60,6 @@ module Commonmarker
50
60
  class << self
51
61
  include Commonmarker::Utils
52
62
 
53
- def merged_with_defaults(options)
54
- Commonmarker::Config::OPTIONS.merge(process_options(options))
55
- end
56
-
57
63
  def process_options(options)
58
64
  {
59
65
  parse: process_parse_options(options[:parse]),
@@ -70,37 +76,30 @@ module Commonmarker
70
76
  end
71
77
 
72
78
  [:parse, :render, :extension].each do |type|
73
- define_singleton_method :"process_#{type}_options" do |option|
79
+ define_singleton_method :"process_#{type}_options" do |options|
74
80
  Commonmarker::Config::OPTIONS[type].each_with_object({}) do |(key, value), hash|
75
- if option.nil? # option not provided, go for the default
81
+ if options.nil? || !options.key?(key) # option not provided, use the default
76
82
  hash[key] = value
77
83
  next
78
84
  end
79
85
 
80
- # option explicitly not included, remove it
81
- next if option[key].nil?
86
+ if options[key].nil? # # option explicitly not included, remove it
87
+ options.delete(key)
88
+ next
89
+ end
82
90
 
83
- hash[key] = fetch_kv(option, key, value, type)
91
+ hash[key] = fetch_kv(options, key, value, type)
84
92
  end
85
93
  end
86
94
  end
87
95
 
88
- [:syntax_highlighter].each do |type|
89
- define_singleton_method :"process_#{type}_plugin" do |plugin|
90
- return if plugin.nil? # plugin explicitly nil, remove it
96
+ define_singleton_method :process_syntax_highlighter_plugin do |options|
97
+ return if options.nil? # plugin explicitly nil, remove it
91
98
 
92
- Commonmarker::Config::PLUGINS[type].each_with_object({}) do |(key, value), hash|
93
- if plugin.nil? # option not provided, go for the default
94
- hash[key] = value
95
- next
96
- end
99
+ raise TypeError, "Expected a Hash for syntax_highlighter plugin, got #{options.class}" unless options.is_a?(Hash)
100
+ raise TypeError, "Expected a Hash for syntax_highlighter plugin, got nothing" if options.empty?
97
101
 
98
- # option explicitly not included, remove it
99
- next if plugin[key].nil?
100
-
101
- hash[key] = fetch_kv(plugin, key, value, type)
102
- end
103
- end
102
+ Commonmarker::Config::PLUGINS[:syntax_highlighter].merge(options)
104
103
  end
105
104
  end
106
105
  end
@@ -6,16 +6,16 @@ module Commonmarker
6
6
  module Utils
7
7
  include Commonmarker::Constants
8
8
 
9
- def fetch_kv(option, key, value, type)
9
+ def fetch_kv(options, key, value, type)
10
10
  value_klass = value.class
11
11
 
12
- if Constants::BOOLS.include?(value) && BOOLS.include?(option[key])
13
- option[key]
14
- elsif option[key].is_a?(value_klass)
15
- option[key]
12
+ if Constants::BOOLS.include?(value) && BOOLS.include?(options[key])
13
+ options[key]
14
+ elsif options[key].is_a?(value_klass)
15
+ options[key]
16
16
  else
17
17
  expected_type = Constants::BOOLS.include?(value) ? "Boolean" : value_klass.to_s
18
- raise TypeError, "#{type} option `:#{key}` must be #{expected_type}; got #{option[key].class}"
18
+ raise TypeError, "#{type} option `:#{key}` must be #{expected_type}; got #{options[key].class}"
19
19
  end
20
20
  end
21
21
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Commonmarker
4
- VERSION = "1.1.4"
4
+ VERSION = "2.0.0"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: commonmarker
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.4
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Garen Torikian
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2024-06-03 00:00:00.000000000 Z
12
+ date: 2024-11-25 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rb_sys