From c9eac585f167788dd590db06776b132923455a93 Mon Sep 17 00:00:00 2001
From: murphy tag(>)
diff --git a/test/scanners/yaml/basic.expected.raydebug b/test/scanners/yaml/basic.expected.raydebug
index 6ffde52..810b400 100644
--- a/test/scanners/yaml/basic.expected.raydebug
+++ b/test/scanners/yaml/basic.expected.raydebug
@@ -1,110 +1,110 @@
head
key(name)operator(:) string(paragraphs)
key(desc)operator(:) string(Textile looks for paragraphs in your text. Paragraphs are separated by one blank line. Every paragraph is translated as an HTML paragraph.)
-key(in)operator(:) string(|-)
- string(A single paragraph.)
+key(in)operator(:) string
Followed by another.
) + Followed by another.)> +key(html)operator(:) stringFollowed by another.
)> head key(name)operator(:) string(block containing block start) -key(in)operator(:) string(|-) - string(I saw a ship. It ate my elephant.) -key(html)operator(:) string(|-) - string(I saw a ship. It ate my elephant.
) +key(in)operator(:) stringWhen the elephant comes to take a p. you…
) + When the elephant comes to take a p. you...)> +key(html)operator(:) stringWhen the elephant comes to take a p. you…
)> head key(name)operator(:) string(blockquote containing block start) -key(in)operator(:) string(|-) - string(bq. I saw a ship. It ate my elephant.) -key(html)operator(:) string(|-) - string() - string() +key(in)operator(:) stringI saw a ship. It ate my elephant.
) - string(
I saw a ship. It ate my elephant.
+ )> head key(name)operator(:) string(extended blockquote containing block start) -key(in)operator(:) string(|-) - string(bq.. I saw a ship. It ate my elephant.) +key(in)operator(:) stringI saw a ship. It ate my elephant.
) - string(When the elephant comes to take a p. you…
) - string() + When the elephant comes to take a p. you...)> +key(html)operator(:) stringI saw a ship. It ate my elephant.
+When the elephant comes to take a p. you…
+ )> head key(name)operator(:) string(notextile block containing block start) -key(in)operator(:) string(|-) - string(notextile. I saw a ship. It ate my elephant.) -key(html)operator(:) string(|-) - string(I saw a ship. It ate my elephant.) +key(in)operator(:) stringI saw a ship. It ate my elephant.) +key(in)operator(:) string
When the elephant comes to take a p. you…) - string(--- ) +
When the elephant comes to take a p. you…+ --- )> key(name)operator(:) string(html tags) key(desc)operator(:) string(You can certainly use HTML tags inside your Textile documents. HTML will only be escaped if it’s found in a
pre
or code
block.)
-key(in)operator(:) string(|-)
- string(I am very serious.)
+key(in)operator(:) string) - string(I am very serious.) - string() -key(html)operator(:) string(|-) - string(
I am very serious.
) - string() - string(I am <b>very</b> serious.) - string() +
+ I am very serious. +)> +key(html)operator(:) string
+ I am <b>very</b> serious. +)> head key(name)operator(:) string(line breaks) key(desc)operator(:) string(Line breaks are converted to HTML breaks.) -key(in)operator(:) string(|-) - string(I spoke.) - string(And none replied.) -key(html)operator(:) string(|-) - string(
I spoke.
)
- string(And none replied.
I spoke.) - string(And none replied.
) -key(lite_mode_html)operator(:) string(|-) - string(I spoke.“Observe!”
) head key(name)operator(:) string(quotes contained in multi-paragraph quotes) -key(in)operator(:) string(|-) - string("I first learned about this thing called "Redcloth" several years ago.) +key(in)operator(:) string“It’s wonderful.”
) + "It's wonderful.")> +key(html)operator(:) string“It’s wonderful.”
)> head key(name)operator(:) string(double hyphens) key(desc)operator(:) string(Double hyphens are replaced with an em-dash.) @@ -200,18 +200,18 @@ key(html)operator(:) string() - string() - string(A block quotation.
) - string(
Any old text
) + Any old text)> +key(html)operator(:) string++A block quotation.
+
Any old text
)> head key(name)operator(:) string(footnote reference) key(desc)operator(:) string(Numeric references within text to footnotes appear between square brackets.) @@ -242,12 +242,12 @@ key(html)operator(:) stringI know.
)
- string(I really know.
I’m unaware of most soft drink head
key(name)operator(:) string(style span) key(desc)operator(:) string(This way, you can apply style settings, as described in the next section to arbitrary phrases.) -key(in)operator(:) string(|-) - string(I'm %{color:red}unaware%) - string(of most soft drinks.) -key(html)operator(:) string(|-) - string(I’m unaware
)
- string(of most soft drinks.
http://blah.com/one%20two%20three
)
- string((min\)5%-95%(max\)
rouge
) head key(name)operator(:) string(block attributes on phrase modifiers) key(desc)operator(:) string(All block attributes can be applied to phrases as well by placing them just inside the opening modifier.) -key(in)operator(:) string(|-) - string(I seriously *{color:red}blushed*) - string(when I _(big\)sprouted_ that) - string(corn stalk from my) - string(%[es]cabeza%.) -key(html)operator(:) string(|-) - string(I seriously blushed
)
- string(when I sprouted that
)
- string(corn stalk from my
)
- string(cabeza.
I seriously {color:red}blushed
)
- string(when I first (big\)sprouted that
)
- string(corn stalk from my
)
- string(grande [es]cabeza.
The main text of the page goes here and will stay to the left of the sidebar.
) + The main text of the page goes here and will stay to the left of the sidebar.)> +key(html)operator(:) stringThe main text of the page goes here and will stay to the left of the sidebar.
)> head key(name)operator(:) string(numbered list) key(desc)operator(:) string(To make a numbered list, place each item in its own paragraph, preceded by ”#”.) -key(in)operator(:) string(|-) - comment(# A first item) - comment(# A second item) - comment(# A third) -key(html)operator(:) string(|-) - string(And others sat all round the small
)
- string(machine and paid it to sing to them.
And others sat all round the small
+ machine and paid it to sing to them.
We use align left )
- string()
- string( A blockquote ends it. A blockquote ends it. before (in parens\) after)
- string( )
- string(align right )
- string()
- string( )
- string(center )
- string()
- string( )
- string(justify )
- string()
- string( )
- string(valign top )
- string()
- string( )
- string()
+key(in)operator(:) stringbottom )
- string(
+
+ attribute list
+
+
+ align left
+
+
+ align right
+
+
+ center
+
+
+ justify
+
+
+ valign top
+
+
+ )>
head
key(name)operator(:) string(table colspan)
key(desc)operator(:) string(You can also specify colspans with a backslash, followed by the cell width.)
-key(in)operator(:) string(|-)
- string(|\\2. spans two cols |)
- string(| col 1 | col 2 |)
-key(html)operator(:) string(|-)
- string(bottom
+ )
- string(
)
+key(in)operator(:) string)
- string( )
- string(spans two cols )
- string()
- string( )
- string( col 1 )
- string( col 2 )
- string(
+
+ spans two cols
+
+
+ )>
head
key(name)operator(:) string(table rowspan)
key(desc)operator(:) string(Rowspan is specified by a forward slash, followed by the row height.)
-key(in)operator(:) string(|-)
- string(|/3. spans 3 rows | a |)
- string(| b |)
- string(| c |)
-key(html)operator(:) string(|-)
- string( col 1
+ col 2
+ )
- string(
)
+key(in)operator(:) string)
- string( )
- string(spans 3 rows )
- string( a )
- string()
- string( )
- string( b )
- string()
- string( )
- string( c )
- string(
+
+ spans 3 rows
+ a
+
+
+ b
+
+
+ )>
head
key(name)operator(:) string(block attributes applied to table cells)
key(desc)operator(:) string(All block attributes can be applied to table cells as well.)
key(in)operator(:) string c
+ )
- string(
)
+key(html)operator(:) string)
- string( )
- string(Grey cell )
- string(
+
+ )>
head
key(name)operator(:) string(black attributes applied to a table)
key(desc)operator(:) string(Table-wide attributes can be applied before the first row of the table. On its own line, followed by a period.)
-key(in)operator(:) string(|-)
- string(table{border:1px solid black}.)
- string(|This|is|a|row|)
- string(|This|is|a|row|)
-key(html)operator(:) string(|-)
- string(Grey cell
+ )
- string(
)
+key(in)operator(:) string)
- string( )
- string(This )
- string(is )
- string(a )
- string(row )
- string()
- string( )
- string(This )
- string(is )
- string(a )
- string(row )
- string(
+
+ This
+ is
+ a
+ row
+
+
+ )>
head
key(name)operator(:) string(black attributes applied to a table row)
key(desc)operator(:) string(Attributes can be applied to a single row by supplying the attribute before the row starts, using a This
+ is
+ a
+ row
+ table
modifier and following it by a period.)
-key(in)operator(:) string(|-)
- string(|This|is|a|row|)
- operator({)string(background:#ddd}. |This|is|grey|row|)
-key(html)operator(:) string(|-)
- string()
- string(
)
+key(in)operator(:) string)
- string( )
- string(This )
- string(is )
- string(a )
- string(row )
- string()
- string( )
- string(This )
- string(is )
- string(grey )
- string(row )
- string(
+
+ This
+ is
+ a
+ row
+
+
+ )>
head
key(name)operator(:) string(extended block followed by pre block)
-key(in)operator(:) string(|-)
- string(div.. Just a test.)
+key(in)operator(:) stringThis
+ is
+ grey
+ row
+ A pre block ends it.
)
+ pre. A pre block ends it.)>
+key(html)operator(:) stringA pre block ends it.
)>
head
key(name)operator(:) string(extended block followed by blockquote)
-key(in)operator(:) string(|-)
- string(div.. Just a test.)
+key(in)operator(:) string)
- string(
)
+ bq. A blockquote ends it.)>
+key(html)operator(:) string
+
)>
head
key(name)operator(:) string(extended block followed by block code)
-key(in)operator(:) string(|-)
- string(div.. Just a test.)
+key(in)operator(:) string
)
+ bc. A blockcode ends it.)>
+key(html)operator(:) stringA blockcode ends it.
)>
head
key(name)operator(:) string(extended block followed by notextile block)
-key(in)operator(:) string(|-)
- string(div.. Just a test.)
+key(in)operator(:) stringA blockcode ends it.
before (in parens\) after
) +key(in)operator(:) stringbefore (in parens\) after
) +key(in)operator(:) string“before (in parens\) after”
) +key(in)operator(:) stringone two three (four five six\) seven
) +key(in)operator(:) string“one two three (four five six\) seven”
) +key(in)operator(:) stringone (two three four\) five
) +key(in)operator(:) string“one (two three four\) five”
) +key(in)operator(:) stringIBM or (HAL\)
) head key(name)operator(:) string(phrase modifiers in parentheses) key(desc)operator(:) string(Inline modifiers are expected to work in parentheses as well.) -key(in)operator(:) string(|-) - string(__Amanita__s are mushrooms.) - string(Lungworts (__Lobaria__\) are lichens.) - string(Blah blah (normal text **bold**\) blah.) -key(html)operator(:) string(|-) - string(__Amanita__s are mushrooms.
)
- string(Lungworts (Lobaria\) are lichens.
)
- string(Blah blah (normal text bold\) blah.
citation [“(Berk.\) Hilton”], see
)
- operator([)string(Papers “blah blah.”]
) - string(reg = Needle::Registry.new) - string() +
+ reg = Needle::Registry.new +- string(This will create a new Registry instance. You can also send a block to) - comment(#new, in which case the new registry will be yielded to it:) + This will create a new Registry instance. You can also send a block to + #new, in which case the new registry will be yielded to it: - string(
) - string(reg = Needle::Registry.new do |r|) - string(...) - string(end) - string() +
+ reg = Needle::Registry.new do |r| + ... + end +- string(There are two other factory methods you can use for creating a Registry) - string(instance. Both require a block.) + There are two other factory methods you can use for creating a Registry + instance. Both require a block. - string(
) - string(r1 = Needle::Registry.define do |builder|) - string(...) - string(end) +- string(Registry#define creates a "builder" object that you can use define) - string(services more conveniently. Register#define! (with a bang\) does the same) - string(thing, but evaluates the block within the context of the builder.) + Registry#define creates a "builder" object that you can use define + services more conveniently. Register#define! (with a bang\) does the same + thing, but evaluates the block within the context of the builder.)> - operator(-) key+ r1 = Needle::Registry.define do |builder| + ... + end - string(r2 = Needle::Registry.define! do) - string(...) - string(end) - string() + r2 = Needle::Registry.define! do + ... + end +
) - string(reg.register( :foo \) { Foo.new }) - string() +
+ reg.register( :foo \) { Foo.new } +- string(The (first\) parameter to #register is the name of the service, and the) - string(block should return the implementation of the service. If needed, the) - string(block can accept two parameters--the container that the service is being) - string(registered with, and an object that represents the service being defined) - string((called a "service point"\):) + The (first\) parameter to #register is the name of the service, and the + block should return the implementation of the service. If needed, the + block can accept two parameters--the container that the service is being + registered with, and an object that represents the service being defined + (called a "service point"\): - string(
) - string(reg.register( :foo \) do |container,point|) - string(Foo.new( container[:bar], point.fullname \)) - string(end) - string() +
+ reg.register( :foo \) do |container,point| + Foo.new( container[:bar], point.fullname \) + end +- string(You can also use Container#define and Container#define! to register) - string(services. These approaches are friendlier if you are needing to register) - string(several services at once.) + You can also use Container#define and Container#define! to register + services. These approaches are friendlier if you are needing to register + several services at once. - string(
) - string(reg.define do |builder|) - string(builder.foo { Foo.new }) - string(builder.bar { |c,p| Bar.new( c[:foo], p.name \) }) - string(end) +- string(Container#define yields a new "builder" object to the block. Messages) - string(sent to the builder are interpreted as service names, and if a block is) - string(sent with the message, a new service is registered under that name.) + Container#define yields a new "builder" object to the block. Messages + sent to the builder are interpreted as service names, and if a block is + sent with the message, a new service is registered under that name. - string(Container#define! does likewise, except it evaluates the block within the) - string(context of the builder object.) + Container#define! does likewise, except it evaluates the block within the + context of the builder object. - string(If you do not pass a block to #define, it will return the builder object,) - string(so you could do something like the following if you only need to define) - key(one or two services)operator(:) + If you do not pass a block to #define, it will return the builder object, + so you could do something like the following if you only need to define + one or two services: - string(+ reg.define do |builder| + builder.foo { Foo.new } + builder.bar { |c,p| Bar.new( c[:foo], p.name \) } + end - string(reg.define! do) - string(baz { |c,p| Baz.new( c[:bar], p.name \) }) - string(zoom { Buggy.new }) - string(end) - string() + reg.define! do + baz { |c,p| Baz.new( c[:bar], p.name \) } + zoom { Buggy.new } + end +
) - string(reg.define.foo { ... }) - string() +
+ reg.define.foo { ... } +- string(Lastly, you can get the builder directly and add services using it:) + Lastly, you can get the builder directly and add services using it: - string(
) - string(builder = reg.builder) - string(builder.baz { ... }) - string(builder.bar { ... }) - string() +
+ builder = reg.builder + builder.baz { ... } + builder.bar { ... } +- string((This last is the same as calling #define without arguments, but is more) - string(readable if you intend to use the builder object multiple times.\)) - - operator(-) key
) - string(svc = registry[:foo]) - string(svc.do_something_interesting) - string() +
+ svc = registry[:foo] + svc.do_something_interesting +- string(A more convenient (but slightly more peril-fraught\) approach is to send) - key(the name of the method to the registry as a message)operator(:) + A more convenient (but slightly more peril-fraught\) approach is to send + the name of the method to the registry as a message: - string(
) - string(svc = registry.foo) - string() +
+ svc = registry.foo +- string(Be aware that this latter approach will only work when the service name) - string(does not conflict with the name of an existing method on the container.) - string(For example, if you were to do:) + Be aware that this latter approach will only work when the service name + does not conflict with the name of an existing method on the container. + For example, if you were to do: - string(
) - string(registry.register( :hash \) { "hello, world" }) - string(p registry.hash) - string() +
+ registry.register( :hash \) { "hello, world" } + p registry.hash +- string(You would get the hash value of the registry object, instead of the value) - string(value of the service (which would be "hello, world"\).) + You would get the hash value of the registry object, instead of the value + value of the service (which would be "hello, world"\).)> - operator(-) key
) - string(registry.register( :foo, :model => :prototype \) {...}) - string(registry.define.bar( :model => :threaded \) {...}) - string(registry.define! do) - string(baz( :model => :singleton_deferred \) {...}) - string(...) - string(end) - string(...) - string() +
+ registry.register( :foo, :model => :prototype \) {...} + registry.define.bar( :model => :threaded \) {...} + registry.define! do + baz( :model => :singleton_deferred \) {...} + ... + end + ... +)> - operator(-) key
) - string(registry.namespace( :stuff \)) - string() +
+ registry.namespace( :stuff \) +- string(This will create a namespace in the registry, called stuff. If you send a) - string(block as well, the block will be invoked (with the new namespace yielded) - key(to it\) the first time the namespace is requested)operator(:) + This will create a namespace in the registry, called stuff. If you send a + block as well, the block will be invoked (with the new namespace yielded + to it\) the first time the namespace is requested: - string(
) - string(registry.namespace( :stuff \) do |ns|) - string(ns.register( :foo \) {...}) - string(ns.define.bar {...}) - string(ns.define! do) - string(baz {...}) - string(buf {...}) - string(end) - string(end) - string() +
+ registry.namespace( :stuff \) do |ns| + ns.register( :foo \) {...} + ns.define.bar {...} + ns.define! do + baz {...} + buf {...} + end + end +- string(Because it is so common to immediately define services on the new) - string(namespace, there are some convenience methods to make this more...) - string(convenient.) + Because it is so common to immediately define services on the new + namespace, there are some convenience methods to make this more... + convenient. - string(
) - string(registry.namespace_define!( :stuff \) do) - string(foo {...}) - string(bar {...}) - string(baz {...}) - string(end) +- string(The first one, above, creates the namespace and calls Container#define!.) - string(The second creates the namespace and calls Container#define. In both) - string(cases, _the namespace is created immediately_, unlike Container#namespace) - string(which only creates the namespace when it is first requested.) + The first one, above, creates the namespace and calls Container#define!. + The second creates the namespace and calls Container#define. In both + cases, _the namespace is created immediately_, unlike Container#namespace + which only creates the namespace when it is first requested. - string(Lastly, note that namespace's are just special services. Thus, you can) - string(pass options to the namespace methods just as you can with) - string(Container#register and friends.) + Lastly, note that namespace's are just special services. Thus, you can + pass options to the namespace methods just as you can with + Container#register and friends.)> - operator(-) key+ registry.namespace_define!( :stuff \) do + foo {...} + bar {...} + baz {...} + end - string(registry.namespace_define( :more_stuff \) do |b|) - string(b.blah {...}) - string(b.argh {...}) - string(b.hack {...}) - string(end) - string() + registry.namespace_define( :more_stuff \) do |b| + b.blah {...} + b.argh {...} + b.hack {...} + end +
) - string(logger = registry.logs.get( "a name for my logger" \)) - string(logger.debug "This is a debug message") - string(logger.info "This is an informational message") - string(...) - string(logger2 = registry.log_for( "another logger name" \)) - string(...) - string() +
+ logger = registry.logs.get( "a name for my logger" \) + logger.debug "This is a debug message" + logger.info "This is an informational message" + ... + logger2 = registry.log_for( "another logger name" \) + ... +- string(The two approaches shown above are identical--the second approach (using) - string(the @log_for@ service\) is just a convenience for @logs.get@.) + The two approaches shown above are identical--the second approach (using + the @log_for@ service\) is just a convenience for @logs.get@. - string(Log messages are written, by default, to a file called "needle.log", in) - string(the same directory that the application was invoked from.) + Log messages are written, by default, to a file called "needle.log", in + the same directory that the application was invoked from. - string(You can also use a logging interceptor to automatically log all external) - string(method invocations on a service. This includes method entry and exit, as) - string(well as any exceptions that are raised inside the method.) + You can also use a logging interceptor to automatically log all external + method invocations on a service. This includes method entry and exit, as + well as any exceptions that are raised inside the method. - string(
) - string(registry.register( :foo \) { ... }) - string(registry.intercept( :foo \).with { |r| r.logging_interceptor }) +- string(See the chapter in the "User's Manual":http://needle.rubyforge.org about) - string(logging for more information on how to use and configure loggers.) + See the chapter in the "User's Manual":http://needle.rubyforge.org about + logging for more information on how to use and configure loggers.)> - operator(-) key+ registry.register( :foo \) { ... } + registry.intercept( :foo \).with { |r| r.logging_interceptor } - string(foo.something) - string(foo.another_method( 1, 2, 3 \)) - string() + foo.something + foo.another_method( 1, 2, 3 \) +
) - string(registry.register( :foo \) { ... }) - string(registry.intercept( :foo \).) - string(with { |r| r.logging_interceptor }.) - string(with_options :exclude => [ 'foo', 'bar(>4\)', '*(<2\)' ]) - string() +
+ registry.register( :foo \) { ... } + registry.intercept( :foo \). + with { |r| r.logging_interceptor }. + with_options :exclude => [ 'foo', 'bar(>4\)', '*(<2\)' ] +- string(The above will exclude from interception any method named 'foo', or any) - string(invocation of 'bar' with more than 4 arguments, or any method invocation) - string(with fewer than two arguments.) + The above will exclude from interception any method named 'foo', or any + invocation of 'bar' with more than 4 arguments, or any method invocation + with fewer than two arguments. - string(You can also give an array of patterns to _include_. These cause methods) - key(to be explicitly intercepted even if they match an exclude pattern)operator(:) + You can also give an array of patterns to _include_. These cause methods + to be explicitly intercepted even if they match an exclude pattern: - string(
) - string(registry.register( :foo \) { ... }) - string(registry.intercept( :foo \).) - string(with { |r| r.logging_interceptor }.) - string(with_options :exclude => [ 'foo', 'bar(>4\)', '*(<2\)' ],) - symbol(:include) string(=> [ 'baz' ]) +- string(This would result in the call to #baz being intercepted, even though it) - string(matches an exclude pattern (@*(<2\)@\).) + This would result in the call to #baz being intercepted, even though it + matches an exclude pattern (@*(<2\)@\).)> - operator(-) key+ registry.register( :foo \) { ... } + registry.intercept( :foo \). + with { |r| r.logging_interceptor }. + with_options :exclude => [ 'foo', 'bar(>4\)', '*(<2\)' ], + :include => [ 'baz' ] - string(foo = registry.foo) - string(foo.baz) - string() + foo = registry.foo + foo.baz +
) - string(module A) - string(module B) - string(def register_services( container \)) - string(...) - string(end) - string(module_function :register_services) - string(end) - string(end) - string() +
+ module A + module B + def register_services( container \) + ... + end + module_function :register_services + end + end +- string(If the library has been implemented in this way, you can simply do a) - string(require of the library and then invoke the @register_services@ method.) + If the library has been implemented in this way, you can simply do a + require of the library and then invoke the @register_services@ method. - string(There is a convenience method in Container for doing this. Just call) - string(Container#require, passing the file to require and a string (or symbol\)) - string(identifying the name of the module that contains the registration method.) - string(You can also pass a symbol as the third parameter naming the registration) - string(method, but it defaults to @:register_services@.) + There is a convenience method in Container for doing this. Just call + Container#require, passing the file to require and a string (or symbol\) + identifying the name of the module that contains the registration method. + You can also pass a symbol as the third parameter naming the registration + method, but it defaults to @:register_services@. - string(
) - string(require 'a/b') - string(A::B.register_services( container \)) +- string(The definition context (i.e., the "builder" object\) also supports the) - string(require method, so you can do:) + The definition context (i.e., the "builder" object\) also supports the + require method, so you can do: - string(+ require 'a/b' + A::B.register_services( container \) - comment(# or) + # or - string(container.require( 'a/b', "A::B" \)) - string() + container.require( 'a/b', "A::B" \) +
) - string(container.define do |b|) - string(b.require "a/b", "A::B") - string(b.foo { ... }) - string(...) - string(end) - string() +
+ container.define do |b| + b.require "a/b", "A::B" + b.foo { ... } + ... + end +)> operator(-) key
paragraph block.)
-key(in)operator(:) string(|-)
- string(A paragraph.)
+key(in)operator(:) string
Another paragraph.
) + Another paragraph.)> +key(html)operator(:) stringAnother paragraph.
)> head key(name)operator(:) string(line breaks) key(desc)operator(:) string(Line breaks within paragraphs are transformed into XHTML line breaks.) -key(in)operator(:) string(|-) - string(A paragraph with) - string(a line break.) -key(html)operator(:) string(|-) - string(A paragraph with
)
- string(a line break.
“‘I swear, captain,’ replied I.”
) +key(in)operator(:) string‘“I swear, captain,” replied I.’
) +key(in)operator(:) string
head
key(name)operator(:) string(link alias)
key(desc)operator(:) string(For frequent linking to a single URL, you can specify a link alias with [] square brackets.)
-key(in)operator(:) string(|-)
- string(Here's "a link":tstate, and)
- string("another link":tstate to the same site.)
+key(in)operator(:) string
)
- string(another link to the same site.
Also a paragraph.
) + Also a paragraph.)> +key(html)operator(:) stringAlso a paragraph.
)> head key(name)operator(:) string(block quote) key(desc)operator(:) string(bq. indicates a quoted block of text.) -key(in)operator(:) string(|-) - string(bq. A quotation.) - string(Continued.) +key(in)operator(:) stringA quotation.
)
- string(Continued.
Regular paragraph.
) + Regular paragraph.)> +key(html)operator(:) stringA quotation.
+ Continued.
Regular paragraph.
)> head key(name)operator(:) string(block quote citation) key(desc)operator(:) string(Block quotes may include a citation URL immediately following the period.) key(in)operator(:) string(bq.:http://thresholdstate.com/ A cited quotation.) -key(html)operator(:) string(|-) - string() - string() +key(html)operator(:) stringA cited quotation.
) - string(
A cited quotation.
+ )> head key(name)operator(:) string(footnotes) key(desc)operator(:) string(Footnotes are represented by the fn1., fn2., … block modifiers.) -key(in)operator(:) string(|-) - string(A footnote reference[1].) +key(in)operator(:) string1 The footnote.
) + fn1. The footnote.)> +key(html)operator(:) string1 The footnote.
)> comment(# html: |-) comment(#A footnote reference1.
) comment(#1 The footnote.
) @@ -259,39 +259,39 @@ head key(name)operator(:) string(block code) key(desc)operator(:) string(Code such as XHTML, Javascript or PHP may be displayed using the bc. “block code” modifier. XHTML significant characters such as < and > will be escaped within code blocks – bc is used for displaying code to the reader, not for executing it.) key(note)operator(:) string(Note that Textile will interpret any blank lines within the code as indicating the end of the code block. See Extended Blocks below for an explanation of how to display longer blocks of code.) -key(in)operator(:) string(|-) - string(bc. ) -key(html)operator(:) string(|-) - string(<script>)
- string(// a Javascript example)
- string(alert("Hello World"\);)
- variable(</script>
)
+key(in)operator(:) string<script>
+ // a Javascript example
+ alert("Hello World"\);
+ </script>
)>
head
key(name)operator(:) string(preformatted text)
key(desc)operator(:) string(Use the pre. block modifier for pre-formatted text. XHTML significant characters within the block will be escaped.)
key(note)operator(:) string(pre. is almost identical to bc., with the exception that ...
tags are not used within the block.) -key(in)operator(:) string(|-) - string(pre. Pre-formatted) - string(text) -key(html)operator(:) string(|-) - string()> head key(name)operator(:) string(notextile) key(desc)operator(:) string(The notextile. block modifier applies no Textile processing at all to a block. Raw XHTML characters are passed through untouched, so this may be used to insert explicit XHTML markup, or execute Javascript or PHP code.) -key(in)operator(:) string(|-) - string(notextile. ) - string() -key(html)operator(:) string(|-) - string() - string() +key(in)operator(:) stringPre-formatted) - string(text) +key(in)operator(:) string+key(html)operator(:) string Pre-formatted + text
A
key(name)operator(:) string(extended blocks)
key(desc)operator(:) string(Normally a block modifier covers a single block of text, and ends at the first blank line. To extend a block over multiple paragraphs that include blank lines, use a block modifier with two period marks instead of one. To close the extended block, use a different block modifier on the next paragraph.)
-key(in)operator(:) string(|-)
- string(bq.. A quote.)
+key(in)operator(:) string A quote. The quote continued. Back to paragraph text. A quote. The quote continued. Back to paragraph text. A PHP code example.<?php)
- string(function hello(\) {)
- string(// display a hello message
)
+ p. Following paragraph.)>
+key(html)operator(:) string
) - string(<?php + function hello(\) { + // display a hello message
- string(print "Hello, World";) - operator(}) - string(?>
) +print "Hello, World"; + } + ?>
- string(
Following paragraph.
) + +Following paragraph.
)> head key(name)operator(:) string(extended block attributes) key(desc)operator(:) string(Any block attributes on an extended block will be included on each following block.) -key(in)operator(:) string(|-) - string(p(myclass\).. A classy paragraph.) +key(in)operator(:) stringAnother classy paragraph.
) - string(Not so classy.
) + p. Not so classy.)> +key(html)operator(:) stringAnother classy paragraph.
+Not so classy.
)> head key(name)operator(:) string(extended block quote attributes) key(desc)operator(:) string(Attributes on bq.. extended blocks will be included on both the inner and outer blocks.) -key(in)operator(:) string(|-) - string(bq(myclass\).. Quote paragraph 1.) +key(in)operator(:) stringQuote paragraph 1.
) - string(Paragraph 2.
) - string() + Paragraph 2.)> +key(html)operator(:) stringQuote paragraph 1.
+Paragraph 2.
+ )> head key(name)operator(:) string(extended block code attributes) key(desc)operator(:) string(Attributes on bc.. extended blocks will be included on both the inner and outer blocks.) -key(in)operator(:) string(|-) - string(bc(myclass\).. Code block 1.) +key(in)operator(:) stringCode block 1.
)
+ Code block 2.)>
+key(html)operator(:) stringCode block 1.
- string(Code block 2.
)
+ Code block 2.
)>
head
key(name)operator(:) string(raw xhtml left in tact)
key(desc)operator(:) string(Raw XHTML tags are generally left untouched by Textile. Span tags that enclose only part of a block of text will be left intact, while the block itself is treated normally.)
@@ -446,18 +446,18 @@ key(html)operator(:) string...tags are escaped for display. ) -key(in)operator(:) string(|-) - string(
) - string(A HTML example) - string() -key(html)operator(:) string(|-) - string(
) - string(A HTML <b>example</b>) - string() +key(in)operator(:) string
...
tags are escaped for display.)
-key(in)operator(:) string(|-)
- string()
- string(Another HTML example)
- string(
)
-key(html)operator(:) string(|-)
- string()
- string(Another HTML <b>example</b>)
- string(
+ Another HTML <b>example</b>
+
)>
key(note)operator(:) string(This syntax is supported for backwards compatibility only, and doesn’t always work as expected. The block modifier bc. should be used instead.)
head
key(name)operator(:) string(notextile tags)
key(desc)operator(:) string(Blocks enclosed by the pseudo tag ) comment(# p. Leave me alone) @@ -538,204 +538,204 @@ key(html)operator(:) string(
Left head
key(name)operator(:) string(numeric lists) key(desc)operator(:) string(Numeric lists are represented by lines beginning with) comment(#.) -key(in)operator(:) string(|-) - comment(# Item one) - comment(# Item two) - comment(# Item three) -key(html)operator(:) string(|-) - string(a | ) - string(simple | ) - string(table | ) - string(
a | ) - string(table | ) - string(heading | ) - string(
---|---|---|
a | ) - string(table | ) - string(row | ) - string(
a | ) - string(styled | ) - string(cell | ) - string(
a | ) - string(classy | ) - string(row | ) - string(
a | ) - string(classy | ) - string(table | ) - string(
a | ) - string(classy | ) - string(table | ) - string(
top alignment | ) - string(
middle alignment | ) - string(
bottom alignment | ) - string(
spans two cols | ) - string(|
col 1 | ) - string(col 2 | ) - string(
spans 3 rows | ) - string(row a | ) - string(
row b | ) - string(|
row c | ) - string(
2 logn
) head key(name)operator(:) string(modifier without whitespace 4) key(desc)operator(:) string(It can also be used to include links and images without surrounding whitespace.) -key(in)operator(:) string(|-) - string(A close[!/img.gif!]image.) - string(A tight["text":http://thresholdstate.com/]link.) - string(A ["footnoted link":http://thresholdstate.com/][1].) -key(html)operator(:) string(|-) - string(A closeimage.
)
- string(A tighttextlink.
)
- string(A footnoted link1.
A closeimage.
)
comment(# A tighttextlink.
)
diff --git a/test/scanners/yaml/website.expected.raydebug b/test/scanners/yaml/website.expected.raydebug
index 171afa3..45b2498 100644
--- a/test/scanners/yaml/website.expected.raydebug
+++ b/test/scanners/yaml/website.expected.raydebug
@@ -1,9 +1,9 @@
-string(%YAML 1.2)
+doctype(%YAML 1.2)
head