rmultimarkdown 6.4.0.3 → 6.7.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- data/Rakefile +7 -13
- data/ext/Makefile +67 -55
- data/ext/extconf.rb +8 -6
- data/ext/mmd/aho-corasick.c +8 -8
- data/ext/mmd/aho-corasick.h +3 -3
- data/ext/mmd/argtable3.c +6537 -0
- data/ext/mmd/argtable3.h +273 -0
- data/ext/mmd/beamer.c +12 -1
- data/ext/mmd/char.c +120 -27
- data/ext/mmd/char.h +23 -23
- data/ext/mmd/critic_markup.c +7 -6
- data/ext/mmd/d_string.c +88 -32
- data/ext/mmd/{include/d_string.h → d_string.h} +50 -38
- data/ext/mmd/epub.c +36 -12
- data/ext/mmd/epub.h +2 -2
- data/ext/mmd/file.c +50 -40
- data/ext/mmd/file.h +2 -2
- data/ext/mmd/html.c +164 -99
- data/ext/mmd/html.h +3 -2
- data/ext/mmd/i18n.h +15 -11
- data/ext/mmd/itmz-lexer.c +16978 -0
- data/ext/mmd/itmz-lexer.h +132 -0
- data/ext/mmd/itmz-parser.c +1189 -0
- data/ext/mmd/itmz-parser.h +11 -0
- data/ext/mmd/itmz-reader.c +388 -0
- data/ext/mmd/itmz-reader.h +111 -0
- data/ext/mmd/itmz.c +567 -0
- data/ext/mmd/itmz.h +117 -0
- data/ext/mmd/latex.c +93 -41
- data/ext/mmd/lexer.c +3506 -2774
- data/ext/mmd/{include/libMultiMarkdown.h → libMultiMarkdown.h} +49 -2
- data/ext/mmd/main.c +612 -0
- data/ext/mmd/memoir.c +4 -1
- data/ext/mmd/miniz.c +6905 -6680
- data/ext/mmd/miniz.h +456 -476
- data/ext/mmd/mmd.c +399 -94
- data/ext/mmd/mmd.h +25 -25
- data/ext/mmd/object_pool.h +3 -3
- data/ext/mmd/opendocument-content.c +137 -69
- data/ext/mmd/opendocument-content.h +2 -2
- data/ext/mmd/opendocument.c +35 -14
- data/ext/mmd/opendocument.h +2 -2
- data/ext/mmd/opml-lexer.c +259 -637
- data/ext/mmd/opml-lexer.h +1 -17
- data/ext/mmd/opml-parser.c +194 -188
- data/ext/mmd/opml-reader.c +72 -142
- data/ext/mmd/opml-reader.h +1 -1
- data/ext/mmd/opml.c +13 -13
- data/ext/mmd/opml.h +1 -1
- data/ext/mmd/parser.c +1623 -1244
- data/ext/mmd/rng.c +8 -3
- data/ext/mmd/scanners.c +66625 -103198
- data/ext/mmd/scanners.h +1 -0
- data/ext/mmd/stack.c +62 -20
- data/ext/mmd/stack.h +10 -21
- data/ext/mmd/textbundle.c +23 -7
- data/ext/mmd/textbundle.h +2 -2
- data/ext/mmd/token.c +42 -16
- data/ext/mmd/{include/token.h → token.h} +22 -8
- data/ext/mmd/token_pairs.c +0 -16
- data/ext/mmd/transclude.c +6 -2
- data/ext/mmd/uthash.h +745 -745
- data/ext/mmd/version.h +8 -8
- data/ext/mmd/writer.c +225 -63
- data/ext/mmd/writer.h +50 -36
- data/ext/mmd/xml.c +855 -0
- data/ext/mmd/xml.h +134 -0
- data/ext/mmd/zip.c +71 -4
- data/ext/mmd/zip.h +7 -1
- data/ext/ruby_multi_markdown.c +9 -18
- data/lib/multi_markdown/version.rb +1 -1
- data/lib/multi_markdown.bundle +0 -0
- data/rmultimarkdown.gemspec +0 -2
- metadata +22 -28
- data/ext/mmd/char_lookup.c +0 -212
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
MultiMarkdown 6 -- Lightweight markup processor to produce HTML, LaTeX, and more.
|
|
4
4
|
|
|
5
|
-
@file
|
|
5
|
+
@file libMultiMarkdown.h
|
|
6
6
|
|
|
7
7
|
@brief Header file for libMultiMarkdown.
|
|
8
8
|
|
|
@@ -101,6 +101,14 @@ typedef struct stack stack;
|
|
|
101
101
|
C string variants
|
|
102
102
|
*/
|
|
103
103
|
|
|
104
|
+
/// Convert OPML string to MMD
|
|
105
|
+
DString * mmd_string_convert_opml_to_text(const char * source);
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
/// Convert ITMZ string to MMD
|
|
109
|
+
DString * mmd_string_convert_itmz_to_text(const char * source);
|
|
110
|
+
|
|
111
|
+
|
|
104
112
|
/// Convert MMD text to specified format, with specified extensions, and language
|
|
105
113
|
/// Returned char * must be freed
|
|
106
114
|
char * mmd_string_convert(const char * source, unsigned long extensions, short format, short language);
|
|
@@ -147,6 +155,14 @@ struct stack * mmd_string_transclusion_manifest(const char * source, const char
|
|
|
147
155
|
DString variants - DString ("dynamic string") is a mutable string implementation used in this project
|
|
148
156
|
*/
|
|
149
157
|
|
|
158
|
+
/// Convert OPML DString to MMD
|
|
159
|
+
DString * mmd_d_string_convert_opml_to_text(DString * source);
|
|
160
|
+
|
|
161
|
+
|
|
162
|
+
/// Convert ITMZ DString to MMD
|
|
163
|
+
DString * mmd_d_string_convert_itmz_to_text(DString * source);
|
|
164
|
+
|
|
165
|
+
|
|
150
166
|
/// Convert MMD text to specified format, with specified extensions, and language
|
|
151
167
|
/// Returned char * must be freed
|
|
152
168
|
char * mmd_d_string_convert(DString * source, unsigned long extensions, short format, short language);
|
|
@@ -195,7 +211,7 @@ struct stack * mmd_d_string_transclusion_manifest(DString * source, const char *
|
|
|
195
211
|
|
|
196
212
|
/// Create MMD Engine using an existing DString (A new copy is *not* made)
|
|
197
213
|
mmd_engine * mmd_engine_create_with_dstring(
|
|
198
|
-
DString
|
|
214
|
+
DString * d,
|
|
199
215
|
unsigned long extensions
|
|
200
216
|
);
|
|
201
217
|
|
|
@@ -223,6 +239,13 @@ void mmd_engine_free(
|
|
|
223
239
|
void mmd_engine_set_language(mmd_engine * e, short language);
|
|
224
240
|
|
|
225
241
|
|
|
242
|
+
/// Access DString directly
|
|
243
|
+
DString * mmd_engine_d_string(mmd_engine * e);
|
|
244
|
+
|
|
245
|
+
/// Return token tree after previous parsing
|
|
246
|
+
token * mmd_engine_root(mmd_engine * e);
|
|
247
|
+
|
|
248
|
+
|
|
226
249
|
/// Parse part of the string into a token tree
|
|
227
250
|
token * mmd_engine_parse_substring(mmd_engine * e, size_t byte_start, size_t byte_len);
|
|
228
251
|
|
|
@@ -245,6 +268,14 @@ char * mmd_engine_convert(mmd_engine * e, short format);
|
|
|
245
268
|
void mmd_engine_convert_to_file(mmd_engine * e, short format, const char * directory, const char * filepath);
|
|
246
269
|
|
|
247
270
|
|
|
271
|
+
/// Convert OPML to text without modifying original engine source
|
|
272
|
+
DString * mmd_engine_convert_opml_to_text(mmd_engine * e);
|
|
273
|
+
|
|
274
|
+
|
|
275
|
+
/// Convert ITMZ to text without modifying original engine source
|
|
276
|
+
DString * mmd_engine_convert_itmz_to_text(mmd_engine * e);
|
|
277
|
+
|
|
278
|
+
|
|
248
279
|
/// Convert MMD text to specified format using DString as a container for block of data
|
|
249
280
|
/// and length of that block. Must be used for "complex" output formats such as EPUB.
|
|
250
281
|
/// Returned DString * must be freed
|
|
@@ -393,6 +424,7 @@ enum token_types {
|
|
|
393
424
|
PAIR_EMPH,
|
|
394
425
|
PAIR_MATH,
|
|
395
426
|
PAIR_PAREN,
|
|
427
|
+
PAIR_PAREN_LINK,
|
|
396
428
|
PAIR_QUOTE_SINGLE,
|
|
397
429
|
PAIR_QUOTE_DOUBLE,
|
|
398
430
|
PAIR_QUOTE_ALT,
|
|
@@ -404,6 +436,7 @@ enum token_types {
|
|
|
404
436
|
PAIR_UL,
|
|
405
437
|
PAIR_BRACES,
|
|
406
438
|
|
|
439
|
+
MARKUP,
|
|
407
440
|
STAR,
|
|
408
441
|
UL,
|
|
409
442
|
EMPH_START,
|
|
@@ -422,6 +455,8 @@ enum token_types {
|
|
|
422
455
|
|
|
423
456
|
PAREN_LEFT,
|
|
424
457
|
PAREN_RIGHT,
|
|
458
|
+
PAREN_LINK_LEFT,
|
|
459
|
+
PAREN_LINK_RIGHT,
|
|
425
460
|
|
|
426
461
|
ANGLE_LEFT,
|
|
427
462
|
ANGLE_RIGHT,
|
|
@@ -433,6 +468,7 @@ enum token_types {
|
|
|
433
468
|
AMPERSAND_LONG,
|
|
434
469
|
APOSTROPHE,
|
|
435
470
|
BACKTICK,
|
|
471
|
+
CODE_FENCE_LINE,
|
|
436
472
|
CODE_FENCE,
|
|
437
473
|
COLON,
|
|
438
474
|
DASH_M,
|
|
@@ -485,14 +521,19 @@ enum token_types {
|
|
|
485
521
|
MARKER_H4,
|
|
486
522
|
MARKER_H5,
|
|
487
523
|
MARKER_H6,
|
|
524
|
+
MARKER_SETEXT_1,
|
|
525
|
+
MARKER_SETEXT_2,
|
|
488
526
|
MARKER_LIST_BULLET,
|
|
489
527
|
MARKER_LIST_ENUMERATOR,
|
|
528
|
+
MARKER_DEFLIST_COLON,
|
|
490
529
|
|
|
491
530
|
TABLE_ROW,
|
|
492
531
|
TABLE_CELL,
|
|
493
532
|
TABLE_DIVIDER,
|
|
494
533
|
|
|
495
534
|
TOC,
|
|
535
|
+
TOC_SINGLE,
|
|
536
|
+
TOC_RANGE,
|
|
496
537
|
|
|
497
538
|
TEXT_BACKSLASH,
|
|
498
539
|
RAW_FILTER_LEFT,
|
|
@@ -510,6 +551,8 @@ enum token_types {
|
|
|
510
551
|
TEXT_PLAIN,
|
|
511
552
|
|
|
512
553
|
MANUAL_LABEL,
|
|
554
|
+
|
|
555
|
+
OBJECT_REPLACEMENT_CHARACTER,
|
|
513
556
|
};
|
|
514
557
|
|
|
515
558
|
|
|
@@ -536,7 +579,9 @@ enum output_format {
|
|
|
536
579
|
FORMAT_TEXTBUNDLE,
|
|
537
580
|
FORMAT_TEXTBUNDLE_COMPRESSED,
|
|
538
581
|
FORMAT_OPML,
|
|
582
|
+
FORMAT_ITMZ,
|
|
539
583
|
FORMAT_MMD,
|
|
584
|
+
FORMAT_HTML_WITH_ASSETS
|
|
540
585
|
};
|
|
541
586
|
|
|
542
587
|
|
|
@@ -556,6 +601,8 @@ enum parser_extensions {
|
|
|
556
601
|
EXT_RANDOM_FOOT = 1 << 12, //!< Use random numbers for footnote links
|
|
557
602
|
EXT_TRANSCLUDE = 1 << 13, //!< Perform transclusion(s)
|
|
558
603
|
EXT_PARSE_OPML = 1 << 14, //!< Convert from OPML before processing source text
|
|
604
|
+
EXT_PARSE_ITMZ = 1 << 15, //!< Convert from ITMZ (iThoughts) before processing source text
|
|
605
|
+
EXT_RANDOM_LABELS = 1 << 16, //!< Use random numbers for header labels (unless manually defined)
|
|
559
606
|
EXT_FAKE = 1 << 31, //!< 31 is highest number allowed
|
|
560
607
|
};
|
|
561
608
|
|