commonmarker 1.0.0.pre6-x64-mingw-ucrt → 1.0.0.pre8-x64-mingw-ucrt
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 +159 -96
- data/README.md +43 -20
- data/ext/commonmarker/Cargo.toml +3 -2
- data/ext/commonmarker/src/lib.rs +76 -6
- data/ext/commonmarker/src/options.rs +5 -1
- data/ext/commonmarker/src/plugins/syntax_highlighting.rs +28 -0
- data/lib/commonmarker/3.1/commonmarker.so +0 -0
- data/lib/commonmarker/3.2/commonmarker.so +0 -0
- data/lib/commonmarker/config.rb +3 -1
- data/lib/commonmarker/version.rb +1 -1
- metadata +3 -4
- data/commonmarker.gemspec +0 -41
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e4ccc7a1c9f36931a5658ff4651e392462219f85ec7d63265b73f2a6007a48db
|
4
|
+
data.tar.gz: 36af23c368be45ad7dfb8a06cead21ce38d09f8bf8daf00d34e8dccbfd0ccf89
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 86a7219c84da7e71fbe7512c119d777e3be2f8bdd39a16d8b25c9a3643ede5f2ee517e8c1560f60f58d2e34041a0f3eee89a6a7ba2d3ec8b8683590ea9eed43f
|
7
|
+
data.tar.gz: b49de4797275d9bc0d49628c2fd5a683608fbf1453c02fcb5b40c4963636bb2171c55d2d034cd9589490fe8babb1778c466a96167ebfc83815586ecd0d1be9e2
|
data/Cargo.lock
CHANGED
@@ -25,9 +25,9 @@ checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
|
|
25
25
|
|
26
26
|
[[package]]
|
27
27
|
name = "base64"
|
28
|
-
version = "0.
|
28
|
+
version = "0.21.0"
|
29
29
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
30
|
-
checksum = "
|
30
|
+
checksum = "a4a4ddaa51a5bc52a6948f74c06d20aaaddb71924eab79b8c97a8c556e942d6a"
|
31
31
|
|
32
32
|
[[package]]
|
33
33
|
name = "bincode"
|
@@ -89,9 +89,9 @@ dependencies = [
|
|
89
89
|
|
90
90
|
[[package]]
|
91
91
|
name = "cc"
|
92
|
-
version = "1.0.
|
92
|
+
version = "1.0.79"
|
93
93
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
94
|
-
checksum = "
|
94
|
+
checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f"
|
95
95
|
|
96
96
|
[[package]]
|
97
97
|
name = "cexpr"
|
@@ -110,9 +110,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
|
|
110
110
|
|
111
111
|
[[package]]
|
112
112
|
name = "clang-sys"
|
113
|
-
version = "1.
|
113
|
+
version = "1.6.0"
|
114
114
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
115
|
-
checksum = "
|
115
|
+
checksum = "77ed9a53e5d4d9c573ae844bfac6872b159cb1d1585a83b29e7a64b7eef7332a"
|
116
116
|
dependencies = [
|
117
117
|
"glob",
|
118
118
|
"libc",
|
@@ -121,9 +121,9 @@ dependencies = [
|
|
121
121
|
|
122
122
|
[[package]]
|
123
123
|
name = "clap"
|
124
|
-
version = "4.
|
124
|
+
version = "4.1.8"
|
125
125
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
126
|
-
checksum = "
|
126
|
+
checksum = "c3d7ae14b20b94cb02149ed21a86c423859cbe18dc7ed69845cace50e52b40a5"
|
127
127
|
dependencies = [
|
128
128
|
"bitflags",
|
129
129
|
"clap_derive",
|
@@ -137,9 +137,9 @@ dependencies = [
|
|
137
137
|
|
138
138
|
[[package]]
|
139
139
|
name = "clap_derive"
|
140
|
-
version = "4.
|
140
|
+
version = "4.1.8"
|
141
141
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
142
|
-
checksum = "
|
142
|
+
checksum = "44bec8e5c9d09e439c4335b1af0abaab56dcf3b94999a936e1bb47b9134288f0"
|
143
143
|
dependencies = [
|
144
144
|
"heck",
|
145
145
|
"proc-macro-error",
|
@@ -150,9 +150,9 @@ dependencies = [
|
|
150
150
|
|
151
151
|
[[package]]
|
152
152
|
name = "clap_lex"
|
153
|
-
version = "0.3.
|
153
|
+
version = "0.3.2"
|
154
154
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
155
|
-
checksum = "
|
155
|
+
checksum = "350b9cf31731f9957399229e9b2adc51eeabdfbe9d71d9a0552275fd12710d09"
|
156
156
|
dependencies = [
|
157
157
|
"os_str_bytes",
|
158
158
|
]
|
@@ -163,15 +163,17 @@ version = "1.0.0"
|
|
163
163
|
dependencies = [
|
164
164
|
"comrak",
|
165
165
|
"magnus",
|
166
|
+
"syntect",
|
166
167
|
]
|
167
168
|
|
168
169
|
[[package]]
|
169
170
|
name = "comrak"
|
170
|
-
version = "0.
|
171
|
+
version = "0.16.0"
|
171
172
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
172
|
-
checksum = "
|
173
|
+
checksum = "784836d0812dade01579cc0cc9b1684847044e716fd7aa6bffbc172e42199500"
|
173
174
|
dependencies = [
|
174
175
|
"clap",
|
176
|
+
"emojis",
|
175
177
|
"entities",
|
176
178
|
"memchr",
|
177
179
|
"once_cell",
|
@@ -179,6 +181,7 @@ dependencies = [
|
|
179
181
|
"pest_derive",
|
180
182
|
"regex",
|
181
183
|
"shell-words",
|
184
|
+
"slug",
|
182
185
|
"syntect",
|
183
186
|
"typed-arena",
|
184
187
|
"unicode_categories",
|
@@ -213,6 +216,12 @@ dependencies = [
|
|
213
216
|
"typenum",
|
214
217
|
]
|
215
218
|
|
219
|
+
[[package]]
|
220
|
+
name = "deunicode"
|
221
|
+
version = "0.4.3"
|
222
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
223
|
+
checksum = "850878694b7933ca4c9569d30a34b55031b9b139ee1fc7b94a527c4ef960d690"
|
224
|
+
|
216
225
|
[[package]]
|
217
226
|
name = "digest"
|
218
227
|
version = "0.10.6"
|
@@ -243,6 +252,15 @@ dependencies = [
|
|
243
252
|
"winapi",
|
244
253
|
]
|
245
254
|
|
255
|
+
[[package]]
|
256
|
+
name = "emojis"
|
257
|
+
version = "0.5.2"
|
258
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
259
|
+
checksum = "44fe60b864b6544ad211d4053ced474a9b9d2c8d66b77f01d6c6bcfed10c6bf0"
|
260
|
+
dependencies = [
|
261
|
+
"phf",
|
262
|
+
]
|
263
|
+
|
246
264
|
[[package]]
|
247
265
|
name = "entities"
|
248
266
|
version = "1.0.1"
|
@@ -331,18 +349,15 @@ checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
|
|
331
349
|
|
332
350
|
[[package]]
|
333
351
|
name = "heck"
|
334
|
-
version = "0.4.
|
352
|
+
version = "0.4.1"
|
335
353
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
336
|
-
checksum = "
|
354
|
+
checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
|
337
355
|
|
338
356
|
[[package]]
|
339
357
|
name = "hermit-abi"
|
340
|
-
version = "0.
|
358
|
+
version = "0.3.1"
|
341
359
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
342
|
-
checksum = "
|
343
|
-
dependencies = [
|
344
|
-
"libc",
|
345
|
-
]
|
360
|
+
checksum = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286"
|
346
361
|
|
347
362
|
[[package]]
|
348
363
|
name = "indexmap"
|
@@ -356,9 +371,9 @@ dependencies = [
|
|
356
371
|
|
357
372
|
[[package]]
|
358
373
|
name = "io-lifetimes"
|
359
|
-
version = "1.0.
|
374
|
+
version = "1.0.5"
|
360
375
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
361
|
-
checksum = "
|
376
|
+
checksum = "1abeb7a0dd0f8181267ff8adc397075586500b81b28a73e8a0208b00fc170fb3"
|
362
377
|
dependencies = [
|
363
378
|
"libc",
|
364
379
|
"windows-sys",
|
@@ -366,9 +381,9 @@ dependencies = [
|
|
366
381
|
|
367
382
|
[[package]]
|
368
383
|
name = "is-terminal"
|
369
|
-
version = "0.4.
|
384
|
+
version = "0.4.4"
|
370
385
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
371
|
-
checksum = "
|
386
|
+
checksum = "21b6b32576413a8e69b90e952e4a026476040d81017b80445deda5f2d3921857"
|
372
387
|
dependencies = [
|
373
388
|
"hermit-abi",
|
374
389
|
"io-lifetimes",
|
@@ -433,9 +448,9 @@ checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4"
|
|
433
448
|
|
434
449
|
[[package]]
|
435
450
|
name = "magnus"
|
436
|
-
version = "0.
|
451
|
+
version = "0.5.1"
|
437
452
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
438
|
-
checksum = "
|
453
|
+
checksum = "ac1f63d741de829356a1399b34cbf6e79b79fc80aa85f86c8a2e7966768d95bc"
|
439
454
|
dependencies = [
|
440
455
|
"magnus-macros",
|
441
456
|
"rb-sys",
|
@@ -444,9 +459,9 @@ dependencies = [
|
|
444
459
|
|
445
460
|
[[package]]
|
446
461
|
name = "magnus-macros"
|
447
|
-
version = "0.
|
462
|
+
version = "0.4.0"
|
448
463
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
449
|
-
checksum = "
|
464
|
+
checksum = "85aa71c9891b2732ff1157e1860a1ee578459fd25811fd3d72cc6e32b3fbdfea"
|
450
465
|
dependencies = [
|
451
466
|
"proc-macro2",
|
452
467
|
"quote",
|
@@ -476,9 +491,9 @@ dependencies = [
|
|
476
491
|
|
477
492
|
[[package]]
|
478
493
|
name = "nom"
|
479
|
-
version = "7.1.
|
494
|
+
version = "7.1.3"
|
480
495
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
481
|
-
checksum = "
|
496
|
+
checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a"
|
482
497
|
dependencies = [
|
483
498
|
"memchr",
|
484
499
|
"minimal-lexical",
|
@@ -486,9 +501,9 @@ dependencies = [
|
|
486
501
|
|
487
502
|
[[package]]
|
488
503
|
name = "once_cell"
|
489
|
-
version = "1.17.
|
504
|
+
version = "1.17.1"
|
490
505
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
491
|
-
checksum = "
|
506
|
+
checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3"
|
492
507
|
|
493
508
|
[[package]]
|
494
509
|
name = "onig"
|
@@ -526,9 +541,9 @@ checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099"
|
|
526
541
|
|
527
542
|
[[package]]
|
528
543
|
name = "pest"
|
529
|
-
version = "2.5.
|
544
|
+
version = "2.5.5"
|
530
545
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
531
|
-
checksum = "
|
546
|
+
checksum = "028accff104c4e513bad663bbcd2ad7cfd5304144404c31ed0a77ac103d00660"
|
532
547
|
dependencies = [
|
533
548
|
"thiserror",
|
534
549
|
"ucd-trie",
|
@@ -536,9 +551,9 @@ dependencies = [
|
|
536
551
|
|
537
552
|
[[package]]
|
538
553
|
name = "pest_derive"
|
539
|
-
version = "2.5.
|
554
|
+
version = "2.5.5"
|
540
555
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
541
|
-
checksum = "
|
556
|
+
checksum = "2ac3922aac69a40733080f53c1ce7f91dcf57e1a5f6c52f421fadec7fbdc4b69"
|
542
557
|
dependencies = [
|
543
558
|
"pest",
|
544
559
|
"pest_generator",
|
@@ -546,9 +561,9 @@ dependencies = [
|
|
546
561
|
|
547
562
|
[[package]]
|
548
563
|
name = "pest_generator"
|
549
|
-
version = "2.5.
|
564
|
+
version = "2.5.5"
|
550
565
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
551
|
-
checksum = "
|
566
|
+
checksum = "d06646e185566b5961b4058dd107e0a7f56e77c3f484549fb119867773c0f202"
|
552
567
|
dependencies = [
|
553
568
|
"pest",
|
554
569
|
"pest_meta",
|
@@ -559,13 +574,31 @@ dependencies = [
|
|
559
574
|
|
560
575
|
[[package]]
|
561
576
|
name = "pest_meta"
|
562
|
-
version = "2.5.
|
577
|
+
version = "2.5.5"
|
563
578
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
564
|
-
checksum = "
|
579
|
+
checksum = "e6f60b2ba541577e2a0c307c8f39d1439108120eb7903adeb6497fa880c59616"
|
565
580
|
dependencies = [
|
566
581
|
"once_cell",
|
567
582
|
"pest",
|
568
|
-
"
|
583
|
+
"sha2",
|
584
|
+
]
|
585
|
+
|
586
|
+
[[package]]
|
587
|
+
name = "phf"
|
588
|
+
version = "0.11.1"
|
589
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
590
|
+
checksum = "928c6535de93548188ef63bb7c4036bd415cd8f36ad25af44b9789b2ee72a48c"
|
591
|
+
dependencies = [
|
592
|
+
"phf_shared",
|
593
|
+
]
|
594
|
+
|
595
|
+
[[package]]
|
596
|
+
name = "phf_shared"
|
597
|
+
version = "0.11.1"
|
598
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
599
|
+
checksum = "e1fb5f6f826b772a8d4c0394209441e7d37cbbb967ae9c7e0e8134365c9ee676"
|
600
|
+
dependencies = [
|
601
|
+
"siphasher",
|
569
602
|
]
|
570
603
|
|
571
604
|
[[package]]
|
@@ -576,16 +609,16 @@ checksum = "6ac9a59f73473f1b8d852421e59e64809f025994837ef743615c6d0c5b305160"
|
|
576
609
|
|
577
610
|
[[package]]
|
578
611
|
name = "plist"
|
579
|
-
version = "1.
|
612
|
+
version = "1.4.1"
|
580
613
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
581
|
-
checksum = "
|
614
|
+
checksum = "9469799ca90293a376f68f6fcb8f11990d9cff55602cfba0ba83893c973a7f46"
|
582
615
|
dependencies = [
|
583
616
|
"base64",
|
584
617
|
"indexmap",
|
585
618
|
"line-wrap",
|
619
|
+
"quick-xml",
|
586
620
|
"serde",
|
587
621
|
"time",
|
588
|
-
"xml-rs",
|
589
622
|
]
|
590
623
|
|
591
624
|
[[package]]
|
@@ -614,13 +647,22 @@ dependencies = [
|
|
614
647
|
|
615
648
|
[[package]]
|
616
649
|
name = "proc-macro2"
|
617
|
-
version = "1.0.
|
650
|
+
version = "1.0.51"
|
618
651
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
619
|
-
checksum = "
|
652
|
+
checksum = "5d727cae5b39d21da60fa540906919ad737832fe0b1c165da3a34d6548c849d6"
|
620
653
|
dependencies = [
|
621
654
|
"unicode-ident",
|
622
655
|
]
|
623
656
|
|
657
|
+
[[package]]
|
658
|
+
name = "quick-xml"
|
659
|
+
version = "0.26.0"
|
660
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
661
|
+
checksum = "7f50b1c63b38611e7d4d7f68b82d3ad0cc71a2ad2e7f61fc10f1328d917c93cd"
|
662
|
+
dependencies = [
|
663
|
+
"memchr",
|
664
|
+
]
|
665
|
+
|
624
666
|
[[package]]
|
625
667
|
name = "quote"
|
626
668
|
version = "1.0.23"
|
@@ -632,29 +674,32 @@ dependencies = [
|
|
632
674
|
|
633
675
|
[[package]]
|
634
676
|
name = "rb-sys"
|
635
|
-
version = "0.9.
|
677
|
+
version = "0.9.65"
|
636
678
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
637
|
-
checksum = "
|
679
|
+
checksum = "e8fe617bad8e88fd7e5d6f432e35f09e5f94144dfb8e8ee4adde82fb920dc59b"
|
638
680
|
dependencies = [
|
639
681
|
"rb-sys-build",
|
640
682
|
]
|
641
683
|
|
642
684
|
[[package]]
|
643
685
|
name = "rb-sys-build"
|
644
|
-
version = "0.9.
|
686
|
+
version = "0.9.65"
|
645
687
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
646
|
-
checksum = "
|
688
|
+
checksum = "007e63597f91c711cbb299e60fecbdb6f5ad4a066d6a20c81943893f1584c895"
|
647
689
|
dependencies = [
|
648
690
|
"bindgen",
|
691
|
+
"lazy_static",
|
692
|
+
"quote",
|
649
693
|
"regex",
|
650
694
|
"shell-words",
|
695
|
+
"syn",
|
651
696
|
]
|
652
697
|
|
653
698
|
[[package]]
|
654
699
|
name = "rb-sys-env"
|
655
|
-
version = "0.1.
|
700
|
+
version = "0.1.2"
|
656
701
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
657
|
-
checksum = "
|
702
|
+
checksum = "a35802679f07360454b418a5d1735c89716bde01d35b1560fc953c1415a0b3bb"
|
658
703
|
|
659
704
|
[[package]]
|
660
705
|
name = "redox_syscall"
|
@@ -678,9 +723,9 @@ dependencies = [
|
|
678
723
|
|
679
724
|
[[package]]
|
680
725
|
name = "regex"
|
681
|
-
version = "1.7.
|
726
|
+
version = "1.7.1"
|
682
727
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
683
|
-
checksum = "
|
728
|
+
checksum = "48aaa5748ba571fb95cd2c85c09f629215d3a6ece942baa100950af03a34f733"
|
684
729
|
dependencies = [
|
685
730
|
"aho-corasick",
|
686
731
|
"memchr",
|
@@ -701,9 +746,9 @@ checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
|
|
701
746
|
|
702
747
|
[[package]]
|
703
748
|
name = "rustix"
|
704
|
-
version = "0.36.
|
749
|
+
version = "0.36.8"
|
705
750
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
706
|
-
checksum = "
|
751
|
+
checksum = "f43abb88211988493c1abb44a70efa56ff0ce98f233b7b276146f1f3f7ba9644"
|
707
752
|
dependencies = [
|
708
753
|
"bitflags",
|
709
754
|
"errno",
|
@@ -753,9 +798,9 @@ dependencies = [
|
|
753
798
|
|
754
799
|
[[package]]
|
755
800
|
name = "serde_json"
|
756
|
-
version = "1.0.
|
801
|
+
version = "1.0.93"
|
757
802
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
758
|
-
checksum = "
|
803
|
+
checksum = "cad406b69c91885b5107daf2c29572f6c8cdb3c66826821e286c533490c0bc76"
|
759
804
|
dependencies = [
|
760
805
|
"itoa",
|
761
806
|
"ryu",
|
@@ -763,10 +808,10 @@ dependencies = [
|
|
763
808
|
]
|
764
809
|
|
765
810
|
[[package]]
|
766
|
-
name = "
|
767
|
-
version = "0.10.
|
811
|
+
name = "sha2"
|
812
|
+
version = "0.10.6"
|
768
813
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
769
|
-
checksum = "
|
814
|
+
checksum = "82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0"
|
770
815
|
dependencies = [
|
771
816
|
"cfg-if",
|
772
817
|
"cpufeatures",
|
@@ -785,6 +830,21 @@ version = "1.1.0"
|
|
785
830
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
786
831
|
checksum = "43b2853a4d09f215c24cc5489c992ce46052d359b5109343cbafbf26bc62f8a3"
|
787
832
|
|
833
|
+
[[package]]
|
834
|
+
name = "siphasher"
|
835
|
+
version = "0.3.10"
|
836
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
837
|
+
checksum = "7bd3e3206899af3f8b12af284fafc038cc1dc2b41d1b89dd17297221c5d225de"
|
838
|
+
|
839
|
+
[[package]]
|
840
|
+
name = "slug"
|
841
|
+
version = "0.1.4"
|
842
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
843
|
+
checksum = "b3bc762e6a4b6c6fcaade73e77f9ebc6991b676f88bb2358bddb56560f073373"
|
844
|
+
dependencies = [
|
845
|
+
"deunicode",
|
846
|
+
]
|
847
|
+
|
788
848
|
[[package]]
|
789
849
|
name = "strsim"
|
790
850
|
version = "0.10.0"
|
@@ -793,9 +853,9 @@ checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
|
|
793
853
|
|
794
854
|
[[package]]
|
795
855
|
name = "syn"
|
796
|
-
version = "1.0.
|
856
|
+
version = "1.0.109"
|
797
857
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
798
|
-
checksum = "
|
858
|
+
checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
|
799
859
|
dependencies = [
|
800
860
|
"proc-macro2",
|
801
861
|
"quote",
|
@@ -828,18 +888,18 @@ dependencies = [
|
|
828
888
|
|
829
889
|
[[package]]
|
830
890
|
name = "termcolor"
|
831
|
-
version = "1.
|
891
|
+
version = "1.2.0"
|
832
892
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
833
|
-
checksum = "
|
893
|
+
checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6"
|
834
894
|
dependencies = [
|
835
895
|
"winapi-util",
|
836
896
|
]
|
837
897
|
|
838
898
|
[[package]]
|
839
899
|
name = "terminal_size"
|
840
|
-
version = "0.2.
|
900
|
+
version = "0.2.5"
|
841
901
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
842
|
-
checksum = "
|
902
|
+
checksum = "4c9afddd2cec1c0909f06b00ef33f94ab2cc0578c4a610aa208ddfec8aa2b43a"
|
843
903
|
dependencies = [
|
844
904
|
"rustix",
|
845
905
|
"windows-sys",
|
@@ -867,9 +927,9 @@ dependencies = [
|
|
867
927
|
|
868
928
|
[[package]]
|
869
929
|
name = "time"
|
870
|
-
version = "0.3.
|
930
|
+
version = "0.3.20"
|
871
931
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
872
|
-
checksum = "
|
932
|
+
checksum = "cd0cbfecb4d19b5ea75bb31ad904eb5b9fa13f21079c3b92017ebdf4999a5890"
|
873
933
|
dependencies = [
|
874
934
|
"itoa",
|
875
935
|
"serde",
|
@@ -885,18 +945,18 @@ checksum = "2e153e1f1acaef8acc537e68b44906d2db6436e2b35ac2c6b42640fff91f00fd"
|
|
885
945
|
|
886
946
|
[[package]]
|
887
947
|
name = "time-macros"
|
888
|
-
version = "0.2.
|
948
|
+
version = "0.2.8"
|
889
949
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
890
|
-
checksum = "
|
950
|
+
checksum = "fd80a657e71da814b8e5d60d3374fc6d35045062245d80224748ae522dd76f36"
|
891
951
|
dependencies = [
|
892
952
|
"time-core",
|
893
953
|
]
|
894
954
|
|
895
955
|
[[package]]
|
896
956
|
name = "typed-arena"
|
897
|
-
version = "2.0.
|
957
|
+
version = "2.0.2"
|
898
958
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
899
|
-
checksum = "
|
959
|
+
checksum = "6af6ae20167a9ece4bcb41af5b80f8a1f1df981f6391189ce00fd257af04126a"
|
900
960
|
|
901
961
|
[[package]]
|
902
962
|
name = "typenum"
|
@@ -978,9 +1038,18 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
|
|
978
1038
|
|
979
1039
|
[[package]]
|
980
1040
|
name = "windows-sys"
|
981
|
-
version = "0.
|
1041
|
+
version = "0.45.0"
|
982
1042
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
983
|
-
checksum = "
|
1043
|
+
checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0"
|
1044
|
+
dependencies = [
|
1045
|
+
"windows-targets",
|
1046
|
+
]
|
1047
|
+
|
1048
|
+
[[package]]
|
1049
|
+
name = "windows-targets"
|
1050
|
+
version = "0.42.1"
|
1051
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
1052
|
+
checksum = "8e2522491fbfcd58cc84d47aeb2958948c4b8982e9a2d8a2a35bbaed431390e7"
|
984
1053
|
dependencies = [
|
985
1054
|
"windows_aarch64_gnullvm",
|
986
1055
|
"windows_aarch64_msvc",
|
@@ -993,45 +1062,45 @@ dependencies = [
|
|
993
1062
|
|
994
1063
|
[[package]]
|
995
1064
|
name = "windows_aarch64_gnullvm"
|
996
|
-
version = "0.42.
|
1065
|
+
version = "0.42.1"
|
997
1066
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
998
|
-
checksum = "
|
1067
|
+
checksum = "8c9864e83243fdec7fc9c5444389dcbbfd258f745e7853198f365e3c4968a608"
|
999
1068
|
|
1000
1069
|
[[package]]
|
1001
1070
|
name = "windows_aarch64_msvc"
|
1002
|
-
version = "0.42.
|
1071
|
+
version = "0.42.1"
|
1003
1072
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
1004
|
-
checksum = "
|
1073
|
+
checksum = "4c8b1b673ffc16c47a9ff48570a9d85e25d265735c503681332589af6253c6c7"
|
1005
1074
|
|
1006
1075
|
[[package]]
|
1007
1076
|
name = "windows_i686_gnu"
|
1008
|
-
version = "0.42.
|
1077
|
+
version = "0.42.1"
|
1009
1078
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
1010
|
-
checksum = "
|
1079
|
+
checksum = "de3887528ad530ba7bdbb1faa8275ec7a1155a45ffa57c37993960277145d640"
|
1011
1080
|
|
1012
1081
|
[[package]]
|
1013
1082
|
name = "windows_i686_msvc"
|
1014
|
-
version = "0.42.
|
1083
|
+
version = "0.42.1"
|
1015
1084
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
1016
|
-
checksum = "
|
1085
|
+
checksum = "bf4d1122317eddd6ff351aa852118a2418ad4214e6613a50e0191f7004372605"
|
1017
1086
|
|
1018
1087
|
[[package]]
|
1019
1088
|
name = "windows_x86_64_gnu"
|
1020
|
-
version = "0.42.
|
1089
|
+
version = "0.42.1"
|
1021
1090
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
1022
|
-
checksum = "
|
1091
|
+
checksum = "c1040f221285e17ebccbc2591ffdc2d44ee1f9186324dd3e84e99ac68d699c45"
|
1023
1092
|
|
1024
1093
|
[[package]]
|
1025
1094
|
name = "windows_x86_64_gnullvm"
|
1026
|
-
version = "0.42.
|
1095
|
+
version = "0.42.1"
|
1027
1096
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
1028
|
-
checksum = "
|
1097
|
+
checksum = "628bfdf232daa22b0d64fdb62b09fcc36bb01f05a3939e20ab73aaf9470d0463"
|
1029
1098
|
|
1030
1099
|
[[package]]
|
1031
1100
|
name = "windows_x86_64_msvc"
|
1032
|
-
version = "0.42.
|
1101
|
+
version = "0.42.1"
|
1033
1102
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
1034
|
-
checksum = "
|
1103
|
+
checksum = "447660ad36a13288b1db4d4248e857b510e8c3a225c822ba4fb748c0aafecffd"
|
1035
1104
|
|
1036
1105
|
[[package]]
|
1037
1106
|
name = "xdg"
|
@@ -1042,12 +1111,6 @@ dependencies = [
|
|
1042
1111
|
"dirs",
|
1043
1112
|
]
|
1044
1113
|
|
1045
|
-
[[package]]
|
1046
|
-
name = "xml-rs"
|
1047
|
-
version = "0.8.4"
|
1048
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
1049
|
-
checksum = "d2d7d3948613f75c98fd9328cfdcc45acc4d360655289d0a7d4ec931392200a3"
|
1050
|
-
|
1051
1114
|
[[package]]
|
1052
1115
|
name = "yaml-rust"
|
1053
1116
|
version = "0.4.5"
|
data/README.md
CHANGED
@@ -7,7 +7,7 @@ Ruby wrapper for Rust's [comrak](https://github.com/kivikakk/comrak) crate.
|
|
7
7
|
|
8
8
|
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.
|
9
9
|
|
10
|
-
For more information on available extensions, see [the documentation below](#
|
10
|
+
For more information on available extensions, see [the documentation below](#extension-options).
|
11
11
|
|
12
12
|
## Installation
|
13
13
|
|
@@ -27,7 +27,7 @@ Or install it yourself as:
|
|
27
27
|
|
28
28
|
### Converting to HTML
|
29
29
|
|
30
|
-
Call `
|
30
|
+
Call `to_html` on a string to convert it to HTML:
|
31
31
|
|
32
32
|
```ruby
|
33
33
|
require 'commonmarker'
|
@@ -68,14 +68,14 @@ Note that there is a distinction in comrak for "parse" options and "render" opti
|
|
68
68
|
| `hardbreaks` | [Soft line breaks](http://spec.commonmark.org/0.27/#soft-line-breaks) translate into hard line breaks. | `true` |
|
69
69
|
| `github_pre_lang` | GitHub-style `<pre lang="xyz">` is used for fenced code blocks with info tags. | `true` |
|
70
70
|
| `width` | The wrap column when outputting CommonMark. | `80` |
|
71
|
-
| `
|
71
|
+
| `unsafe` | Allow rendering of raw HTML and potentially dangerous links. | `false` |
|
72
72
|
| `escape` | Escape raw HTML instead of clobbering it. | `false` |
|
73
73
|
|
74
74
|
As well, there are several extensions which you can toggle in the same manner:
|
75
75
|
|
76
76
|
```ruby
|
77
77
|
Commonmarker.to_html('"Hi *there*"', options: {
|
78
|
-
|
78
|
+
extension: { footnotes: true, description_lists: true },
|
79
79
|
render: { hardbreaks: false}
|
80
80
|
})
|
81
81
|
```
|
@@ -92,34 +92,38 @@ Commonmarker.to_html('"Hi *there*"', options: {
|
|
92
92
|
| `superscript` | Enables the superscript Comrak extension. | `false` |
|
93
93
|
| `header_ids` | Enables the header IDs Comrak extension. from the GFM spec. | `""` |
|
94
94
|
| `footnotes` | Enables the footnotes extension per `cmark-gfm`. | `false` |
|
95
|
-
| `description_lists` | Enables the description lists extension
|
95
|
+
| `description_lists` | Enables the description lists extension. | `false` |
|
96
96
|
| `front_matter_delimiter` | Enables the front matter extension. | `""` |
|
97
|
+
| `shortcodes` | Enables the shortcodes extension. | `true` |
|
97
98
|
|
98
99
|
For more information on these options, see [the comrak documentation](https://github.com/kivikakk/comrak#usage).
|
99
100
|
|
100
101
|
### Plugins
|
101
102
|
|
102
103
|
In addition to the possibilities provided by generic CommonMark rendering, Commonmarker also supports plugins as a means of
|
103
|
-
providing further niceties.
|
104
|
+
providing further niceties.
|
104
105
|
|
105
|
-
|
106
|
-
```ruby
|
107
|
-
def hello
|
108
|
-
puts "hello"
|
109
|
-
end
|
106
|
+
#### Syntax Highlighter Plugin
|
110
107
|
|
111
|
-
|
108
|
+
````ruby
|
109
|
+
code = <<~CODE
|
110
|
+
```ruby
|
111
|
+
def hello
|
112
|
+
puts "hello"
|
113
|
+
end
|
114
|
+
CODE
|
112
115
|
|
113
|
-
|
116
|
+
puts Commonmarker.to_html(code, plugins: { syntax_highlighter: { theme: "InspiredGitHub" } })
|
114
117
|
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
118
|
+
# <pre style="background-color:#ffffff;" lang="ruby"><code>
|
119
|
+
# <span style="font-weight:bold;color:#a71d5d;">def </span><span style="font-weight:bold;color:#795da3;">hello
|
120
|
+
# </span><span style="color:#62a35c;">puts </span><span style="color:#183691;">"hello"
|
121
|
+
# </span><span style="font-weight:bold;color:#a71d5d;">end
|
122
|
+
# </span>
|
123
|
+
# </code></pre>
|
124
|
+
````
|
121
125
|
|
122
|
-
|
126
|
+
To disable this plugin, pass `nil`:
|
123
127
|
|
124
128
|
```ruby
|
125
129
|
Commonmarker.to_html(code, plugins: { syntax_highlighter: nil })
|
@@ -127,6 +131,25 @@ Commonmarker.to_html(code, plugins: { syntax_highlighter: nil })
|
|
127
131
|
Commonmarker.to_html(code, plugins: { syntax_highlighter: { theme: nil } })
|
128
132
|
```
|
129
133
|
|
134
|
+
You can also provide a `path` to a directory containing `.tmtheme` files to load:
|
135
|
+
|
136
|
+
```ruby
|
137
|
+
|
138
|
+
Commonmarker.to_html(code, plugins: { syntax_highlighter: { theme: "Monokai", path: "./themes" } })
|
139
|
+
```
|
140
|
+
|
141
|
+
##### Available themes
|
142
|
+
|
143
|
+
Here's [a list of themes available by default](https://docs.rs/syntect/5.0.0/syntect/highlighting/struct.ThemeSet.html#implementations):
|
144
|
+
|
145
|
+
- `"base16-ocean.dark"`
|
146
|
+
- `"base16-eighties.dark"`
|
147
|
+
- `"base16-mocha.dark"`
|
148
|
+
- `"base16-ocean.light"`
|
149
|
+
- `"InspiredGitHub"`
|
150
|
+
- `"Solarized (dark)"`
|
151
|
+
- `"Solarized (light)"`
|
152
|
+
|
130
153
|
## Output formats
|
131
154
|
|
132
155
|
Commonmarker can currently only generate output in one format: HTML.
|
data/ext/commonmarker/Cargo.toml
CHANGED
@@ -4,8 +4,9 @@ version = "1.0.0"
|
|
4
4
|
edition = "2021"
|
5
5
|
|
6
6
|
[dependencies]
|
7
|
-
magnus = "0.
|
8
|
-
comrak = "0.
|
7
|
+
magnus = "0.5"
|
8
|
+
comrak = { version = "0.16", features = ["shortcodes"] }
|
9
|
+
syntect = { version = "5.0", features = ["plist-load"] }
|
9
10
|
|
10
11
|
[lib]
|
11
12
|
name = "commonmarker"
|
data/ext/commonmarker/src/lib.rs
CHANGED
@@ -1,10 +1,17 @@
|
|
1
1
|
extern crate core;
|
2
2
|
|
3
|
+
use std::path::PathBuf;
|
4
|
+
|
5
|
+
use ::syntect::highlighting::ThemeSet;
|
3
6
|
use comrak::{
|
4
|
-
adapters::SyntaxHighlighterAdapter,
|
5
|
-
|
7
|
+
adapters::SyntaxHighlighterAdapter,
|
8
|
+
markdown_to_html, markdown_to_html_with_plugins,
|
9
|
+
plugins::syntect::{SyntectAdapter, SyntectAdapterBuilder},
|
10
|
+
ComrakOptions, ComrakPlugins,
|
11
|
+
};
|
12
|
+
use magnus::{
|
13
|
+
define_module, exception, function, r_hash::ForEach, scan_args, Error, RHash, Symbol, Value,
|
6
14
|
};
|
7
|
-
use magnus::{define_module, function, r_hash::ForEach, scan_args, Error, RHash, Symbol, Value};
|
8
15
|
|
9
16
|
mod options;
|
10
17
|
use options::iterate_options_hash;
|
@@ -12,7 +19,8 @@ use options::iterate_options_hash;
|
|
12
19
|
mod plugins;
|
13
20
|
use plugins::{
|
14
21
|
syntax_highlighting::{
|
15
|
-
|
22
|
+
fetch_syntax_highlighter_path, fetch_syntax_highlighter_theme,
|
23
|
+
SYNTAX_HIGHLIGHTER_PLUGIN_DEFAULT_THEME,
|
16
24
|
},
|
17
25
|
SYNTAX_HIGHLIGHTER_PLUGIN,
|
18
26
|
};
|
@@ -52,13 +60,75 @@ fn commonmark_to_html<'a>(args: &[Value]) -> Result<String, magnus::Error> {
|
|
52
60
|
let adapter: SyntectAdapter;
|
53
61
|
|
54
62
|
let theme = match rb_plugins.get(Symbol::new(SYNTAX_HIGHLIGHTER_PLUGIN)) {
|
55
|
-
Some(
|
63
|
+
Some(syntax_highlighter_options) => {
|
64
|
+
fetch_syntax_highlighter_theme(syntax_highlighter_options)?
|
65
|
+
}
|
56
66
|
None => SYNTAX_HIGHLIGHTER_PLUGIN_DEFAULT_THEME.to_string(), // no `syntax_highlighter:` defined
|
57
67
|
};
|
58
68
|
|
59
|
-
|
69
|
+
let path = match rb_plugins.get(Symbol::new(SYNTAX_HIGHLIGHTER_PLUGIN)) {
|
70
|
+
Some(syntax_highlighter_options) => {
|
71
|
+
fetch_syntax_highlighter_path(syntax_highlighter_options)?
|
72
|
+
}
|
73
|
+
None => PathBuf::from("".to_string()), // no `syntax_highlighter:` defined
|
74
|
+
};
|
75
|
+
|
76
|
+
if !path.eq(&PathBuf::from("".to_string())) && !path.exists() {
|
77
|
+
return Err(Error::new(
|
78
|
+
exception::arg_error(),
|
79
|
+
format!("path does not exist"),
|
80
|
+
));
|
81
|
+
}
|
82
|
+
|
83
|
+
if theme.is_empty() && path.exists() {
|
84
|
+
return Err(Error::new(
|
85
|
+
exception::arg_error(),
|
86
|
+
"`path` also needs `theme` passed into the `syntax_highlighter`",
|
87
|
+
));
|
88
|
+
}
|
89
|
+
if path.exists() && !path.is_dir() {
|
90
|
+
return Err(Error::new(
|
91
|
+
exception::arg_error(),
|
92
|
+
"`path` needs to be a directory",
|
93
|
+
));
|
94
|
+
}
|
95
|
+
|
96
|
+
if path.exists() {
|
97
|
+
let builder = SyntectAdapterBuilder::new();
|
98
|
+
let mut ts = ThemeSet::load_defaults();
|
99
|
+
|
100
|
+
match ts.add_from_folder(&path) {
|
101
|
+
Ok(_) => {}
|
102
|
+
Err(e) => {
|
103
|
+
return Err(Error::new(
|
104
|
+
exception::arg_error(),
|
105
|
+
format!("failed to load theme set from path: {e}"),
|
106
|
+
));
|
107
|
+
}
|
108
|
+
}
|
109
|
+
|
110
|
+
ts.themes.get(&theme).ok_or_else(|| {
|
111
|
+
Error::new(
|
112
|
+
exception::arg_error(),
|
113
|
+
format!("theme `{}` does not exist", theme),
|
114
|
+
)
|
115
|
+
})?;
|
116
|
+
|
117
|
+
adapter = builder.theme_set(ts).theme(&theme).build();
|
118
|
+
|
119
|
+
syntax_highlighter = Some(&adapter);
|
120
|
+
} else if theme.is_empty() || theme == "none" {
|
60
121
|
syntax_highlighter = None;
|
61
122
|
} else {
|
123
|
+
ThemeSet::load_defaults()
|
124
|
+
.themes
|
125
|
+
.get(&theme)
|
126
|
+
.ok_or_else(|| {
|
127
|
+
Error::new(
|
128
|
+
exception::arg_error(),
|
129
|
+
format!("theme `{}` does not exist", theme),
|
130
|
+
)
|
131
|
+
})?;
|
62
132
|
adapter = SyntectAdapter::new(&theme);
|
63
133
|
syntax_highlighter = Some(&adapter);
|
64
134
|
}
|
@@ -29,7 +29,7 @@ fn iterate_parse_options(comrak_options: &mut ComrakOptions, options_hash: RHash
|
|
29
29
|
const RENDER_HARDBREAKS: &str = "hardbreaks";
|
30
30
|
const RENDER_GITHUB_PRE_LANG: &str = "github_pre_lang";
|
31
31
|
const RENDER_WIDTH: &str = "width";
|
32
|
-
const RENDER_UNSAFE: &str = "
|
32
|
+
const RENDER_UNSAFE: &str = "unsafe";
|
33
33
|
const RENDER_ESCAPE: &str = "escape";
|
34
34
|
|
35
35
|
fn iterate_render_options(comrak_options: &mut ComrakOptions, options_hash: RHash) {
|
@@ -68,6 +68,7 @@ const EXTENSION_HEADER_IDS: &str = "header_ids";
|
|
68
68
|
const EXTENSION_FOOTNOTES: &str = "footnotes";
|
69
69
|
const EXTENSION_DESCRIPTION_LISTS: &str = "description_lists";
|
70
70
|
const EXTENSION_FRONT_MATTER_DELIMITER: &str = "front_matter_delimiter";
|
71
|
+
const EXTENSION_SHORTCODES: &str = "shortcodes";
|
71
72
|
|
72
73
|
fn iterate_extension_options(comrak_options: &mut ComrakOptions, options_hash: RHash) {
|
73
74
|
options_hash
|
@@ -103,6 +104,9 @@ fn iterate_extension_options(comrak_options: &mut ComrakOptions, options_hash: R
|
|
103
104
|
Ok(Cow::Borrowed(EXTENSION_FRONT_MATTER_DELIMITER)) => {
|
104
105
|
comrak_options.extension.front_matter_delimiter = try_convert_string(value);
|
105
106
|
}
|
107
|
+
Ok(Cow::Borrowed(EXTENSION_SHORTCODES)) => {
|
108
|
+
comrak_options.extension.shortcodes = value.try_convert::<bool>()?;
|
109
|
+
}
|
106
110
|
_ => {}
|
107
111
|
}
|
108
112
|
Ok(ForEach::Continue)
|
@@ -1,8 +1,11 @@
|
|
1
|
+
use std::path::PathBuf;
|
2
|
+
|
1
3
|
use magnus::{RHash, Symbol, Value};
|
2
4
|
|
3
5
|
use crate::EMPTY_STR;
|
4
6
|
|
5
7
|
pub const SYNTAX_HIGHLIGHTER_PLUGIN_THEME_KEY: &str = "theme";
|
8
|
+
pub const SYNTAX_HIGHLIGHTER_PLUGIN_PATH_KEY: &str = "path";
|
6
9
|
pub const SYNTAX_HIGHLIGHTER_PLUGIN_DEFAULT_THEME: &str = "base16-ocean.dark";
|
7
10
|
|
8
11
|
pub fn fetch_syntax_highlighter_theme(value: Value) -> Result<String, magnus::Error> {
|
@@ -28,3 +31,28 @@ pub fn fetch_syntax_highlighter_theme(value: Value) -> Result<String, magnus::Er
|
|
28
31
|
}
|
29
32
|
}
|
30
33
|
}
|
34
|
+
|
35
|
+
pub fn fetch_syntax_highlighter_path(value: Value) -> Result<PathBuf, magnus::Error> {
|
36
|
+
if value.is_nil() {
|
37
|
+
// `syntax_highlighter: nil`
|
38
|
+
return Ok(PathBuf::from(EMPTY_STR));
|
39
|
+
}
|
40
|
+
|
41
|
+
let syntax_highlighter_plugin = value.try_convert::<RHash>()?;
|
42
|
+
let path_key = Symbol::new(SYNTAX_HIGHLIGHTER_PLUGIN_PATH_KEY);
|
43
|
+
|
44
|
+
match syntax_highlighter_plugin.get(path_key) {
|
45
|
+
Some(path) => {
|
46
|
+
if path.is_nil() {
|
47
|
+
// `syntax_highlighter: { path: nil }`
|
48
|
+
return Ok(PathBuf::from(EMPTY_STR));
|
49
|
+
}
|
50
|
+
|
51
|
+
Ok(PathBuf::from(path.try_convert::<String>()?))
|
52
|
+
}
|
53
|
+
None => {
|
54
|
+
// `syntax_highlighter: { }`
|
55
|
+
Ok(PathBuf::from(EMPTY_STR))
|
56
|
+
}
|
57
|
+
}
|
58
|
+
}
|
Binary file
|
Binary file
|
data/lib/commonmarker/config.rb
CHANGED
@@ -13,7 +13,7 @@ module Commonmarker
|
|
13
13
|
hardbreaks: true,
|
14
14
|
github_pre_lang: true,
|
15
15
|
width: 80,
|
16
|
-
|
16
|
+
unsafe: false,
|
17
17
|
escape: false,
|
18
18
|
}.freeze,
|
19
19
|
extension: {
|
@@ -27,6 +27,7 @@ module Commonmarker
|
|
27
27
|
footnotes: false,
|
28
28
|
description_lists: false,
|
29
29
|
front_matter_delimiter: nil,
|
30
|
+
shortcodes: true,
|
30
31
|
},
|
31
32
|
format: [:html].freeze,
|
32
33
|
}.freeze
|
@@ -34,6 +35,7 @@ module Commonmarker
|
|
34
35
|
PLUGINS = {
|
35
36
|
syntax_highlighter: {
|
36
37
|
theme: "base16-ocean.dark",
|
38
|
+
path: "",
|
37
39
|
},
|
38
40
|
}
|
39
41
|
|
data/lib/commonmarker/version.rb
CHANGED
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.0.0.
|
4
|
+
version: 1.0.0.pre8
|
5
5
|
platform: x64-mingw-ucrt
|
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: 2023-
|
12
|
+
date: 2023-03-09 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rb_sys
|
@@ -78,7 +78,6 @@ files:
|
|
78
78
|
- Cargo.lock
|
79
79
|
- LICENSE.txt
|
80
80
|
- README.md
|
81
|
-
- commonmarker.gemspec
|
82
81
|
- ext/commonmarker/Cargo.toml
|
83
82
|
- ext/commonmarker/_util.rb
|
84
83
|
- ext/commonmarker/extconf.rb
|
@@ -122,7 +121,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
122
121
|
- !ruby/object:Gem::Version
|
123
122
|
version: 3.3.22
|
124
123
|
requirements: []
|
125
|
-
rubygems_version: 3.4.
|
124
|
+
rubygems_version: 3.4.4
|
126
125
|
signing_key:
|
127
126
|
specification_version: 4
|
128
127
|
summary: CommonMark parser and renderer. Written in Rust, wrapped in Ruby.
|
data/commonmarker.gemspec
DELETED
@@ -1,41 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
lib = File.expand_path("lib", __dir__)
|
4
|
-
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
5
|
-
require "commonmarker/version"
|
6
|
-
|
7
|
-
Gem::Specification.new do |spec|
|
8
|
-
spec.name = "commonmarker"
|
9
|
-
spec.version = Commonmarker::VERSION
|
10
|
-
spec.summary = "CommonMark parser and renderer. Written in Rust, wrapped in Ruby."
|
11
|
-
spec.description = "A fast, safe, extensible parser for CommonMark. This wraps the comrak Rust crate."
|
12
|
-
spec.authors = ["Garen Torikian", "Ashe Connor"]
|
13
|
-
spec.license = "MIT"
|
14
|
-
spec.homepage = "https://github.com/gjtorikian/commonmarker"
|
15
|
-
|
16
|
-
spec.required_ruby_version = "~> 3.1"
|
17
|
-
# https://github.com/rubygems/rubygems/pull/5852#issuecomment-1231118509
|
18
|
-
spec.required_rubygems_version = ">= 3.3.22"
|
19
|
-
|
20
|
-
spec.files = ["LICENSE.txt", "README.md", "commonmarker.gemspec", "Cargo.lock"]
|
21
|
-
spec.files += Dir.glob("lib/**/*.rb")
|
22
|
-
spec.files += Dir.glob("ext/**/*.{rs,toml,lock,rb}")
|
23
|
-
spec.bindir = "exe"
|
24
|
-
spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
|
25
|
-
|
26
|
-
spec.require_paths = ["lib"]
|
27
|
-
spec.extensions = ["ext/commonmarker/extconf.rb"]
|
28
|
-
|
29
|
-
spec.metadata = {
|
30
|
-
"allowed_push_host" => "https://rubygems.org",
|
31
|
-
"funding_uri" => "https://github.com/sponsors/gjtorikian/",
|
32
|
-
"source_code_uri" => "https://github.com/gjtorikian/commonmarker",
|
33
|
-
"rubygems_mfa_required" => "true",
|
34
|
-
}
|
35
|
-
|
36
|
-
spec.add_dependency("rb_sys", "~> 0.9")
|
37
|
-
|
38
|
-
spec.add_development_dependency("rake", "~> 13.0")
|
39
|
-
spec.add_development_dependency("rake-compiler", "~> 1.2")
|
40
|
-
spec.add_development_dependency("rake-compiler-dock", "~> 1.2")
|
41
|
-
end
|