rdiscountwl 1.0.0.1
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 +7 -0
- data/BUILDING +151 -0
- data/COPYING +33 -0
- data/README.markdown +73 -0
- data/Rakefile +224 -0
- data/bin/rdiscount +13 -0
- data/ext/Csio.c +61 -0
- data/ext/VERSION +1 -0
- data/ext/amalloc.c +135 -0
- data/ext/amalloc.h +29 -0
- data/ext/basename.c +43 -0
- data/ext/blocktags +33 -0
- data/ext/config.h +25 -0
- data/ext/css.c +87 -0
- data/ext/cstring.h +77 -0
- data/ext/docheader.c +49 -0
- data/ext/dumptree.c +151 -0
- data/ext/emmatch.c +188 -0
- data/ext/extconf.rb +49 -0
- data/ext/flags.c +91 -0
- data/ext/generate.c +1865 -0
- data/ext/github_flavoured.c +100 -0
- data/ext/html5.c +22 -0
- data/ext/markdown.c +1361 -0
- data/ext/markdown.h +238 -0
- data/ext/mkdio.c +360 -0
- data/ext/mkdio.h +122 -0
- data/ext/mktags.c +89 -0
- data/ext/pgm_options.c +146 -0
- data/ext/pgm_options.h +9 -0
- data/ext/rdiscount.c +150 -0
- data/ext/resource.c +159 -0
- data/ext/setup.c +39 -0
- data/ext/tags.c +94 -0
- data/ext/tags.h +19 -0
- data/ext/toc.c +114 -0
- data/ext/version.c +13 -0
- data/ext/xml.c +82 -0
- data/ext/xmlpage.c +46 -0
- data/lib/markdown.rb +1 -0
- data/lib/rdiscount.rb +108 -0
- data/man/markdown.7 +1020 -0
- data/man/rdiscount.1 +22 -0
- data/man/rdiscount.1.ronn +24 -0
- data/rdiscount.gemspec +71 -0
- data/test/benchmark.rb +56 -0
- data/test/benchmark.txt +306 -0
- data/test/markdown_test.rb +158 -0
- data/test/rdiscount_test.rb +276 -0
- metadata +99 -0
data/ext/extconf.rb
ADDED
@@ -0,0 +1,49 @@
|
|
1
|
+
require 'mkmf'
|
2
|
+
|
3
|
+
dir_config('rdiscount')
|
4
|
+
|
5
|
+
HAVE_RANDOM = have_func('random')
|
6
|
+
HAVE_SRANDOM = have_func('srandom')
|
7
|
+
HAVE_RAND = have_func('rand')
|
8
|
+
HAVE_SRAND = have_func('srand')
|
9
|
+
|
10
|
+
def sized_int(size, types)
|
11
|
+
types.find { |type| check_sizeof(type) == size } ||
|
12
|
+
abort("no int with size #{size}")
|
13
|
+
end
|
14
|
+
|
15
|
+
DWORD = sized_int(4, ["unsigned long", "unsigned int"])
|
16
|
+
WORD = sized_int(2, ["unsigned int", "unsigned short"])
|
17
|
+
BYTE = "unsigned char"
|
18
|
+
VERSION = IO.read('VERSION').strip
|
19
|
+
|
20
|
+
open(File.join(File.dirname(__FILE__), "ruby-config.h"), "wb") do |f|
|
21
|
+
f.write <<-EOF
|
22
|
+
// These data types may be already defined if building on Windows (using MinGW)
|
23
|
+
#ifndef DWORD
|
24
|
+
#define DWORD #{DWORD}
|
25
|
+
#endif
|
26
|
+
#ifndef WORD
|
27
|
+
#define WORD #{WORD}
|
28
|
+
#endif
|
29
|
+
#ifndef BYTE
|
30
|
+
#define BYTE #{BYTE}
|
31
|
+
#endif
|
32
|
+
EOF
|
33
|
+
end
|
34
|
+
|
35
|
+
$defs.push("-DVERSION=\\\"#{VERSION}\\\"")
|
36
|
+
|
37
|
+
# Post XCode 5.1 the command line tools on OS X treat unrecognised
|
38
|
+
# command line options as errors and it's been seen that
|
39
|
+
# -multiply_definedsuppress can trickle from ruby build settings.
|
40
|
+
# Issue 115
|
41
|
+
if /darwin|mac os/.match RbConfig::CONFIG['host_os']
|
42
|
+
$DLDFLAGS.gsub!("-multiply_definedsuppress", "")
|
43
|
+
end
|
44
|
+
|
45
|
+
if /mswin/.match RbConfig::CONFIG['host_os']
|
46
|
+
$defs.push("-Dinline=__inline")
|
47
|
+
end
|
48
|
+
|
49
|
+
create_makefile('rdiscount')
|
data/ext/flags.c
ADDED
@@ -0,0 +1,91 @@
|
|
1
|
+
#include <stdio.h>
|
2
|
+
#include "markdown.h"
|
3
|
+
|
4
|
+
struct flagnames {
|
5
|
+
DWORD flag;
|
6
|
+
char *name;
|
7
|
+
};
|
8
|
+
|
9
|
+
static struct flagnames flagnames[] = {
|
10
|
+
{ MKD_NOLINKS, "!LINKS" },
|
11
|
+
{ MKD_NOIMAGE, "!IMAGE" },
|
12
|
+
{ MKD_NOPANTS, "!PANTS" },
|
13
|
+
{ MKD_NOHTML, "!HTML" },
|
14
|
+
{ MKD_STRICT, "STRICT" },
|
15
|
+
{ MKD_TAGTEXT, "TAGTEXT" },
|
16
|
+
{ MKD_NO_EXT, "!EXT" },
|
17
|
+
{ MKD_CDATA, "CDATA" },
|
18
|
+
{ MKD_NOSUPERSCRIPT, "!SUPERSCRIPT" },
|
19
|
+
{ MKD_NORELAXED, "!RELAXED" },
|
20
|
+
{ MKD_NOTABLES, "!TABLES" },
|
21
|
+
{ MKD_NOSTRIKETHROUGH,"!STRIKETHROUGH" },
|
22
|
+
{ MKD_TOC, "TOC" },
|
23
|
+
{ MKD_1_COMPAT, "MKD_1_COMPAT" },
|
24
|
+
{ MKD_AUTOLINK, "AUTOLINK" },
|
25
|
+
{ MKD_SAFELINK, "SAFELINK" },
|
26
|
+
{ MKD_NOHEADER, "!HEADER" },
|
27
|
+
{ MKD_TABSTOP, "TABSTOP" },
|
28
|
+
{ MKD_NODIVQUOTE, "!DIVQUOTE" },
|
29
|
+
{ MKD_NOALPHALIST, "!ALPHALIST" },
|
30
|
+
{ MKD_NODLIST, "!DLIST" },
|
31
|
+
{ MKD_EXTRA_FOOTNOTE, "FOOTNOTE" },
|
32
|
+
{ MKD_NOSTYLE, "!STYLE" },
|
33
|
+
{ MKD_NODLDISCOUNT, "!DLDISCOUNT" },
|
34
|
+
{ MKD_DLEXTRA, "DLEXTRA" },
|
35
|
+
{ MKD_FENCEDCODE, "FENCEDCODE" },
|
36
|
+
{ MKD_IDANCHOR, "IDANCHOR" },
|
37
|
+
{ MKD_GITHUBTAGS, "GITHUBTAGS" },
|
38
|
+
{ MKD_URLENCODEDANCHOR, "URLENCODEDANCHOR" },
|
39
|
+
};
|
40
|
+
#define NR(x) (sizeof x/sizeof x[0])
|
41
|
+
|
42
|
+
|
43
|
+
void
|
44
|
+
mkd_flags_are(FILE *f, DWORD flags, int htmlplease)
|
45
|
+
{
|
46
|
+
int i;
|
47
|
+
int not, set, even=1;
|
48
|
+
char *name;
|
49
|
+
|
50
|
+
if ( htmlplease )
|
51
|
+
fprintf(f, "<table class=\"mkd_flags_are\">\n");
|
52
|
+
for (i=0; i < NR(flagnames); i++) {
|
53
|
+
set = flags & flagnames[i].flag;
|
54
|
+
name = flagnames[i].name;
|
55
|
+
if ( not = (*name == '!') ) {
|
56
|
+
++name;
|
57
|
+
set = !set;
|
58
|
+
}
|
59
|
+
|
60
|
+
if ( htmlplease ) {
|
61
|
+
if ( even ) fprintf(f, " <tr>");
|
62
|
+
fprintf(f, "<td>");
|
63
|
+
}
|
64
|
+
else
|
65
|
+
fputc(' ', f);
|
66
|
+
|
67
|
+
if ( !set )
|
68
|
+
fprintf(f, htmlplease ? "<s>" : "!");
|
69
|
+
|
70
|
+
fprintf(f, "%s", name);
|
71
|
+
|
72
|
+
if ( htmlplease ) {
|
73
|
+
if ( !set )
|
74
|
+
fprintf(f, "</s>");
|
75
|
+
fprintf(f, "</td>");
|
76
|
+
if ( !even ) fprintf(f, "</tr>\n");
|
77
|
+
}
|
78
|
+
even = !even;
|
79
|
+
}
|
80
|
+
if ( htmlplease ) {
|
81
|
+
if ( even ) fprintf(f, "</tr>\n");
|
82
|
+
fprintf(f, "</table>\n");
|
83
|
+
}
|
84
|
+
}
|
85
|
+
|
86
|
+
void
|
87
|
+
mkd_mmiot_flags(FILE *f, MMIOT *m, int htmlplease)
|
88
|
+
{
|
89
|
+
if ( m )
|
90
|
+
mkd_flags_are(f, m->flags, htmlplease);
|
91
|
+
}
|