redcarpet 1.5.2 → 1.5.3
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of redcarpet might be problematic. Click here for more details.
- data/ext/markdown.c +28 -5
- data/lib/redcarpet.rb +1 -1
- data/redcarpet.gemspec +2 -2
- data/test/redcarpet_test.rb +5 -0
- metadata +4 -4
data/ext/markdown.c
CHANGED
@@ -1118,6 +1118,8 @@ parse_paragraph(struct buf *ob, struct render *rndr, char *data, size_t size)
|
|
1118
1118
|
rndr->work.size--;
|
1119
1119
|
|
1120
1120
|
} else {
|
1121
|
+
struct buf *header_work;
|
1122
|
+
|
1121
1123
|
if (work.size) {
|
1122
1124
|
size_t beg;
|
1123
1125
|
i = work.size;
|
@@ -1153,8 +1155,20 @@ parse_paragraph(struct buf *ob, struct render *rndr, char *data, size_t size)
|
|
1153
1155
|
else work.size = i;
|
1154
1156
|
}
|
1155
1157
|
|
1158
|
+
if (rndr->work.size < rndr->work.asize) {
|
1159
|
+
header_work = rndr->work.item[rndr->work.size ++];
|
1160
|
+
header_work->size = 0;
|
1161
|
+
} else {
|
1162
|
+
header_work = bufnew(WORK_UNIT);
|
1163
|
+
parr_push(&rndr->work, header_work);
|
1164
|
+
}
|
1165
|
+
|
1166
|
+
parse_inline(header_work, rndr, work.data, work.size);
|
1167
|
+
|
1156
1168
|
if (rndr->make.header)
|
1157
|
-
rndr->make.header(ob,
|
1169
|
+
rndr->make.header(ob, header_work, (int)level, rndr->make.opaque);
|
1170
|
+
|
1171
|
+
rndr->work.size--;
|
1158
1172
|
}
|
1159
1173
|
|
1160
1174
|
return end;
|
@@ -1412,7 +1426,6 @@ parse_atxheader(struct buf *ob, struct render *rndr, char *data, size_t size)
|
|
1412
1426
|
{
|
1413
1427
|
size_t level = 0;
|
1414
1428
|
size_t i, end, skip;
|
1415
|
-
struct buf work = { data, 0, 0, 0, 0 };
|
1416
1429
|
|
1417
1430
|
if (!size || data[0] != '#')
|
1418
1431
|
return 0;
|
@@ -1422,7 +1435,6 @@ parse_atxheader(struct buf *ob, struct render *rndr, char *data, size_t size)
|
|
1422
1435
|
|
1423
1436
|
for (i = level; i < size && (data[i] == ' ' || data[i] == '\t'); i++);
|
1424
1437
|
|
1425
|
-
work.data = data + i;
|
1426
1438
|
for (end = i; end < size && data[end] != '\n'; end++);
|
1427
1439
|
skip = end;
|
1428
1440
|
|
@@ -1433,11 +1445,22 @@ parse_atxheader(struct buf *ob, struct render *rndr, char *data, size_t size)
|
|
1433
1445
|
end--;
|
1434
1446
|
|
1435
1447
|
if (end > i) {
|
1436
|
-
|
1448
|
+
struct buf *work;
|
1449
|
+
|
1450
|
+
if (rndr->work.size < rndr->work.asize) {
|
1451
|
+
work = rndr->work.item[rndr->work.size ++];
|
1452
|
+
work->size = 0;
|
1453
|
+
} else {
|
1454
|
+
work = bufnew(WORK_UNIT);
|
1455
|
+
parr_push(&rndr->work, work);
|
1456
|
+
}
|
1457
|
+
|
1458
|
+
parse_inline(work, rndr, data + i, end - i);
|
1437
1459
|
|
1438
1460
|
if (rndr->make.header)
|
1439
|
-
rndr->make.header(ob,
|
1461
|
+
rndr->make.header(ob, work, (int)level, rndr->make.opaque);
|
1440
1462
|
|
1463
|
+
rndr->work.size--;
|
1441
1464
|
}
|
1442
1465
|
|
1443
1466
|
return skip;
|
data/lib/redcarpet.rb
CHANGED
data/redcarpet.gemspec
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = 'redcarpet'
|
3
|
-
s.version = '1.5.
|
3
|
+
s.version = '1.5.3'
|
4
4
|
s.summary = "Ruby bindings for libupskirt"
|
5
|
-
s.date = '2011-04-
|
5
|
+
s.date = '2011-04-12'
|
6
6
|
s.email = 'vicent@github.com'
|
7
7
|
s.homepage = 'http://github.com/tanoku/redcarpet'
|
8
8
|
s.has_rdoc = true
|
data/test/redcarpet_test.rb
CHANGED
@@ -197,5 +197,10 @@ EOS
|
|
197
197
|
assert rd.to_html ~ /<table/
|
198
198
|
assert rd.to_html ~ /text-decoration:line-through;/
|
199
199
|
end
|
200
|
+
|
201
|
+
def test_that_headers_are_linkable
|
202
|
+
markdown = Markdown.new('### Hello [GitHub](http://github.com)')
|
203
|
+
assert_equal "<h3>Hello <a href=\"http://github.com\">GitHub</a></h3>", markdown.to_html.strip
|
204
|
+
end
|
200
205
|
|
201
206
|
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: redcarpet
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 5
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 1
|
8
8
|
- 5
|
9
|
-
-
|
10
|
-
version: 1.5.
|
9
|
+
- 3
|
10
|
+
version: 1.5.3
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- "Natacha Port\xC3\xA9"
|
@@ -16,7 +16,7 @@ autorequire:
|
|
16
16
|
bindir: bin
|
17
17
|
cert_chain: []
|
18
18
|
|
19
|
-
date: 2011-04-
|
19
|
+
date: 2011-04-12 00:00:00 -07:00
|
20
20
|
default_executable:
|
21
21
|
dependencies: []
|
22
22
|
|