gitlab-glfm-markdown 0.0.7-aarch64-linux → 0.0.8-aarch64-linux
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 +4 -4
- data/Cargo.lock +196 -210
- data/README.md +3 -3
- data/ext/glfm_markdown/Cargo.toml +10 -6
- data/ext/glfm_markdown/extconf.rb +3 -1
- data/ext/glfm_markdown/src/glfm.rs +33 -11
- data/ext/glfm_markdown/src/lib.rs +26 -3
- data/ext/glfm_markdown/src/main.rs +121 -41
- data/lib/glfm_markdown/2.7/glfm_markdown.so +0 -0
- data/lib/glfm_markdown/3.0/glfm_markdown.so +0 -0
- data/lib/glfm_markdown/3.1/glfm_markdown.so +0 -0
- data/lib/glfm_markdown/3.2/glfm_markdown.so +0 -0
- data/lib/glfm_markdown/version.rb +1 -1
- data/lib/glfm_markdown.rb +21 -2
- metadata +7 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: dfeb1e25b5c91d5e7961bca773919aff60541d9bec0c57e2749f0161b2c507a6
|
4
|
+
data.tar.gz: 8e752e2db419cb433c84682f95c9e98c761486d60e6a215dc679689823deebf5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2a29fdc7529ac71410bd02eb31a6212b64b699620feaf8e53247cc4c34bcdae7ee344974a6e187916e02b07b48a3d49ec8a2067893d8642bc6251fba29721e1e
|
7
|
+
data.tar.gz: f2736301fec4cceb6ba79766dd8613cabeed6f3629e0867c40130d2d274b5fcaf37cb0192872aedb4274d7c69f32ff7795574a0beab34e3e709272fe70592ba0
|
data/Cargo.lock
CHANGED
@@ -19,29 +19,14 @@ dependencies = [
|
|
19
19
|
|
20
20
|
[[package]]
|
21
21
|
name = "anstream"
|
22
|
-
version = "0.
|
22
|
+
version = "0.6.5"
|
23
23
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
24
|
-
checksum = "
|
24
|
+
checksum = "d664a92ecae85fd0a7392615844904654d1d5f5514837f471ddef4a057aba1b6"
|
25
25
|
dependencies = [
|
26
26
|
"anstyle",
|
27
27
|
"anstyle-parse",
|
28
28
|
"anstyle-query",
|
29
|
-
"anstyle-wincon
|
30
|
-
"colorchoice",
|
31
|
-
"is-terminal",
|
32
|
-
"utf8parse",
|
33
|
-
]
|
34
|
-
|
35
|
-
[[package]]
|
36
|
-
name = "anstream"
|
37
|
-
version = "0.6.4"
|
38
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
39
|
-
checksum = "2ab91ebe16eb252986481c5b62f6098f3b698a45e34b5b98200cf20dd2484a44"
|
40
|
-
dependencies = [
|
41
|
-
"anstyle",
|
42
|
-
"anstyle-parse",
|
43
|
-
"anstyle-query",
|
44
|
-
"anstyle-wincon 3.0.1",
|
29
|
+
"anstyle-wincon",
|
45
30
|
"colorchoice",
|
46
31
|
"utf8parse",
|
47
32
|
]
|
@@ -54,59 +39,37 @@ checksum = "7079075b41f533b8c61d2a4d073c4676e1f8b249ff94a393b0595db304e0dd87"
|
|
54
39
|
|
55
40
|
[[package]]
|
56
41
|
name = "anstyle-parse"
|
57
|
-
version = "0.2.
|
42
|
+
version = "0.2.3"
|
58
43
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
59
|
-
checksum = "
|
44
|
+
checksum = "c75ac65da39e5fe5ab759307499ddad880d724eed2f6ce5b5e8a26f4f387928c"
|
60
45
|
dependencies = [
|
61
46
|
"utf8parse",
|
62
47
|
]
|
63
48
|
|
64
49
|
[[package]]
|
65
50
|
name = "anstyle-query"
|
66
|
-
version = "1.0.
|
67
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
68
|
-
checksum = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b"
|
69
|
-
dependencies = [
|
70
|
-
"windows-sys",
|
71
|
-
]
|
72
|
-
|
73
|
-
[[package]]
|
74
|
-
name = "anstyle-wincon"
|
75
|
-
version = "2.1.0"
|
51
|
+
version = "1.0.2"
|
76
52
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
77
|
-
checksum = "
|
53
|
+
checksum = "e28923312444cdd728e4738b3f9c9cac739500909bb3d3c94b43551b16517648"
|
78
54
|
dependencies = [
|
79
|
-
"anstyle",
|
80
55
|
"windows-sys",
|
81
56
|
]
|
82
57
|
|
83
58
|
[[package]]
|
84
59
|
name = "anstyle-wincon"
|
85
|
-
version = "3.0.
|
60
|
+
version = "3.0.2"
|
86
61
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
87
|
-
checksum = "
|
62
|
+
checksum = "1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7"
|
88
63
|
dependencies = [
|
89
64
|
"anstyle",
|
90
65
|
"windows-sys",
|
91
66
|
]
|
92
67
|
|
93
|
-
[[package]]
|
94
|
-
name = "argparse"
|
95
|
-
version = "0.2.2"
|
96
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
97
|
-
checksum = "3f8ebf5827e4ac4fd5946560e6a99776ea73b596d80898f357007317a7141e47"
|
98
|
-
|
99
|
-
[[package]]
|
100
|
-
name = "autocfg"
|
101
|
-
version = "1.1.0"
|
102
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
103
|
-
checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
|
104
|
-
|
105
68
|
[[package]]
|
106
69
|
name = "base64"
|
107
|
-
version = "0.21.
|
70
|
+
version = "0.21.5"
|
108
71
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
109
|
-
checksum = "
|
72
|
+
checksum = "35636a1494ede3b646cc98f74f8e62c773a38a659ebc777a2cf26b9b74171df9"
|
110
73
|
|
111
74
|
[[package]]
|
112
75
|
name = "bincode"
|
@@ -119,11 +82,11 @@ dependencies = [
|
|
119
82
|
|
120
83
|
[[package]]
|
121
84
|
name = "bindgen"
|
122
|
-
version = "0.
|
85
|
+
version = "0.69.1"
|
123
86
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
124
|
-
checksum = "
|
87
|
+
checksum = "9ffcebc3849946a7170a05992aac39da343a90676ab392c51a4280981d6379c2"
|
125
88
|
dependencies = [
|
126
|
-
"bitflags 2.4.
|
89
|
+
"bitflags 2.4.1",
|
127
90
|
"cexpr",
|
128
91
|
"clang-sys",
|
129
92
|
"lazy_static",
|
@@ -134,7 +97,7 @@ dependencies = [
|
|
134
97
|
"regex",
|
135
98
|
"rustc-hash",
|
136
99
|
"shlex",
|
137
|
-
"syn 2.0.
|
100
|
+
"syn 2.0.41",
|
138
101
|
]
|
139
102
|
|
140
103
|
[[package]]
|
@@ -160,9 +123,15 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
|
|
160
123
|
|
161
124
|
[[package]]
|
162
125
|
name = "bitflags"
|
163
|
-
version = "2.4.
|
126
|
+
version = "2.4.1"
|
164
127
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
165
|
-
checksum = "
|
128
|
+
checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07"
|
129
|
+
|
130
|
+
[[package]]
|
131
|
+
name = "bumpalo"
|
132
|
+
version = "3.14.0"
|
133
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
134
|
+
checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec"
|
166
135
|
|
167
136
|
[[package]]
|
168
137
|
name = "cc"
|
@@ -201,9 +170,9 @@ dependencies = [
|
|
201
170
|
|
202
171
|
[[package]]
|
203
172
|
name = "clap"
|
204
|
-
version = "4.4.
|
173
|
+
version = "4.4.11"
|
205
174
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
206
|
-
checksum = "
|
175
|
+
checksum = "bfaff671f6b22ca62406885ece523383b9b64022e341e53e009a62ebc47a45f2"
|
207
176
|
dependencies = [
|
208
177
|
"clap_builder",
|
209
178
|
"clap_derive",
|
@@ -211,34 +180,33 @@ dependencies = [
|
|
211
180
|
|
212
181
|
[[package]]
|
213
182
|
name = "clap_builder"
|
214
|
-
version = "4.4.
|
183
|
+
version = "4.4.11"
|
215
184
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
216
|
-
checksum = "
|
185
|
+
checksum = "a216b506622bb1d316cd51328dce24e07bdff4a6128a47c7e7fad11878d5adbb"
|
217
186
|
dependencies = [
|
218
|
-
"anstream
|
187
|
+
"anstream",
|
219
188
|
"anstyle",
|
220
189
|
"clap_lex",
|
221
190
|
"strsim",
|
222
|
-
"terminal_size",
|
223
191
|
]
|
224
192
|
|
225
193
|
[[package]]
|
226
194
|
name = "clap_derive"
|
227
|
-
version = "4.4.
|
195
|
+
version = "4.4.7"
|
228
196
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
229
|
-
checksum = "
|
197
|
+
checksum = "cf9804afaaf59a91e75b022a30fb7229a7901f60c755489cc61c9b423b836442"
|
230
198
|
dependencies = [
|
231
199
|
"heck",
|
232
200
|
"proc-macro2",
|
233
201
|
"quote",
|
234
|
-
"syn 2.0.
|
202
|
+
"syn 2.0.41",
|
235
203
|
]
|
236
204
|
|
237
205
|
[[package]]
|
238
206
|
name = "clap_lex"
|
239
|
-
version = "0.
|
207
|
+
version = "0.6.0"
|
240
208
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
241
|
-
checksum = "
|
209
|
+
checksum = "702fc72eb24e5a1e48ce58027a675bc24edd52096d5397d4aea7c6dd9eca0bd1"
|
242
210
|
|
243
211
|
[[package]]
|
244
212
|
name = "colorchoice"
|
@@ -248,22 +216,19 @@ checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7"
|
|
248
216
|
|
249
217
|
[[package]]
|
250
218
|
name = "comrak"
|
251
|
-
version = "0.
|
219
|
+
version = "0.20.0"
|
252
220
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
253
|
-
checksum = "
|
221
|
+
checksum = "9f18e72341e6cdc7489cffb76f993812a14a906db54dedb020044ccc211dcaae"
|
254
222
|
dependencies = [
|
255
|
-
"clap",
|
256
223
|
"derive_builder",
|
257
224
|
"entities",
|
258
225
|
"memchr",
|
259
226
|
"once_cell",
|
260
227
|
"regex",
|
261
|
-
"shell-words",
|
262
228
|
"slug",
|
263
229
|
"syntect",
|
264
230
|
"typed-arena",
|
265
231
|
"unicode_categories",
|
266
|
-
"xdg",
|
267
232
|
]
|
268
233
|
|
269
234
|
[[package]]
|
@@ -312,9 +277,12 @@ dependencies = [
|
|
312
277
|
|
313
278
|
[[package]]
|
314
279
|
name = "deranged"
|
315
|
-
version = "0.3.
|
280
|
+
version = "0.3.10"
|
316
281
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
317
|
-
checksum = "
|
282
|
+
checksum = "8eb30d70a07a3b04884d2677f06bec33509dc67ca60d92949e5535352d3191dc"
|
283
|
+
dependencies = [
|
284
|
+
"powerfmt",
|
285
|
+
]
|
318
286
|
|
319
287
|
[[package]]
|
320
288
|
name = "derive_builder"
|
@@ -349,9 +317,9 @@ dependencies = [
|
|
349
317
|
|
350
318
|
[[package]]
|
351
319
|
name = "deunicode"
|
352
|
-
version = "
|
320
|
+
version = "1.4.2"
|
353
321
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
354
|
-
checksum = "
|
322
|
+
checksum = "3ae2a35373c5c74340b79ae6780b498b2b183915ec5dacf263aac5a099bf485a"
|
355
323
|
|
356
324
|
[[package]]
|
357
325
|
name = "entities"
|
@@ -360,14 +328,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
360
328
|
checksum = "b5320ae4c3782150d900b79807611a59a99fc9a1d61d686faafc24b93fc8d7ca"
|
361
329
|
|
362
330
|
[[package]]
|
363
|
-
name = "
|
364
|
-
version = "0.
|
331
|
+
name = "equivalent"
|
332
|
+
version = "1.0.1"
|
365
333
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
366
|
-
checksum = "
|
367
|
-
dependencies = [
|
368
|
-
"libc",
|
369
|
-
"windows-sys",
|
370
|
-
]
|
334
|
+
checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
|
371
335
|
|
372
336
|
[[package]]
|
373
337
|
name = "fancy-regex"
|
@@ -381,9 +345,9 @@ dependencies = [
|
|
381
345
|
|
382
346
|
[[package]]
|
383
347
|
name = "flate2"
|
384
|
-
version = "1.0.
|
348
|
+
version = "1.0.28"
|
385
349
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
386
|
-
checksum = "
|
350
|
+
checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e"
|
387
351
|
dependencies = [
|
388
352
|
"crc32fast",
|
389
353
|
"miniz_oxide",
|
@@ -397,10 +361,9 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
|
|
397
361
|
|
398
362
|
[[package]]
|
399
363
|
name = "glfm_markdown"
|
400
|
-
version = "0.0.
|
364
|
+
version = "0.0.8"
|
401
365
|
dependencies = [
|
402
|
-
"
|
403
|
-
"argparse",
|
366
|
+
"clap",
|
404
367
|
"comrak",
|
405
368
|
"magnus",
|
406
369
|
"rb-sys",
|
@@ -414,9 +377,9 @@ checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
|
|
414
377
|
|
415
378
|
[[package]]
|
416
379
|
name = "hashbrown"
|
417
|
-
version = "0.
|
380
|
+
version = "0.14.3"
|
418
381
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
419
|
-
checksum = "
|
382
|
+
checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604"
|
420
383
|
|
421
384
|
[[package]]
|
422
385
|
name = "heck"
|
@@ -424,12 +387,6 @@ version = "0.4.1"
|
|
424
387
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
425
388
|
checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
|
426
389
|
|
427
|
-
[[package]]
|
428
|
-
name = "hermit-abi"
|
429
|
-
version = "0.3.3"
|
430
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
431
|
-
checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7"
|
432
|
-
|
433
390
|
[[package]]
|
434
391
|
name = "ident_case"
|
435
392
|
version = "1.0.1"
|
@@ -438,30 +395,19 @@ checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39"
|
|
438
395
|
|
439
396
|
[[package]]
|
440
397
|
name = "indexmap"
|
441
|
-
version = "1.
|
398
|
+
version = "2.1.0"
|
442
399
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
443
|
-
checksum = "
|
400
|
+
checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f"
|
444
401
|
dependencies = [
|
445
|
-
"
|
402
|
+
"equivalent",
|
446
403
|
"hashbrown",
|
447
404
|
]
|
448
405
|
|
449
|
-
[[package]]
|
450
|
-
name = "is-terminal"
|
451
|
-
version = "0.4.9"
|
452
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
453
|
-
checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b"
|
454
|
-
dependencies = [
|
455
|
-
"hermit-abi",
|
456
|
-
"rustix",
|
457
|
-
"windows-sys",
|
458
|
-
]
|
459
|
-
|
460
406
|
[[package]]
|
461
407
|
name = "itoa"
|
462
|
-
version = "1.0.
|
408
|
+
version = "1.0.10"
|
463
409
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
464
|
-
checksum = "
|
410
|
+
checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c"
|
465
411
|
|
466
412
|
[[package]]
|
467
413
|
name = "lazy_static"
|
@@ -477,9 +423,9 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55"
|
|
477
423
|
|
478
424
|
[[package]]
|
479
425
|
name = "libc"
|
480
|
-
version = "0.2.
|
426
|
+
version = "0.2.151"
|
481
427
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
482
|
-
checksum = "
|
428
|
+
checksum = "302d7ab3130588088d277783b1e2d2e10c9e9e4a16dd9050e6ec93fb3e7048f4"
|
483
429
|
|
484
430
|
[[package]]
|
485
431
|
name = "libloading"
|
@@ -507,31 +453,32 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
507
453
|
checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f"
|
508
454
|
|
509
455
|
[[package]]
|
510
|
-
name = "
|
511
|
-
version = "0.4.
|
456
|
+
name = "log"
|
457
|
+
version = "0.4.20"
|
512
458
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
513
|
-
checksum = "
|
459
|
+
checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
|
514
460
|
|
515
461
|
[[package]]
|
516
462
|
name = "magnus"
|
517
|
-
version = "0.
|
463
|
+
version = "0.6.2"
|
518
464
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
519
|
-
checksum = "
|
465
|
+
checksum = "4778544796676e8428e9c622460ebf284bea52d8b10db3aeb449d8b5e61b3a13"
|
520
466
|
dependencies = [
|
521
467
|
"magnus-macros",
|
522
468
|
"rb-sys",
|
523
469
|
"rb-sys-env",
|
470
|
+
"seq-macro",
|
524
471
|
]
|
525
472
|
|
526
473
|
[[package]]
|
527
474
|
name = "magnus-macros"
|
528
|
-
version = "0.
|
475
|
+
version = "0.6.0"
|
529
476
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
530
|
-
checksum = "
|
477
|
+
checksum = "5968c820e2960565f647819f5928a42d6e874551cab9d88d75e3e0660d7f71e3"
|
531
478
|
dependencies = [
|
532
479
|
"proc-macro2",
|
533
480
|
"quote",
|
534
|
-
"syn
|
481
|
+
"syn 2.0.41",
|
535
482
|
]
|
536
483
|
|
537
484
|
[[package]]
|
@@ -567,9 +514,9 @@ dependencies = [
|
|
567
514
|
|
568
515
|
[[package]]
|
569
516
|
name = "once_cell"
|
570
|
-
version = "1.
|
517
|
+
version = "1.19.0"
|
571
518
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
572
|
-
checksum = "
|
519
|
+
checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
|
573
520
|
|
574
521
|
[[package]]
|
575
522
|
name = "onig"
|
@@ -607,9 +554,9 @@ checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964"
|
|
607
554
|
|
608
555
|
[[package]]
|
609
556
|
name = "plist"
|
610
|
-
version = "1.
|
557
|
+
version = "1.6.0"
|
611
558
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
612
|
-
checksum = "
|
559
|
+
checksum = "e5699cc8a63d1aa2b1ee8e12b9ad70ac790d65788cd36101fa37f87ea46c4cef"
|
613
560
|
dependencies = [
|
614
561
|
"base64",
|
615
562
|
"indexmap",
|
@@ -619,20 +566,26 @@ dependencies = [
|
|
619
566
|
"time",
|
620
567
|
]
|
621
568
|
|
569
|
+
[[package]]
|
570
|
+
name = "powerfmt"
|
571
|
+
version = "0.2.0"
|
572
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
573
|
+
checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391"
|
574
|
+
|
622
575
|
[[package]]
|
623
576
|
name = "proc-macro2"
|
624
|
-
version = "1.0.
|
577
|
+
version = "1.0.70"
|
625
578
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
626
|
-
checksum = "
|
579
|
+
checksum = "39278fbbf5fb4f646ce651690877f89d1c5811a3d4acb27700c1cb3cdb78fd3b"
|
627
580
|
dependencies = [
|
628
581
|
"unicode-ident",
|
629
582
|
]
|
630
583
|
|
631
584
|
[[package]]
|
632
585
|
name = "quick-xml"
|
633
|
-
version = "0.
|
586
|
+
version = "0.31.0"
|
634
587
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
635
|
-
checksum = "
|
588
|
+
checksum = "1004a344b30a54e2ee58d66a71b32d2db2feb0a31f9a2d302bf0536f15de2a33"
|
636
589
|
dependencies = [
|
637
590
|
"memchr",
|
638
591
|
]
|
@@ -648,18 +601,18 @@ dependencies = [
|
|
648
601
|
|
649
602
|
[[package]]
|
650
603
|
name = "rb-sys"
|
651
|
-
version = "0.9.
|
604
|
+
version = "0.9.84"
|
652
605
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
653
|
-
checksum = "
|
606
|
+
checksum = "3def04a96a36ef8681a2b2e26c01683b93a8630175c845fa06cab76c5a8c7ce0"
|
654
607
|
dependencies = [
|
655
608
|
"rb-sys-build",
|
656
609
|
]
|
657
610
|
|
658
611
|
[[package]]
|
659
612
|
name = "rb-sys-build"
|
660
|
-
version = "0.9.
|
613
|
+
version = "0.9.84"
|
661
614
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
662
|
-
checksum = "
|
615
|
+
checksum = "c017d134afd764dd43c2faa91aa50b698a3bb4ff30e83113da483c789e74be8c"
|
663
616
|
dependencies = [
|
664
617
|
"bindgen",
|
665
618
|
"lazy_static",
|
@@ -667,7 +620,7 @@ dependencies = [
|
|
667
620
|
"quote",
|
668
621
|
"regex",
|
669
622
|
"shell-words",
|
670
|
-
"syn 2.0.
|
623
|
+
"syn 2.0.41",
|
671
624
|
]
|
672
625
|
|
673
626
|
[[package]]
|
@@ -678,25 +631,25 @@ checksum = "a35802679f07360454b418a5d1735c89716bde01d35b1560fc953c1415a0b3bb"
|
|
678
631
|
|
679
632
|
[[package]]
|
680
633
|
name = "regex"
|
681
|
-
version = "1.10.
|
634
|
+
version = "1.10.2"
|
682
635
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
683
|
-
checksum = "
|
636
|
+
checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343"
|
684
637
|
dependencies = [
|
685
638
|
"aho-corasick",
|
686
639
|
"memchr",
|
687
640
|
"regex-automata",
|
688
|
-
"regex-syntax 0.8.
|
641
|
+
"regex-syntax 0.8.2",
|
689
642
|
]
|
690
643
|
|
691
644
|
[[package]]
|
692
645
|
name = "regex-automata"
|
693
|
-
version = "0.4.
|
646
|
+
version = "0.4.3"
|
694
647
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
695
|
-
checksum = "
|
648
|
+
checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f"
|
696
649
|
dependencies = [
|
697
650
|
"aho-corasick",
|
698
651
|
"memchr",
|
699
|
-
"regex-syntax 0.8.
|
652
|
+
"regex-syntax 0.8.2",
|
700
653
|
]
|
701
654
|
|
702
655
|
[[package]]
|
@@ -707,9 +660,9 @@ checksum = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da"
|
|
707
660
|
|
708
661
|
[[package]]
|
709
662
|
name = "regex-syntax"
|
710
|
-
version = "0.8.
|
663
|
+
version = "0.8.2"
|
711
664
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
712
|
-
checksum = "
|
665
|
+
checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
|
713
666
|
|
714
667
|
[[package]]
|
715
668
|
name = "rustc-hash"
|
@@ -717,24 +670,11 @@ version = "1.1.0"
|
|
717
670
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
718
671
|
checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
|
719
672
|
|
720
|
-
[[package]]
|
721
|
-
name = "rustix"
|
722
|
-
version = "0.38.18"
|
723
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
724
|
-
checksum = "5a74ee2d7c2581cd139b42447d7d9389b889bdaad3a73f1ebb16f2a3237bb19c"
|
725
|
-
dependencies = [
|
726
|
-
"bitflags 2.4.0",
|
727
|
-
"errno",
|
728
|
-
"libc",
|
729
|
-
"linux-raw-sys",
|
730
|
-
"windows-sys",
|
731
|
-
]
|
732
|
-
|
733
673
|
[[package]]
|
734
674
|
name = "ryu"
|
735
|
-
version = "1.0.
|
675
|
+
version = "1.0.16"
|
736
676
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
737
|
-
checksum = "
|
677
|
+
checksum = "f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c"
|
738
678
|
|
739
679
|
[[package]]
|
740
680
|
name = "safemem"
|
@@ -751,31 +691,37 @@ dependencies = [
|
|
751
691
|
"winapi-util",
|
752
692
|
]
|
753
693
|
|
694
|
+
[[package]]
|
695
|
+
name = "seq-macro"
|
696
|
+
version = "0.3.5"
|
697
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
698
|
+
checksum = "a3f0bf26fd526d2a95683cd0f87bf103b8539e2ca1ef48ce002d67aad59aa0b4"
|
699
|
+
|
754
700
|
[[package]]
|
755
701
|
name = "serde"
|
756
|
-
version = "1.0.
|
702
|
+
version = "1.0.193"
|
757
703
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
758
|
-
checksum = "
|
704
|
+
checksum = "25dd9975e68d0cb5aa1120c288333fc98731bd1dd12f561e468ea4728c042b89"
|
759
705
|
dependencies = [
|
760
706
|
"serde_derive",
|
761
707
|
]
|
762
708
|
|
763
709
|
[[package]]
|
764
710
|
name = "serde_derive"
|
765
|
-
version = "1.0.
|
711
|
+
version = "1.0.193"
|
766
712
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
767
|
-
checksum = "
|
713
|
+
checksum = "43576ca501357b9b071ac53cdc7da8ef0cbd9493d8df094cd821777ea6e894d3"
|
768
714
|
dependencies = [
|
769
715
|
"proc-macro2",
|
770
716
|
"quote",
|
771
|
-
"syn 2.0.
|
717
|
+
"syn 2.0.41",
|
772
718
|
]
|
773
719
|
|
774
720
|
[[package]]
|
775
721
|
name = "serde_json"
|
776
|
-
version = "1.0.
|
722
|
+
version = "1.0.108"
|
777
723
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
778
|
-
checksum = "
|
724
|
+
checksum = "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b"
|
779
725
|
dependencies = [
|
780
726
|
"itoa",
|
781
727
|
"ryu",
|
@@ -796,11 +742,12 @@ checksum = "a7cee0529a6d40f580e7a5e6c495c8fbfe21b7b52795ed4bb5e62cdf92bc6380"
|
|
796
742
|
|
797
743
|
[[package]]
|
798
744
|
name = "slug"
|
799
|
-
version = "0.1.
|
745
|
+
version = "0.1.5"
|
800
746
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
801
|
-
checksum = "
|
747
|
+
checksum = "3bd94acec9c8da640005f8e135a39fc0372e74535e6b368b7a04b875f784c8c4"
|
802
748
|
dependencies = [
|
803
749
|
"deunicode",
|
750
|
+
"wasm-bindgen",
|
804
751
|
]
|
805
752
|
|
806
753
|
[[package]]
|
@@ -822,9 +769,9 @@ dependencies = [
|
|
822
769
|
|
823
770
|
[[package]]
|
824
771
|
name = "syn"
|
825
|
-
version = "2.0.
|
772
|
+
version = "2.0.41"
|
826
773
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
827
|
-
checksum = "
|
774
|
+
checksum = "44c8b28c477cc3bf0e7966561e3460130e1255f7a1cf71931075f1c5e7a7e269"
|
828
775
|
dependencies = [
|
829
776
|
"proc-macro2",
|
830
777
|
"quote",
|
@@ -853,44 +800,35 @@ dependencies = [
|
|
853
800
|
"yaml-rust",
|
854
801
|
]
|
855
802
|
|
856
|
-
[[package]]
|
857
|
-
name = "terminal_size"
|
858
|
-
version = "0.3.0"
|
859
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
860
|
-
checksum = "21bebf2b7c9e0a515f6e0f8c51dc0f8e4696391e6f1ff30379559f8365fb0df7"
|
861
|
-
dependencies = [
|
862
|
-
"rustix",
|
863
|
-
"windows-sys",
|
864
|
-
]
|
865
|
-
|
866
803
|
[[package]]
|
867
804
|
name = "thiserror"
|
868
|
-
version = "1.0.
|
805
|
+
version = "1.0.51"
|
869
806
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
870
|
-
checksum = "
|
807
|
+
checksum = "f11c217e1416d6f036b870f14e0413d480dbf28edbee1f877abaf0206af43bb7"
|
871
808
|
dependencies = [
|
872
809
|
"thiserror-impl",
|
873
810
|
]
|
874
811
|
|
875
812
|
[[package]]
|
876
813
|
name = "thiserror-impl"
|
877
|
-
version = "1.0.
|
814
|
+
version = "1.0.51"
|
878
815
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
879
|
-
checksum = "
|
816
|
+
checksum = "01742297787513b79cf8e29d1056ede1313e2420b7b3b15d0a768b4921f549df"
|
880
817
|
dependencies = [
|
881
818
|
"proc-macro2",
|
882
819
|
"quote",
|
883
|
-
"syn 2.0.
|
820
|
+
"syn 2.0.41",
|
884
821
|
]
|
885
822
|
|
886
823
|
[[package]]
|
887
824
|
name = "time"
|
888
|
-
version = "0.3.
|
825
|
+
version = "0.3.31"
|
889
826
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
890
|
-
checksum = "
|
827
|
+
checksum = "f657ba42c3f86e7680e53c8cd3af8abbe56b5491790b46e22e19c0d57463583e"
|
891
828
|
dependencies = [
|
892
829
|
"deranged",
|
893
830
|
"itoa",
|
831
|
+
"powerfmt",
|
894
832
|
"serde",
|
895
833
|
"time-core",
|
896
834
|
"time-macros",
|
@@ -904,9 +842,9 @@ checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3"
|
|
904
842
|
|
905
843
|
[[package]]
|
906
844
|
name = "time-macros"
|
907
|
-
version = "0.2.
|
845
|
+
version = "0.2.16"
|
908
846
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
909
|
-
checksum = "
|
847
|
+
checksum = "26197e33420244aeb70c3e8c78376ca46571bc4e701e4791c2cd9f57dcb3a43f"
|
910
848
|
dependencies = [
|
911
849
|
"time-core",
|
912
850
|
]
|
@@ -945,6 +883,60 @@ dependencies = [
|
|
945
883
|
"winapi-util",
|
946
884
|
]
|
947
885
|
|
886
|
+
[[package]]
|
887
|
+
name = "wasm-bindgen"
|
888
|
+
version = "0.2.89"
|
889
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
890
|
+
checksum = "0ed0d4f68a3015cc185aff4db9506a015f4b96f95303897bfa23f846db54064e"
|
891
|
+
dependencies = [
|
892
|
+
"cfg-if",
|
893
|
+
"wasm-bindgen-macro",
|
894
|
+
]
|
895
|
+
|
896
|
+
[[package]]
|
897
|
+
name = "wasm-bindgen-backend"
|
898
|
+
version = "0.2.89"
|
899
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
900
|
+
checksum = "1b56f625e64f3a1084ded111c4d5f477df9f8c92df113852fa5a374dbda78826"
|
901
|
+
dependencies = [
|
902
|
+
"bumpalo",
|
903
|
+
"log",
|
904
|
+
"once_cell",
|
905
|
+
"proc-macro2",
|
906
|
+
"quote",
|
907
|
+
"syn 2.0.41",
|
908
|
+
"wasm-bindgen-shared",
|
909
|
+
]
|
910
|
+
|
911
|
+
[[package]]
|
912
|
+
name = "wasm-bindgen-macro"
|
913
|
+
version = "0.2.89"
|
914
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
915
|
+
checksum = "0162dbf37223cd2afce98f3d0785506dcb8d266223983e4b5b525859e6e182b2"
|
916
|
+
dependencies = [
|
917
|
+
"quote",
|
918
|
+
"wasm-bindgen-macro-support",
|
919
|
+
]
|
920
|
+
|
921
|
+
[[package]]
|
922
|
+
name = "wasm-bindgen-macro-support"
|
923
|
+
version = "0.2.89"
|
924
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
925
|
+
checksum = "f0eb82fcb7930ae6219a7ecfd55b217f5f0893484b7a13022ebb2b2bf20b5283"
|
926
|
+
dependencies = [
|
927
|
+
"proc-macro2",
|
928
|
+
"quote",
|
929
|
+
"syn 2.0.41",
|
930
|
+
"wasm-bindgen-backend",
|
931
|
+
"wasm-bindgen-shared",
|
932
|
+
]
|
933
|
+
|
934
|
+
[[package]]
|
935
|
+
name = "wasm-bindgen-shared"
|
936
|
+
version = "0.2.89"
|
937
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
938
|
+
checksum = "7ab9b36309365056cd639da3134bf87fa8f3d86008abf99e612384a6eecd459f"
|
939
|
+
|
948
940
|
[[package]]
|
949
941
|
name = "winapi"
|
950
942
|
version = "0.3.9"
|
@@ -978,18 +970,18 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
|
|
978
970
|
|
979
971
|
[[package]]
|
980
972
|
name = "windows-sys"
|
981
|
-
version = "0.
|
973
|
+
version = "0.52.0"
|
982
974
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
983
|
-
checksum = "
|
975
|
+
checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
|
984
976
|
dependencies = [
|
985
977
|
"windows-targets",
|
986
978
|
]
|
987
979
|
|
988
980
|
[[package]]
|
989
981
|
name = "windows-targets"
|
990
|
-
version = "0.
|
982
|
+
version = "0.52.0"
|
991
983
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
992
|
-
checksum = "
|
984
|
+
checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd"
|
993
985
|
dependencies = [
|
994
986
|
"windows_aarch64_gnullvm",
|
995
987
|
"windows_aarch64_msvc",
|
@@ -1002,51 +994,45 @@ dependencies = [
|
|
1002
994
|
|
1003
995
|
[[package]]
|
1004
996
|
name = "windows_aarch64_gnullvm"
|
1005
|
-
version = "0.
|
997
|
+
version = "0.52.0"
|
1006
998
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
1007
|
-
checksum = "
|
999
|
+
checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea"
|
1008
1000
|
|
1009
1001
|
[[package]]
|
1010
1002
|
name = "windows_aarch64_msvc"
|
1011
|
-
version = "0.
|
1003
|
+
version = "0.52.0"
|
1012
1004
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
1013
|
-
checksum = "
|
1005
|
+
checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef"
|
1014
1006
|
|
1015
1007
|
[[package]]
|
1016
1008
|
name = "windows_i686_gnu"
|
1017
|
-
version = "0.
|
1009
|
+
version = "0.52.0"
|
1018
1010
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
1019
|
-
checksum = "
|
1011
|
+
checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313"
|
1020
1012
|
|
1021
1013
|
[[package]]
|
1022
1014
|
name = "windows_i686_msvc"
|
1023
|
-
version = "0.
|
1015
|
+
version = "0.52.0"
|
1024
1016
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
1025
|
-
checksum = "
|
1017
|
+
checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a"
|
1026
1018
|
|
1027
1019
|
[[package]]
|
1028
1020
|
name = "windows_x86_64_gnu"
|
1029
|
-
version = "0.
|
1021
|
+
version = "0.52.0"
|
1030
1022
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
1031
|
-
checksum = "
|
1023
|
+
checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd"
|
1032
1024
|
|
1033
1025
|
[[package]]
|
1034
1026
|
name = "windows_x86_64_gnullvm"
|
1035
|
-
version = "0.
|
1027
|
+
version = "0.52.0"
|
1036
1028
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
1037
|
-
checksum = "
|
1029
|
+
checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e"
|
1038
1030
|
|
1039
1031
|
[[package]]
|
1040
1032
|
name = "windows_x86_64_msvc"
|
1041
|
-
version = "0.
|
1042
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
1043
|
-
checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
|
1044
|
-
|
1045
|
-
[[package]]
|
1046
|
-
name = "xdg"
|
1047
|
-
version = "2.5.2"
|
1033
|
+
version = "0.52.0"
|
1048
1034
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
1049
|
-
checksum = "
|
1035
|
+
checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04"
|
1050
1036
|
|
1051
1037
|
[[package]]
|
1052
1038
|
name = "yaml-rust"
|
data/README.md
CHANGED
@@ -25,7 +25,7 @@ Try on command line:
|
|
25
25
|
rake compile
|
26
26
|
bin/console
|
27
27
|
|
28
|
-
GLFMMarkdown.to_html('# header', options: {
|
28
|
+
GLFMMarkdown.to_html('# header', options: { glfm: true })
|
29
29
|
```
|
30
30
|
|
31
31
|
## Development
|
@@ -33,8 +33,8 @@ GLFMMarkdown.to_html('# header', options: {sourcepos: true})
|
|
33
33
|
A command line executable can be built for debugging.
|
34
34
|
|
35
35
|
```
|
36
|
-
|
37
|
-
cargo run --bin glfm_markdown -- --sourcepos
|
36
|
+
cargo run --bin glfm_markdown --features="cli" -- --help
|
37
|
+
cargo run --bin glfm_markdown --features="cli" -- --sourcepos
|
38
38
|
```
|
39
39
|
|
40
40
|
There is a VSCode workspace that allows you to `Debug executable`
|
@@ -1,8 +1,9 @@
|
|
1
1
|
[package]
|
2
2
|
name = "glfm_markdown"
|
3
|
-
version = "0.0.
|
3
|
+
version = "0.0.8"
|
4
4
|
edition = "2021"
|
5
5
|
authors = ["digitalmoksha <bwalker@gitlab.com>"]
|
6
|
+
description = "GitLab Flavored Markdown parser and formatter. 100% CommonMark-compatible. Experimental."
|
6
7
|
publish = false
|
7
8
|
|
8
9
|
[lib]
|
@@ -10,10 +11,13 @@ crate-type = ["cdylib"]
|
|
10
11
|
|
11
12
|
[[bin]]
|
12
13
|
name = "glfm_markdown"
|
14
|
+
required-features = ["cli"]
|
13
15
|
|
14
16
|
[dependencies]
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
17
|
+
clap = { version = "4.0", optional = true, features = ["derive", "string"] }
|
18
|
+
comrak = { version = "0.20.0", default-features = false }
|
19
|
+
magnus = "0.6.2"
|
20
|
+
rb-sys = { version = "0.9.83", default-features = false, features = ["stable-api-compiled-fallback"] }
|
21
|
+
|
22
|
+
[features]
|
23
|
+
cli = ["clap", "comrak/syntect"]
|
@@ -1,6 +1,23 @@
|
|
1
1
|
#[derive(Debug)]
|
2
2
|
pub struct RenderOptions {
|
3
|
+
pub autolink: bool,
|
4
|
+
pub escape: bool,
|
5
|
+
pub description_lists: bool,
|
6
|
+
pub footnotes: bool,
|
7
|
+
pub full_info_string: bool,
|
8
|
+
pub github_pre_lang: bool,
|
9
|
+
pub hardbreaks: bool,
|
10
|
+
pub relaxed_autolinks: bool,
|
11
|
+
pub relaxed_tasklist_character: bool,
|
3
12
|
pub sourcepos: bool,
|
13
|
+
pub smart: bool,
|
14
|
+
pub strikethrough: bool,
|
15
|
+
pub superscript: bool,
|
16
|
+
pub table: bool,
|
17
|
+
pub tagfilter: bool,
|
18
|
+
pub tasklist: bool,
|
19
|
+
pub unsafe_: bool,
|
20
|
+
|
4
21
|
pub debug: bool,
|
5
22
|
}
|
6
23
|
|
@@ -11,20 +28,25 @@ pub fn render(text: String, options: RenderOptions) -> String {
|
|
11
28
|
fn render_comrak(text: String, options: RenderOptions) -> String {
|
12
29
|
let mut comrak_options = comrak::ComrakOptions::default();
|
13
30
|
|
14
|
-
comrak_options.extension.
|
15
|
-
comrak_options.extension.
|
16
|
-
comrak_options.extension.
|
17
|
-
comrak_options.extension.
|
18
|
-
comrak_options.extension.
|
31
|
+
comrak_options.extension.autolink = options.autolink;
|
32
|
+
comrak_options.extension.description_lists = options.description_lists;
|
33
|
+
comrak_options.extension.footnotes = options.footnotes;
|
34
|
+
comrak_options.extension.strikethrough = options.strikethrough;
|
35
|
+
comrak_options.extension.superscript = options.superscript;
|
36
|
+
comrak_options.extension.table = options.table;
|
37
|
+
comrak_options.extension.tagfilter = options.tagfilter;
|
38
|
+
comrak_options.extension.tasklist = options.tasklist;
|
19
39
|
|
20
|
-
comrak_options.render.
|
21
|
-
comrak_options.render.
|
22
|
-
comrak_options.render.
|
23
|
-
comrak_options.render.hardbreaks =
|
40
|
+
comrak_options.render.escape = options.escape;
|
41
|
+
comrak_options.render.full_info_string = options.full_info_string;
|
42
|
+
comrak_options.render.github_pre_lang = options.github_pre_lang;
|
43
|
+
comrak_options.render.hardbreaks = options.hardbreaks;
|
24
44
|
comrak_options.render.sourcepos = options.sourcepos;
|
45
|
+
comrak_options.render.unsafe_ = options.unsafe_;
|
25
46
|
|
26
|
-
comrak_options.parse.
|
27
|
-
comrak_options.parse.
|
47
|
+
comrak_options.parse.relaxed_autolinks = options.relaxed_autolinks;
|
48
|
+
comrak_options.parse.relaxed_tasklist_matching = options.relaxed_tasklist_character;
|
49
|
+
comrak_options.parse.smart = options.smart;
|
28
50
|
|
29
51
|
comrak::markdown_to_html(&text, &comrak_options)
|
30
52
|
}
|
@@ -3,10 +3,33 @@ use magnus::{define_module, function, prelude::*, Error, RHash, Symbol};
|
|
3
3
|
mod glfm;
|
4
4
|
use glfm::{render, RenderOptions};
|
5
5
|
|
6
|
+
/// Lookup symbol in provided `RHash`. Returns `false` if the key is not present
|
7
|
+
/// or value cannot be converted to a boolean.
|
8
|
+
fn get_opt(arg: &str, options: RHash) -> bool {
|
9
|
+
options.lookup(Symbol::new(arg)).unwrap_or_default()
|
10
|
+
}
|
11
|
+
|
6
12
|
pub fn render_to_html_rs(text: String, options: RHash) -> String {
|
7
|
-
let
|
8
|
-
|
9
|
-
|
13
|
+
let render_options = RenderOptions {
|
14
|
+
autolink: get_opt("autolink", options),
|
15
|
+
description_lists: get_opt("description_lists", options),
|
16
|
+
escape: get_opt("escape", options),
|
17
|
+
footnotes: get_opt("footnotes", options),
|
18
|
+
full_info_string: get_opt("full_info_string", options),
|
19
|
+
github_pre_lang: get_opt("github_pre_lang", options),
|
20
|
+
hardbreaks: get_opt("hardbreaks", options),
|
21
|
+
relaxed_autolinks: get_opt("relaxed_autolinks", options),
|
22
|
+
relaxed_tasklist_character: get_opt("relaxed_tasklist_character", options),
|
23
|
+
sourcepos: get_opt("sourcepos", options),
|
24
|
+
smart: get_opt("smart", options),
|
25
|
+
strikethrough: get_opt("strikethrough", options),
|
26
|
+
superscript: get_opt("superscript", options),
|
27
|
+
table: get_opt("table", options),
|
28
|
+
tagfilter: get_opt("tagfilter", options),
|
29
|
+
tasklist: get_opt("tasklist", options),
|
30
|
+
unsafe_: get_opt("unsafe", options),
|
31
|
+
debug: get_opt("debug", options),
|
32
|
+
};
|
10
33
|
|
11
34
|
render(text, render_options)
|
12
35
|
}
|
@@ -3,52 +3,132 @@ use glfm::{render, RenderOptions};
|
|
3
3
|
use std::io::Read;
|
4
4
|
use std::io::Write;
|
5
5
|
|
6
|
+
use clap::Parser;
|
7
|
+
|
8
|
+
#[derive(Parser, Debug)]
|
9
|
+
#[command(author, version, about, long_about = None)]
|
10
|
+
struct Args {
|
11
|
+
/// CommonMark file(s) to parse; or standard input if none passed
|
12
|
+
#[arg(value_name = "FILE")]
|
13
|
+
file: Option<String>,
|
14
|
+
|
15
|
+
/// Enable 'autolink' extension
|
16
|
+
#[arg(long)]
|
17
|
+
autolink: bool,
|
18
|
+
|
19
|
+
/// Enable 'description-lists' extension
|
20
|
+
#[arg(long)]
|
21
|
+
description_lists: bool,
|
22
|
+
|
23
|
+
/// Escape raw HTML instead of clobbering it
|
24
|
+
#[arg(long)]
|
25
|
+
escape: bool,
|
26
|
+
|
27
|
+
/// Enable 'footnotes' extension
|
28
|
+
#[arg(long)]
|
29
|
+
footnotes: bool,
|
30
|
+
|
31
|
+
/// Enable full info strings for code blocks
|
32
|
+
#[arg(long)]
|
33
|
+
full_info_string: bool,
|
34
|
+
|
35
|
+
/// Use GitHub-style <pre lang> for code blocks
|
36
|
+
#[arg(long)]
|
37
|
+
github_pre_lang: bool,
|
38
|
+
|
39
|
+
/// Treat newlines as hard line breaks
|
40
|
+
#[arg(long)]
|
41
|
+
hardbreaks: bool,
|
42
|
+
|
43
|
+
/// Write output to FILE instead of stdout
|
44
|
+
#[arg(short, long, value_name = "FILE")]
|
45
|
+
output: Option<String>,
|
46
|
+
|
47
|
+
/// Enable relaxing of autolink parsing, allowing links to be recognized when in brackets
|
48
|
+
#[arg(long)]
|
49
|
+
relaxed_autolinks: bool,
|
50
|
+
|
51
|
+
/// Enable relaxing which character is allowed in a tasklists
|
52
|
+
#[arg(long)]
|
53
|
+
relaxed_tasklist_character: bool,
|
54
|
+
|
55
|
+
/// Include source mappings in HTML attributes
|
56
|
+
#[arg(long)]
|
57
|
+
sourcepos: bool,
|
58
|
+
|
59
|
+
/// Use smart punctuation
|
60
|
+
#[arg(long)]
|
61
|
+
smart: bool,
|
62
|
+
|
63
|
+
/// Enable 'strikethrough' extension
|
64
|
+
#[arg(long)]
|
65
|
+
strikethrough: bool,
|
66
|
+
|
67
|
+
/// Enable 'superscript' extension
|
68
|
+
#[arg(long)]
|
69
|
+
superscript: bool,
|
70
|
+
|
71
|
+
/// Enable 'table' extension
|
72
|
+
#[arg(long)]
|
73
|
+
table: bool,
|
74
|
+
|
75
|
+
/// Enable 'tagfilter' extension
|
76
|
+
#[arg(long)]
|
77
|
+
tagfilter: bool,
|
78
|
+
|
79
|
+
/// Enable 'tasklist' extension
|
80
|
+
#[arg(long)]
|
81
|
+
tasklist: bool,
|
82
|
+
|
83
|
+
/// Allow raw HTML and dangerous URLs
|
84
|
+
#[arg(long = "unsafe")]
|
85
|
+
unsafe_: bool,
|
86
|
+
|
87
|
+
/// Show debug information
|
88
|
+
#[arg(long)]
|
89
|
+
debug: bool,
|
90
|
+
}
|
91
|
+
|
6
92
|
fn main() {
|
7
|
-
let mut
|
8
|
-
let
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
cli.refer(&mut input)
|
19
|
-
.add_argument("file", argparse::Store, "File to read");
|
20
|
-
cli.refer(&mut output)
|
21
|
-
.add_option(&["-o", "--output"], argparse::Store, "File to write");
|
22
|
-
cli.refer(&mut sourcepos).add_option(
|
23
|
-
&["--sourcepos"],
|
24
|
-
argparse::StoreTrue,
|
25
|
-
"Include source mappings in HTML attributes.",
|
26
|
-
);
|
27
|
-
cli.refer(&mut debug).add_option(
|
28
|
-
&["--debug"],
|
29
|
-
argparse::StoreTrue,
|
30
|
-
"Show debug information",
|
31
|
-
);
|
32
|
-
|
33
|
-
cli.parse_args_or_exit();
|
34
|
-
}
|
35
|
-
|
36
|
-
let vec = if input == "-" {
|
37
|
-
let mut vec = Vec::new();
|
38
|
-
std::io::stdin().read_to_end(&mut vec).unwrap();
|
39
|
-
vec
|
40
|
-
} else {
|
41
|
-
std::fs::read(input).unwrap()
|
93
|
+
let mut s: Vec<u8> = Vec::with_capacity(2048);
|
94
|
+
let cli = Args::parse();
|
95
|
+
|
96
|
+
match cli.file {
|
97
|
+
None => {
|
98
|
+
std::io::stdin().read_to_end(&mut s).unwrap();
|
99
|
+
}
|
100
|
+
Some(fs) => {
|
101
|
+
s = std::fs::read(fs).unwrap();
|
102
|
+
}
|
42
103
|
};
|
43
104
|
|
44
|
-
let source = String::from_utf8_lossy(&
|
45
|
-
let options = RenderOptions {
|
105
|
+
let source = String::from_utf8_lossy(&s);
|
106
|
+
let options = RenderOptions {
|
107
|
+
autolink: cli.autolink,
|
108
|
+
description_lists: cli.description_lists,
|
109
|
+
escape: cli.escape,
|
110
|
+
footnotes: cli.footnotes,
|
111
|
+
full_info_string: cli.full_info_string,
|
112
|
+
github_pre_lang: cli.github_pre_lang,
|
113
|
+
hardbreaks: cli.hardbreaks,
|
114
|
+
relaxed_autolinks: cli.relaxed_autolinks,
|
115
|
+
relaxed_tasklist_character: cli.relaxed_tasklist_character,
|
116
|
+
sourcepos: cli.sourcepos,
|
117
|
+
smart: cli.smart,
|
118
|
+
strikethrough: cli.strikethrough,
|
119
|
+
superscript: cli.superscript,
|
120
|
+
table: cli.table,
|
121
|
+
tagfilter: cli.tagfilter,
|
122
|
+
tasklist: cli.tasklist,
|
123
|
+
unsafe_: cli.unsafe_,
|
124
|
+
debug: cli.debug,
|
125
|
+
};
|
46
126
|
|
47
127
|
let result = render(source.to_string(), options);
|
48
128
|
|
49
|
-
if
|
50
|
-
std::
|
129
|
+
if let Some(output_filename) = cli.output {
|
130
|
+
std::fs::write(output_filename, &result).unwrap();
|
51
131
|
} else {
|
52
|
-
std::
|
53
|
-
}
|
132
|
+
std::io::stdout().write_all(result.as_bytes()).unwrap();
|
133
|
+
};
|
54
134
|
}
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
data/lib/glfm_markdown.rb
CHANGED
@@ -5,7 +5,23 @@ require_relative 'glfm_markdown/loader'
|
|
5
5
|
|
6
6
|
load_rust_extension
|
7
7
|
|
8
|
-
|
8
|
+
GLFM_DEFAULT_OPTIONS = {
|
9
|
+
autolink: true,
|
10
|
+
footnotes: true,
|
11
|
+
full_info_string: true,
|
12
|
+
github_pre_lang: false,
|
13
|
+
hardbreaks: false,
|
14
|
+
relaxed_autolinks: false,
|
15
|
+
sourcepos: true,
|
16
|
+
smart: false,
|
17
|
+
strikethrough: true,
|
18
|
+
table: true,
|
19
|
+
tagfilter: false,
|
20
|
+
tasklist: true,
|
21
|
+
unsafe: true,
|
22
|
+
|
23
|
+
debug: false
|
24
|
+
}.freeze
|
9
25
|
|
10
26
|
module GLFMMarkdown
|
11
27
|
class << self
|
@@ -14,7 +30,10 @@ module GLFMMarkdown
|
|
14
30
|
raise TypeError, 'markdown must be UTF-8 encoded' unless markdown.encoding.name == "UTF-8"
|
15
31
|
raise TypeError, 'options must be a Hash' unless options.is_a?(Hash)
|
16
32
|
|
17
|
-
|
33
|
+
default_options = options[:glfm] ? GLFM_DEFAULT_OPTIONS : {}
|
34
|
+
options = options.merge(unsafe: true) if options[:tagfilter]
|
35
|
+
|
36
|
+
render_to_html_rs(markdown, default_options.merge(options))
|
18
37
|
end
|
19
38
|
end
|
20
39
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gitlab-glfm-markdown
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.8
|
5
5
|
platform: aarch64-linux
|
6
6
|
authors:
|
7
7
|
- Brett Walker
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-12-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rb_sys
|
@@ -25,19 +25,19 @@ dependencies:
|
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0.9'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
|
-
name: pry
|
28
|
+
name: pry-byebug
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - "
|
31
|
+
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 0
|
33
|
+
version: '0'
|
34
34
|
type: :development
|
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
|
40
|
+
version: '0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rake
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|