rdiscountwl 1.0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
+
}
|