bluecloth 2.0.7 → 2.0.9
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.
- data.tar.gz.sig +0 -0
- data/ChangeLog +36 -6
- data/Rakefile +46 -26
- data/Rakefile.local +13 -6
- data/ext/VERSION +1 -1
- data/ext/bluecloth.c +46 -21
- data/ext/bluecloth.h +13 -2
- data/ext/cstring.h +3 -1
- data/ext/emmatch.c +188 -0
- data/ext/generate.c +203 -248
- data/ext/html5.c +24 -0
- data/ext/markdown.c +122 -98
- data/ext/markdown.h +16 -2
- data/ext/mkdio.c +43 -9
- data/ext/mkdio.h +11 -0
- data/ext/resource.c +1 -1
- data/ext/tags.c +110 -0
- data/ext/tags.h +18 -0
- data/lib/bluecloth.rb +33 -26
- data/rake/documentation.rb +115 -0
- data/rake/helpers.rb +375 -308
- data/rake/hg.rb +17 -3
- data/rake/manual.rb +11 -6
- data/rake/packaging.rb +7 -1
- data/rake/publishing.rb +162 -88
- data/spec/bluecloth/101_changes_spec.rb +1 -0
- data/spec/bluecloth/autolinks_spec.rb +1 -0
- data/spec/bluecloth/blockquotes_spec.rb +1 -0
- data/spec/bluecloth/code_spans_spec.rb +1 -0
- data/spec/bluecloth/emphasis_spec.rb +1 -0
- data/spec/bluecloth/entities_spec.rb +1 -0
- data/spec/bluecloth/hrules_spec.rb +1 -0
- data/spec/bluecloth/images_spec.rb +1 -0
- data/spec/bluecloth/inline_html_spec.rb +25 -61
- data/spec/bluecloth/lists_spec.rb +1 -0
- data/spec/bluecloth/paragraphs_spec.rb +1 -0
- data/spec/bluecloth/titles_spec.rb +1 -0
- data/spec/bluecloth_spec.rb +22 -6
- data/spec/bugfix_spec.rb +79 -2
- data/spec/contributions_spec.rb +1 -0
- data/spec/discount_spec.rb +46 -2
- data/spec/lib/helpers.rb +8 -8
- data/spec/lib/matchers.rb +5 -17
- data/spec/markdowntest_spec.rb +2 -34
- metadata +48 -17
- metadata.gz.sig +0 -0
- data/rake/rdoc.rb +0 -30
data.tar.gz.sig
ADDED
Binary file
|
data/ChangeLog
CHANGED
@@ -1,4 +1,34 @@
|
|
1
|
-
|
1
|
+
138[tip] 486a5a2a8cd2 2010-09-23 07:15 -0700 ged
|
2
|
+
Bump version, update the Windows build to use 1.9.2 instead of 1.9.1.
|
3
|
+
|
4
|
+
137 1caa0c888dfe 2010-09-17 15:03 -0700 ged
|
5
|
+
Updated to Discount 1.6.8, caught up with some Discount flags
|
6
|
+
|
7
|
+
136 d21afe457b3a 2010-09-17 14:12 -0700 ged
|
8
|
+
Trying to add a spec to test #68.
|
9
|
+
|
10
|
+
135 eb11956b000d 2010-09-17 13:48 -0700 ged
|
11
|
+
Tried to add a spec to test #67.
|
12
|
+
|
13
|
+
134 055519ec5f78 2010-09-17 13:42 -0700 ged
|
14
|
+
Cleanup, 1.9.2 compatibility, bugfixes.
|
15
|
+
|
16
|
+
133 3122e81da65b 2010-09-17 13:25 -0700 ged
|
17
|
+
Convert to tidy-ext for testing instead of the ffi one (1.9.x compatibility)
|
18
|
+
|
19
|
+
132 3f36f96bfb8e 2010-08-16 11:50 -0700 ged
|
20
|
+
Install extension in arch-specific subdir [RPS]
|
21
|
+
|
22
|
+
131 8ccd2cfe599e 2010-08-11 09:54 -0600 ged
|
23
|
+
Bump version to 2.0.8
|
24
|
+
|
25
|
+
130 f2d6de73c6d6 2010-08-11 09:54 -0600 ged
|
26
|
+
Updated to Discount 1.6.6; add HTML5 tag support.
|
27
|
+
|
28
|
+
129 7b1630a0f3b2 2010-08-11 09:27 -0600 ged
|
29
|
+
Updated for Discount 1.6.4, build system updates.
|
30
|
+
|
31
|
+
128 ba2087a764a2 2010-01-25 13:35 -0800 ged
|
2
32
|
Added tag 2.0.7 for changeset 2e54366aeac1
|
3
33
|
|
4
34
|
127[2.0.7] 2e54366aeac1 2010-01-25 13:35 -0800 ged
|
@@ -40,15 +70,15 @@
|
|
40
70
|
115 b715702c19f7 2010-01-02 15:08 -0800 ged
|
41
71
|
Adding a minimal test case for #60.
|
42
72
|
|
43
|
-
114:113
|
73
|
+
114:112,113 617e767c1331 2010-01-02 14:49 -0800 ged
|
44
74
|
Added spec for #56 so I can close it.
|
45
75
|
|
46
|
-
113:111
|
47
|
-
Build with rake-compiler, fix some bugs.
|
48
|
-
|
49
|
-
112 8be386ec10a8 2009-11-04 15:56 -0800 ged
|
76
|
+
113:111 8be386ec10a8 2009-11-04 15:56 -0800 ged
|
50
77
|
Updated build files.
|
51
78
|
|
79
|
+
112 5c81c9a5012f 2010-01-01 10:54 -0800 ged
|
80
|
+
Build with rake-compiler, fix some bugs.
|
81
|
+
|
52
82
|
111 ce4fb0ebf7c0 2009-08-03 12:58 -0700 ged
|
53
83
|
* Updated to Discount 1.5 (+bugfixes)
|
54
84
|
|
data/Rakefile
CHANGED
@@ -11,12 +11,14 @@
|
|
11
11
|
#
|
12
12
|
|
13
13
|
BEGIN {
|
14
|
+
require 'rbconfig'
|
14
15
|
require 'pathname'
|
15
16
|
basedir = Pathname.new( __FILE__ ).dirname
|
16
17
|
|
17
18
|
libdir = basedir + "lib"
|
18
|
-
extdir =
|
19
|
+
extdir = libdir + Config::CONFIG['sitearch']
|
19
20
|
|
21
|
+
$LOAD_PATH.unshift( basedir.to_s ) unless $LOAD_PATH.include?( basedir.to_s )
|
20
22
|
$LOAD_PATH.unshift( libdir.to_s ) unless $LOAD_PATH.include?( libdir.to_s )
|
21
23
|
$LOAD_PATH.unshift( extdir.to_s ) unless $LOAD_PATH.include?( extdir.to_s )
|
22
24
|
}
|
@@ -73,10 +75,10 @@ if VERSION_FILE.exist? && buildrev = ENV['CC_BUILD_LABEL']
|
|
73
75
|
PKG_VERSION = VERSION_FILE.read[ /VERSION\s*=\s*['"](\d+\.\d+\.\d+)['"]/, 1 ] + '.' + buildrev
|
74
76
|
elsif VERSION_FILE.exist?
|
75
77
|
PKG_VERSION = VERSION_FILE.read[ /VERSION\s*=\s*['"](\d+\.\d+\.\d+)['"]/, 1 ]
|
76
|
-
else
|
77
|
-
PKG_VERSION = '0.0.0'
|
78
78
|
end
|
79
79
|
|
80
|
+
PKG_VERSION = '0.0.0' unless defined?( PKG_VERSION ) && !PKG_VERSION.nil?
|
81
|
+
|
80
82
|
PKG_FILE_NAME = "#{PKG_NAME.downcase}-#{PKG_VERSION}"
|
81
83
|
GEM_FILE_NAME = "#{PKG_FILE_NAME}.gem"
|
82
84
|
|
@@ -90,7 +92,7 @@ EXTCONF = EXTDIR + 'extconf.rb'
|
|
90
92
|
|
91
93
|
ARTIFACTS_DIR = Pathname.new( CC_BUILD_ARTIFACTS )
|
92
94
|
|
93
|
-
TEXT_FILES = Rake::FileList.new( %w[Rakefile ChangeLog README LICENSE] )
|
95
|
+
TEXT_FILES = Rake::FileList.new( %w[Rakefile ChangeLog README* LICENSE] )
|
94
96
|
BIN_FILES = Rake::FileList.new( "#{BINDIR}/*" )
|
95
97
|
LIB_FILES = Rake::FileList.new( "#{LIBDIR}/**/*.rb" )
|
96
98
|
EXT_FILES = Rake::FileList.new( "#{EXTDIR}/**/*.{c,h,rb}" )
|
@@ -166,26 +168,37 @@ if !RAKE_TASKDIR.exist?
|
|
166
168
|
end
|
167
169
|
|
168
170
|
require RAKE_TASKDIR + 'helpers.rb'
|
171
|
+
include RakefileHelpers
|
169
172
|
|
170
173
|
# Set the build ID if the mercurial executable is available
|
171
174
|
if hg = which( 'hg' )
|
172
|
-
id =
|
173
|
-
PKG_BUILD =
|
175
|
+
id = `#{hg} id -n`.chomp
|
176
|
+
PKG_BUILD = "pre%03d" % [(id.chomp[ /^[[:xdigit:]]+/ ] || '1')]
|
174
177
|
else
|
175
|
-
PKG_BUILD = '
|
178
|
+
PKG_BUILD = 'pre000'
|
176
179
|
end
|
177
180
|
SNAPSHOT_PKG_NAME = "#{PKG_FILE_NAME}.#{PKG_BUILD}"
|
178
181
|
SNAPSHOT_GEM_NAME = "#{SNAPSHOT_PKG_NAME}.gem"
|
179
182
|
|
180
183
|
# Documentation constants
|
181
|
-
|
184
|
+
API_DOCSDIR = DOCSDIR + 'api'
|
185
|
+
README_FILE = TEXT_FILES.find {|path| path =~ /^README/ } || 'README'
|
182
186
|
RDOC_OPTIONS = [
|
183
|
-
'-
|
184
|
-
'-
|
185
|
-
'
|
186
|
-
|
187
|
-
|
188
|
-
|
187
|
+
'--tab-width=4',
|
188
|
+
'--show-hash',
|
189
|
+
'--include', BASEDIR.to_s,
|
190
|
+
"--main=#{README_FILE}",
|
191
|
+
"--title=#{PKG_NAME}",
|
192
|
+
]
|
193
|
+
YARD_OPTIONS = [
|
194
|
+
'--use-cache',
|
195
|
+
'--no-private',
|
196
|
+
'--protected',
|
197
|
+
'-r', README_FILE,
|
198
|
+
'--exclude', 'extconf\\.rb',
|
199
|
+
'--files', 'ChangeLog,LICENSE',
|
200
|
+
'--output-dir', API_DOCSDIR.to_s,
|
201
|
+
'--title', "#{PKG_NAME} #{PKG_VERSION}",
|
189
202
|
]
|
190
203
|
|
191
204
|
# Release constants
|
@@ -199,22 +212,25 @@ PROJECT_DOCDIR = "#{PROJECT_PUBDIR}/#{PKG_NAME}"
|
|
199
212
|
PROJECT_SCPPUBURL = "#{PROJECT_HOST}:#{PROJECT_PUBDIR}"
|
200
213
|
PROJECT_SCPDOCURL = "#{PROJECT_HOST}:#{PROJECT_DOCDIR}"
|
201
214
|
|
215
|
+
GEM_PUBHOST = 'rubygems.org'
|
216
|
+
|
202
217
|
# Gem dependencies: gemname => version
|
203
218
|
DEPENDENCIES = {
|
204
219
|
}
|
205
220
|
|
206
221
|
# Developer Gem dependencies: gemname => version
|
207
222
|
DEVELOPMENT_DEPENDENCIES = {
|
208
|
-
'rake'
|
209
|
-
'rcodetools'
|
210
|
-
'rcov'
|
211
|
-
'rdoc'
|
212
|
-
'RedCloth'
|
213
|
-
'rspec'
|
214
|
-
'termios'
|
215
|
-
'text-format'
|
216
|
-
'tmail'
|
217
|
-
'diff-lcs'
|
223
|
+
'rake' => '>= 0.8.7',
|
224
|
+
'rcodetools' => '>= 0.7.0.0',
|
225
|
+
'rcov' => '>= 0.8.1.2.0',
|
226
|
+
'rdoc' => '>= 2.4.3',
|
227
|
+
'RedCloth' => '>= 4.0.3',
|
228
|
+
'rspec' => '>= 1.2.6',
|
229
|
+
'ruby-termios' => '>= 0.9.6',
|
230
|
+
'text-format' => '>= 1.0.0',
|
231
|
+
'tmail' => '>= 1.2.3.1',
|
232
|
+
'diff-lcs' => '>= 1.1.2',
|
233
|
+
'tidy-ext' => '>= 0.1.10',
|
218
234
|
'rake-compiler' => '>= 0.7.0',
|
219
235
|
}
|
220
236
|
|
@@ -241,7 +257,7 @@ GEMSPEC = Gem::Specification.new do |gem|
|
|
241
257
|
|
242
258
|
gem.has_rdoc = true
|
243
259
|
gem.rdoc_options = RDOC_OPTIONS
|
244
|
-
gem.extra_rdoc_files =
|
260
|
+
gem.extra_rdoc_files = TEXT_FILES - [ 'Rakefile' ]
|
245
261
|
|
246
262
|
gem.bindir = BINDIR.relative_path_from(BASEDIR).to_s
|
247
263
|
gem.executables = BIN_FILES.select {|pn| File.executable?(pn) }.
|
@@ -255,6 +271,10 @@ GEMSPEC = Gem::Specification.new do |gem|
|
|
255
271
|
gem.files = RELEASE_FILES
|
256
272
|
gem.test_files = SPEC_FILES
|
257
273
|
|
274
|
+
# signing key and certificate chain
|
275
|
+
gem.signing_key = '/Volumes/Keys/ged-private_gem_key.pem'
|
276
|
+
gem.cert_chain = [File.expand_path('~/.gem/ged-public_gem_cert.pem')]
|
277
|
+
|
258
278
|
DEPENDENCIES.each do |name, version|
|
259
279
|
version = '>= 0' if version.length.zero?
|
260
280
|
gem.add_runtime_dependency( name, version )
|
@@ -295,7 +315,7 @@ import LOCAL_RAKEFILE if LOCAL_RAKEFILE.exist?
|
|
295
315
|
#####################################################################
|
296
316
|
|
297
317
|
### Default task
|
298
|
-
task :default => [:clean, :local, :spec, :
|
318
|
+
task :default => [:clean, :local, :spec, :apidocs, :package]
|
299
319
|
|
300
320
|
### Task the local Rakefile can append to -- no-op by default
|
301
321
|
task :local
|
data/Rakefile.local
CHANGED
@@ -1,11 +1,17 @@
|
|
1
1
|
#!rake
|
2
2
|
|
3
|
+
require 'rbconfig'
|
3
4
|
require 'rake/extensiontask'
|
4
5
|
|
5
6
|
# C extension constants
|
6
|
-
|
7
|
-
|
8
|
-
|
7
|
+
ARCH = Config::CONFIG['arch']
|
8
|
+
ARCHLIBDIR = LIBDIR + ARCH
|
9
|
+
|
10
|
+
EXT_MAKEFILE = EXTDIR + 'Makefile'
|
11
|
+
EXT_SOURCES = FileList[ EXTDIR + '*.c' ]
|
12
|
+
EXT_SO = EXTDIR + "bluecloth_ext.#{CONFIG['DLEXT']}"
|
13
|
+
|
14
|
+
|
9
15
|
|
10
16
|
GEMSPEC.extra_rdoc_files << 'LICENSE.discount'
|
11
17
|
DOCFILES << 'LICENSE.discount'
|
@@ -25,13 +31,14 @@ namespace :spec do
|
|
25
31
|
task :text => [ :compile ]
|
26
32
|
end
|
27
33
|
|
28
|
-
|
34
|
+
|
35
|
+
ENV['RUBY_CC_VERSION'] = '1.8.6:1.9.2'
|
29
36
|
|
30
37
|
Rake::ExtensionTask.new do |ext|
|
31
38
|
ext.name = 'bluecloth_ext'
|
32
39
|
ext.gem_spec = GEMSPEC
|
33
|
-
ext.ext_dir =
|
34
|
-
ext.lib_dir =
|
40
|
+
ext.ext_dir = EXTDIR.to_s
|
41
|
+
ext.lib_dir = LIBDIR.to_s
|
35
42
|
ext.source_pattern = "*.{c,h}"
|
36
43
|
ext.cross_compile = true
|
37
44
|
ext.cross_platform = %w[i386-mswin32 i386-mingw32]
|
data/ext/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.
|
1
|
+
1.6.8
|
data/ext/bluecloth.c
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
/*
|
2
2
|
* BlueCloth -- a Ruby implementation of Markdown
|
3
|
-
* $Id$
|
3
|
+
* $Id: bluecloth.c,v 1caa0c888dfe 2010/09/17 22:03:06 ged $
|
4
4
|
*
|
5
5
|
* = Authors
|
6
6
|
*
|
@@ -32,11 +32,11 @@ VALUE bluecloth_default_opthash;
|
|
32
32
|
static MMIOT *
|
33
33
|
bluecloth_alloc( VALUE text, int flags ) {
|
34
34
|
MMIOT *document;
|
35
|
-
|
35
|
+
|
36
36
|
document = mkd_string( RSTRING_PTR(text), RSTRING_LEN(text), flags );
|
37
37
|
if ( !document )
|
38
38
|
rb_raise( rb_eRuntimeError, "Failed to create a BlueCloth object for: %s", RSTRING_PTR(text) );
|
39
|
-
|
39
|
+
|
40
40
|
return document;
|
41
41
|
}
|
42
42
|
|
@@ -44,7 +44,7 @@ bluecloth_alloc( VALUE text, int flags ) {
|
|
44
44
|
/*
|
45
45
|
* GC Free function
|
46
46
|
*/
|
47
|
-
static void
|
47
|
+
static void
|
48
48
|
bluecloth_gc_free( MMIOT *document ) {
|
49
49
|
if ( document ) {
|
50
50
|
mkd_cleanup( document );
|
@@ -100,7 +100,7 @@ bluecloth_check_ptr( VALUE self ) {
|
|
100
100
|
rb_raise( rb_eTypeError, "wrong argument type %s (expected BlueCloth object)",
|
101
101
|
rb_class2name(CLASS_OF( self )) );
|
102
102
|
}
|
103
|
-
|
103
|
+
|
104
104
|
return DATA_PTR( self );
|
105
105
|
}
|
106
106
|
|
@@ -181,11 +181,11 @@ bluecloth_s_discount_version( VALUE klass ) {
|
|
181
181
|
* superscript notation. Defaults to +true+.
|
182
182
|
*
|
183
183
|
*/
|
184
|
-
static VALUE
|
184
|
+
static VALUE
|
185
185
|
bluecloth_initialize( int argc, VALUE *argv, VALUE self ) {
|
186
186
|
if ( !bluecloth_check_ptr(self) ) {
|
187
187
|
MMIOT *document;
|
188
|
-
VALUE text,
|
188
|
+
VALUE text, utf8text, optflags, fullhash, opthash = Qnil;
|
189
189
|
int flags = 0;
|
190
190
|
|
191
191
|
rb_scan_args( argc, argv, "02", &text, &opthash );
|
@@ -201,7 +201,7 @@ bluecloth_initialize( int argc, VALUE *argv, VALUE self ) {
|
|
201
201
|
text = rb_str_new( "", 0 );
|
202
202
|
}
|
203
203
|
else {
|
204
|
-
text = rb_obj_as_string(
|
204
|
+
text = rb_obj_dup( rb_obj_as_string(text) );
|
205
205
|
}
|
206
206
|
|
207
207
|
/* Merge the options hash with the defaults and turn it into a flags int */
|
@@ -210,13 +210,21 @@ bluecloth_initialize( int argc, VALUE *argv, VALUE self ) {
|
|
210
210
|
fullhash = rb_funcall( bluecloth_cBlueCloth, rb_intern("opthash_from_flags"), 1, optflags );
|
211
211
|
|
212
212
|
flags = NUM2INT( optflags );
|
213
|
+
|
214
|
+
#ifdef M17N_SUPPORTED
|
215
|
+
bluecloth_debug( "Bytes before utf8ification: %s",
|
216
|
+
RSTRING_PTR(rb_funcall(text, rb_intern("dump"), 0, Qnil)) );
|
217
|
+
utf8text = rb_str_export_to_enc( rb_str_dup(text), rb_utf8_encoding() );
|
218
|
+
DATA_PTR( self ) = document = bluecloth_alloc( utf8text, flags );
|
219
|
+
#else
|
213
220
|
DATA_PTR( self ) = document = bluecloth_alloc( text, flags );
|
221
|
+
#endif /* M17N_SUPPORTED */
|
222
|
+
|
214
223
|
if ( !mkd_compile(document, flags) )
|
215
224
|
rb_raise( rb_eRuntimeError, "Failed to compile markdown" );
|
216
225
|
|
217
|
-
|
218
|
-
|
219
|
-
rb_iv_set( self, "@text", textcopy );
|
226
|
+
OBJ_FREEZE( text );
|
227
|
+
rb_iv_set( self, "@text", text );
|
220
228
|
OBJ_FREEZE( fullhash );
|
221
229
|
rb_iv_set( self, "@options", fullhash );
|
222
230
|
|
@@ -242,12 +250,20 @@ bluecloth_to_html( VALUE self ) {
|
|
242
250
|
VALUE result = Qnil;
|
243
251
|
|
244
252
|
bluecloth_debug( "Compiling document %p", document );
|
245
|
-
|
253
|
+
|
246
254
|
if ( (length = mkd_document( document, &output )) != EOF ) {
|
247
|
-
|
255
|
+
#ifdef M17N_SUPPORTED
|
256
|
+
VALUE orig_encoding = rb_obj_encoding( rb_iv_get(self, "@text") );
|
257
|
+
VALUE utf8_result = rb_enc_str_new( output, length, rb_utf8_encoding() );
|
258
|
+
result = rb_str_encode( utf8_result, orig_encoding, 0, Qnil );
|
259
|
+
bluecloth_debug( "Bytes after un-utf8ification (if necessary): %s",
|
260
|
+
RSTRING_PTR(rb_funcall(result, rb_intern("dump"), 0, Qnil)) );
|
261
|
+
#else
|
248
262
|
result = rb_str_new( output, length );
|
263
|
+
#endif /* M17N_SUPPORTED */
|
249
264
|
|
250
265
|
OBJ_INFECT( result, self );
|
266
|
+
|
251
267
|
return result;
|
252
268
|
} else {
|
253
269
|
return Qnil;
|
@@ -283,7 +299,7 @@ bluecloth_header( VALUE self ) {
|
|
283
299
|
VALUE fieldstring, headers = rb_hash_new();
|
284
300
|
|
285
301
|
bluecloth_debug( "Fetching pandoc headers for document %p", document );
|
286
|
-
|
302
|
+
|
287
303
|
if ( (field = mkd_doc_title(document)) ) {
|
288
304
|
fieldstring = rb_str_new2( field );
|
289
305
|
OBJ_INFECT( fieldstring, self );
|
@@ -312,6 +328,9 @@ bluecloth_header( VALUE self ) {
|
|
312
328
|
void Init_bluecloth_ext( void ) {
|
313
329
|
bluecloth_cBlueCloth = rb_define_class( "BlueCloth", rb_cObject );
|
314
330
|
|
331
|
+
mkd_with_html5_tags();
|
332
|
+
mkd_initialize();
|
333
|
+
|
315
334
|
rb_define_alloc_func( bluecloth_cBlueCloth, bluecloth_s_allocate );
|
316
335
|
rb_define_singleton_method( bluecloth_cBlueCloth, "discount_version",
|
317
336
|
bluecloth_s_discount_version, 0 );
|
@@ -321,10 +340,10 @@ void Init_bluecloth_ext( void ) {
|
|
321
340
|
rb_define_method( bluecloth_cBlueCloth, "to_html", bluecloth_to_html, 0 );
|
322
341
|
rb_define_method( bluecloth_cBlueCloth, "header", bluecloth_header, 0 );
|
323
342
|
rb_define_alias( bluecloth_cBlueCloth, "pandoc_header", "header" );
|
324
|
-
|
343
|
+
|
325
344
|
/* The original Markdown text the object was constructed with */
|
326
345
|
rb_define_attr( bluecloth_cBlueCloth, "text", 1, 0 );
|
327
|
-
|
346
|
+
|
328
347
|
/* The options hash that describes the options in effect when the object was created */
|
329
348
|
rb_define_attr( bluecloth_cBlueCloth, "options", 1, 0 );
|
330
349
|
|
@@ -339,22 +358,28 @@ void Init_bluecloth_ext( void ) {
|
|
339
358
|
|
340
359
|
/* Do not do Smartypants-style mangling of quotes, dashes, or ellipses. */
|
341
360
|
rb_define_const( bluecloth_cBlueCloth, "MKD_NOPANTS", INT2FIX(MKD_NOPANTS) );
|
342
|
-
|
361
|
+
|
343
362
|
/* Escape all opening angle brackets in the input text instead of allowing block-level HTML */
|
344
363
|
rb_define_const( bluecloth_cBlueCloth, "MKD_NOHTML", INT2FIX(MKD_NOHTML) );
|
345
364
|
|
346
365
|
/* disable SUPERSCRIPT, RELAXED_EMPHASIS */
|
347
366
|
rb_define_const( bluecloth_cBlueCloth, "MKD_STRICT", INT2FIX(MKD_STRICT) );
|
348
|
-
|
367
|
+
|
349
368
|
/* process text inside an html tag; no <em>, no <bold>, no html or [] expansion */
|
350
369
|
rb_define_const( bluecloth_cBlueCloth, "MKD_TAGTEXT", INT2FIX(MKD_TAGTEXT) );
|
351
|
-
|
370
|
+
|
352
371
|
/* don't allow pseudo-protocols */
|
353
372
|
rb_define_const( bluecloth_cBlueCloth, "MKD_NO_EXT", INT2FIX(MKD_NO_EXT) );
|
354
|
-
|
373
|
+
|
374
|
+
/* disallow tables */
|
375
|
+
rb_define_const( bluecloth_cBlueCloth, "MKD_NOTABLES", INT2FIX(MKD_NOTABLES) );
|
376
|
+
|
377
|
+
/* forbid ~~strikethrough~~ */
|
378
|
+
rb_define_const( bluecloth_cBlueCloth, "MKD_NOSTRIKETHROUGH", INT2FIX(MKD_NOSTRIKETHROUGH) );
|
379
|
+
|
355
380
|
/* do table-of-contents processing */
|
356
381
|
rb_define_const( bluecloth_cBlueCloth, "MKD_TOC", INT2FIX(MKD_TOC) );
|
357
|
-
|
382
|
+
|
358
383
|
/* MarkdownTest 1.0 Compatibility Mode */
|
359
384
|
rb_define_const( bluecloth_cBlueCloth, "MKD_1_COMPAT", INT2FIX(MKD_1_COMPAT) );
|
360
385
|
|
data/ext/bluecloth.h
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
/*
|
2
2
|
* BlueCloth -- a Ruby implementation of Markdown
|
3
|
-
* $Id$
|
3
|
+
* $Id: bluecloth.h,v 055519ec5f78 2010/09/17 20:42:27 ged $
|
4
4
|
*
|
5
5
|
*/
|
6
6
|
|
@@ -8,12 +8,23 @@
|
|
8
8
|
#define BLUECLOTH_H
|
9
9
|
|
10
10
|
#include "config.h"
|
11
|
+
#include "assert.h"
|
11
12
|
|
12
13
|
#include "mkdio.h"
|
13
14
|
#include "ruby.h"
|
14
15
|
|
15
|
-
|
16
|
+
void mkd_initialize _(( void ));
|
17
|
+
void mkd_with_html5_tags _(( void ));
|
18
|
+
|
19
|
+
#if defined(HAVE_RUBY_ENCODING_H) && HAVE_RUBY_ENCODING_H
|
20
|
+
# define M17N_SUPPORTED
|
16
21
|
# include "ruby/encoding.h"
|
17
22
|
#endif
|
18
23
|
|
24
|
+
/* Replace the macro from encoding.h that refers to static 'rb_encoding_list' */
|
25
|
+
#ifdef ENC_FROM_ENCINDEX
|
26
|
+
#undef ENC_FROM_ENCINDEX
|
27
|
+
#define ENC_FROM_ENCINDEX(idx) (rb_enc_from_index(idx))
|
28
|
+
#endif
|
29
|
+
|
19
30
|
#endif
|