org-ruby 0.5.1 → 0.5.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (89) hide show
  1. data/History.txt +81 -77
  2. data/README.rdoc +66 -66
  3. data/Rakefile +28 -28
  4. data/bin/org-ruby +40 -40
  5. data/lib/org-ruby.rb +50 -50
  6. data/lib/org-ruby/headline.rb +102 -120
  7. data/lib/org-ruby/html_output_buffer.rb +174 -156
  8. data/lib/org-ruby/line.rb +206 -260
  9. data/lib/org-ruby/output_buffer.rb +227 -191
  10. data/lib/org-ruby/parser.rb +320 -272
  11. data/lib/org-ruby/regexp_helper.rb +156 -156
  12. data/lib/org-ruby/textile_output_buffer.rb +67 -68
  13. data/spec/data/freeform-example.org +113 -113
  14. data/spec/data/freeform.org +111 -111
  15. data/spec/data/hyp-planning.org +335 -335
  16. data/spec/data/remember.org +53 -53
  17. data/spec/headline_spec.rb +55 -55
  18. data/spec/html_examples/advanced-code.html +36 -36
  19. data/spec/html_examples/advanced-code.org +53 -53
  20. data/spec/html_examples/advanced-lists.html +31 -31
  21. data/spec/html_examples/advanced-lists.org +31 -31
  22. data/spec/html_examples/block_code.html +28 -28
  23. data/spec/html_examples/block_code.org +35 -35
  24. data/spec/html_examples/blockquote.html +7 -7
  25. data/spec/html_examples/blockquote.org +13 -13
  26. data/spec/html_examples/code-comment.html +18 -18
  27. data/spec/html_examples/code-comment.org +22 -22
  28. data/spec/html_examples/custom-seq-todo.html +15 -15
  29. data/spec/html_examples/custom-seq-todo.org +24 -24
  30. data/spec/html_examples/custom-todo.html +15 -15
  31. data/spec/html_examples/custom-todo.org +24 -24
  32. data/spec/html_examples/custom-typ-todo.html +15 -15
  33. data/spec/html_examples/custom-typ-todo.org +24 -24
  34. data/spec/html_examples/entities.html +4 -4
  35. data/spec/html_examples/entities.org +11 -11
  36. data/spec/html_examples/escape-pre.html +6 -6
  37. data/spec/html_examples/escape-pre.org +6 -6
  38. data/spec/html_examples/export-exclude-only.html +13 -13
  39. data/spec/html_examples/export-exclude-only.org +81 -81
  40. data/spec/html_examples/export-keywords.html +4 -4
  41. data/spec/html_examples/export-keywords.org +18 -18
  42. data/spec/html_examples/export-tags.html +8 -8
  43. data/spec/html_examples/export-tags.org +82 -82
  44. data/spec/html_examples/export-title.html +2 -2
  45. data/spec/html_examples/export-title.org +4 -4
  46. data/spec/html_examples/html-literal.html +2 -2
  47. data/spec/html_examples/html-literal.org +6 -6
  48. data/spec/html_examples/inline-formatting.html +10 -10
  49. data/spec/html_examples/inline-formatting.org +17 -17
  50. data/spec/html_examples/link-features.html +8 -8
  51. data/spec/html_examples/link-features.org +19 -19
  52. data/spec/html_examples/lists.html +19 -19
  53. data/spec/html_examples/lists.org +36 -36
  54. data/spec/html_examples/metadata-comment.html +27 -27
  55. data/spec/html_examples/metadata-comment.org +30 -30
  56. data/spec/html_examples/only-list.html +5 -5
  57. data/spec/html_examples/only-list.org +3 -3
  58. data/spec/html_examples/only-table.html +6 -6
  59. data/spec/html_examples/only-table.org +5 -5
  60. data/spec/html_examples/skip-header.html +3 -3
  61. data/spec/html_examples/skip-header.org +28 -28
  62. data/spec/html_examples/skip-table.html +4 -4
  63. data/spec/html_examples/skip-table.org +19 -19
  64. data/spec/html_examples/tables.html +20 -20
  65. data/spec/html_examples/tables.org +26 -26
  66. data/spec/html_examples/text.html +2 -2
  67. data/spec/html_examples/text.org +16 -16
  68. data/spec/line_spec.rb +151 -151
  69. data/spec/output_buffer_spec.rb +19 -0
  70. data/spec/parser_spec.rb +152 -166
  71. data/spec/regexp_helper_spec.rb +57 -57
  72. data/spec/spec_helper.rb +21 -21
  73. data/spec/textile_examples/block_code.org +35 -35
  74. data/spec/textile_examples/block_code.textile +29 -29
  75. data/spec/textile_examples/blockquote.org +13 -13
  76. data/spec/textile_examples/blockquote.textile +11 -11
  77. data/spec/textile_examples/keywords.org +13 -13
  78. data/spec/textile_examples/keywords.textile +11 -11
  79. data/spec/textile_examples/links.org +11 -11
  80. data/spec/textile_examples/links.textile +10 -10
  81. data/spec/textile_examples/lists.org +36 -36
  82. data/spec/textile_examples/lists.textile +20 -20
  83. data/spec/textile_examples/single-space-plain-list.org +13 -13
  84. data/spec/textile_examples/single-space-plain-list.textile +10 -10
  85. data/spec/textile_examples/tables.org +26 -26
  86. data/spec/textile_examples/tables.textile +23 -23
  87. data/spec/textile_output_buffer_spec.rb +21 -21
  88. data/tasks/test_case.rake +49 -49
  89. metadata +3 -2
data/spec/spec_helper.rb CHANGED
@@ -1,21 +1,21 @@
1
-
2
- require File.expand_path(
3
- File.join(File.dirname(__FILE__), %w[.. lib org-ruby]))
4
-
5
-
6
- RememberFile = File.join(File.dirname(__FILE__), %w[data remember.org])
7
- FreeformFile = File.join(File.dirname(__FILE__), %w[data freeform.org])
8
- FreeformExampleFile = File.join(File.dirname(__FILE__), %w[data freeform-example.org])
9
-
10
-
11
- Spec::Runner.configure do |config|
12
- # == Mock Framework
13
- #
14
- # RSpec uses it's own mocking framework by default. If you prefer to
15
- # use mocha, flexmock or RR, uncomment the appropriate line:
16
- #
17
- # config.mock_with :mocha
18
- # config.mock_with :flexmock
19
- # config.mock_with :rr
20
- end
21
-
1
+
2
+ require File.expand_path(
3
+ File.join(File.dirname(__FILE__), %w[.. lib org-ruby]))
4
+
5
+
6
+ RememberFile = File.join(File.dirname(__FILE__), %w[data remember.org])
7
+ FreeformFile = File.join(File.dirname(__FILE__), %w[data freeform.org])
8
+ FreeformExampleFile = File.join(File.dirname(__FILE__), %w[data freeform-example.org])
9
+
10
+
11
+ Spec::Runner.configure do |config|
12
+ # == Mock Framework
13
+ #
14
+ # RSpec uses it's own mocking framework by default. If you prefer to
15
+ # use mocha, flexmock or RR, uncomment the appropriate line:
16
+ #
17
+ # config.mock_with :mocha
18
+ # config.mock_with :flexmock
19
+ # config.mock_with :rr
20
+ end
21
+
@@ -1,35 +1,35 @@
1
- * Block Code
2
-
3
- I need to get block code examples working. In =orgmode=, they look
4
- like this:
5
-
6
- #+BEGIN_EXAMPLE
7
-
8
- def initialize(output)
9
- @output = output
10
- @buffer = ""
11
- @output_type = :start
12
- @list_indent_stack = []
13
- @paragraph_modifier = nil
14
-
15
- @logger = Logger.new(STDERR)
16
- @logger.level = Logger::WARN
17
- end
18
-
19
- #+END_EXAMPLE
20
-
21
- And now I should be back to normal text.
22
-
23
- Putting in another paragraph for good measure.
24
-
25
-
26
- Code should also get cancelled by a list, thus:
27
-
28
- #+BEGIN_EXAMPLE
29
- This is my code!
30
-
31
- Another line!
32
- #+END_EXAMPLE
33
-
34
- - My list should cancel this.
35
- - Another list line.
1
+ * Block Code
2
+
3
+ I need to get block code examples working. In =orgmode=, they look
4
+ like this:
5
+
6
+ #+BEGIN_EXAMPLE
7
+
8
+ def initialize(output)
9
+ @output = output
10
+ @buffer = ""
11
+ @output_type = :start
12
+ @list_indent_stack = []
13
+ @paragraph_modifier = nil
14
+
15
+ @logger = Logger.new(STDERR)
16
+ @logger.level = Logger::WARN
17
+ end
18
+
19
+ #+END_EXAMPLE
20
+
21
+ And now I should be back to normal text.
22
+
23
+ Putting in another paragraph for good measure.
24
+
25
+
26
+ Code should also get cancelled by a list, thus:
27
+
28
+ #+BEGIN_EXAMPLE
29
+ This is my code!
30
+
31
+ Another line!
32
+ #+END_EXAMPLE
33
+
34
+ - My list should cancel this.
35
+ - Another list line.
@@ -1,29 +1,29 @@
1
- h1. Block Code
2
-
3
- I need to get block code examples working. In @orgmode@, they look like this:
4
-
5
- bc..
6
- def initialize(output)
7
- @output = output
8
- @buffer = ""
9
- @output_type = :start
10
- @list_indent_stack = []
11
- @paragraph_modifier = nil
12
-
13
- @logger = Logger.new(STDERR)
14
- @logger.level = Logger::WARN
15
- end
16
-
17
-
18
- p. And now I should be back to normal text.
19
-
20
- Putting in another paragraph for good measure.
21
-
22
- Code should also get cancelled by a list, thus:
23
-
24
- bc.. This is my code!
25
-
26
- Another line!
27
-
28
- * My list should cancel this.
29
- * Another list line.
1
+ h1. Block Code
2
+
3
+ I need to get block code examples working. In @orgmode@, they look like this:
4
+
5
+ bc..
6
+ def initialize(output)
7
+ @output = output
8
+ @buffer = ""
9
+ @output_type = :start
10
+ @list_indent_stack = []
11
+ @paragraph_modifier = nil
12
+
13
+ @logger = Logger.new(STDERR)
14
+ @logger.level = Logger::WARN
15
+ end
16
+
17
+
18
+ p. And now I should be back to normal text.
19
+
20
+ Putting in another paragraph for good measure.
21
+
22
+ Code should also get cancelled by a list, thus:
23
+
24
+ bc.. This is my code!
25
+
26
+ Another line!
27
+
28
+ * My list should cancel this.
29
+ * Another list line.
@@ -1,13 +1,13 @@
1
- BLOCKQUOTE
2
-
3
- Testing that I can have block quotes:
4
-
5
- #+BEGIN_QUOTE
6
-
7
- /Example:/
8
-
9
- This is blockquote text.
10
-
11
- #+END_QUOTE
12
-
13
- And now I'm back to normal text!
1
+ BLOCKQUOTE
2
+
3
+ Testing that I can have block quotes:
4
+
5
+ #+BEGIN_QUOTE
6
+
7
+ /Example:/
8
+
9
+ This is blockquote text.
10
+
11
+ #+END_QUOTE
12
+
13
+ And now I'm back to normal text!
@@ -1,11 +1,11 @@
1
- BLOCKQUOTE
2
-
3
- Testing that I can have block quotes:
4
-
5
-
6
- bq. _Example:_
7
-
8
- bq. This is blockquote text.
9
-
10
-
11
- And now I'm back to normal text!
1
+ BLOCKQUOTE
2
+
3
+ Testing that I can have block quotes:
4
+
5
+
6
+ bq. _Example:_
7
+
8
+ bq. This is blockquote text.
9
+
10
+
11
+ And now I'm back to normal text!
@@ -1,13 +1,13 @@
1
- KEYWORDS
2
-
3
- By default, I don't want keywords exported to textile.
4
-
5
- * DONE Recognize standard keywords
6
- CLOSED: [2009-12-21 Mon 15:23]
7
-
8
- The standard =orgmode= keywords are TODO and DONE. Recognize those.
9
-
10
- * TODO Recongize buffer-specific keywords
11
-
12
- There's a way to define a custom keyword list in a buffer. Research
13
- that and handle it.
1
+ KEYWORDS
2
+
3
+ By default, I don't want keywords exported to textile.
4
+
5
+ * DONE Recognize standard keywords
6
+ CLOSED: [2009-12-21 Mon 15:23]
7
+
8
+ The standard =orgmode= keywords are TODO and DONE. Recognize those.
9
+
10
+ * TODO Recongize buffer-specific keywords
11
+
12
+ There's a way to define a custom keyword list in a buffer. Research
13
+ that and handle it.
@@ -1,11 +1,11 @@
1
- KEYWORDS
2
-
3
- By default, I don't want keywords exported to textile.
4
-
5
- h1. Recognize standard keywords
6
-
7
- The standard @orgmode@ keywords are TODO and DONE. Recognize those.
8
-
9
- h1. Recongize buffer-specific keywords
10
-
11
- There's a way to define a custom keyword list in a buffer. Research that and handle it.
1
+ KEYWORDS
2
+
3
+ By default, I don't want keywords exported to textile.
4
+
5
+ h1. Recognize standard keywords
6
+
7
+ The standard @orgmode@ keywords are TODO and DONE. Recognize those.
8
+
9
+ h1. Recongize buffer-specific keywords
10
+
11
+ There's a way to define a custom keyword list in a buffer. Research that and handle it.
@@ -1,11 +1,11 @@
1
- LINKS
2
-
3
- [[http://www.bing.com]]
4
-
5
- * Supported Link Styles
6
-
7
- - [[http://www.hotmail.com]] => Simple
8
- - [[http://www.hotmail.com][Hotmail]] => With link text
9
- - [[http://url/with spaces][with spaces]]
10
- - [[http://url/with spaces]]
11
-
1
+ LINKS
2
+
3
+ [[http://www.bing.com]]
4
+
5
+ * Supported Link Styles
6
+
7
+ - [[http://www.hotmail.com]] => Simple
8
+ - [[http://www.hotmail.com][Hotmail]] => With link text
9
+ - [[http://url/with spaces][with spaces]]
10
+ - [[http://url/with spaces]]
11
+
@@ -1,10 +1,10 @@
1
- LINKS
2
-
3
- "http://www.bing.com":http://www.bing.com
4
-
5
- h1. Supported Link Styles
6
-
7
- * "http://www.hotmail.com":http://www.hotmail.com => Simple
8
- * "Hotmail":http://www.hotmail.com => With link text
9
- * "with spaces":http://url/with%20spaces
10
- * "http://url/with spaces":http://url/with%20spaces
1
+ LINKS
2
+
3
+ "http://www.bing.com":http://www.bing.com
4
+
5
+ h1. Supported Link Styles
6
+
7
+ * "http://www.hotmail.com":http://www.hotmail.com => Simple
8
+ * "Hotmail":http://www.hotmail.com => With link text
9
+ * "with spaces":http://url/with%20spaces
10
+ * "http://url/with spaces":http://url/with%20spaces
@@ -1,36 +1,36 @@
1
- * Lists
2
-
3
- I want to make sure I have great support for lists.
4
-
5
- - This is an unordered list
6
- - This continues the unordered list
7
-
8
- And this is a paragraph *after* the list.
9
-
10
- ** Wrapping within the list
11
-
12
- - This is a single-line list item in the org file.
13
- - Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam
14
- nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam
15
- erat, sed diam voluptua. At vero eos et accusam et justo duo
16
- dolores et ea rebum. Stet clita kasd gubergren, no sea takimata
17
- sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit
18
- amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor
19
- invidunt ut labore et dolore magna aliquyam erat, sed diam
20
- voluptua. At vero eos et accusam et justo duo dolores et ea
21
- rebum. Stet clita kasd gubergren, no sea takimata sanctus est
22
- Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet,
23
- consetetur sadipscing elitr, sed diam nonumy eirmod tempor
24
- invidunt ut labore et dolore magna aliquyam erat, sed diam
25
- voluptua. At vero eos et accusam et justo duo dolores et ea
26
- rebum. Stet clita kasd gubergren, no sea takimata sanctus est
27
- Lorem ipsum dolor sit amet.
28
- - And this is the next item. The previous item needs to be on one
29
- line to keep =textile= happy.
30
- - Ditto the previous line, actually.
31
-
32
- ** Edge cases
33
-
34
- - This is a single-line list.
35
- And this is a *separate paragraph.* Note the indentation in the org
36
- file.
1
+ * Lists
2
+
3
+ I want to make sure I have great support for lists.
4
+
5
+ - This is an unordered list
6
+ - This continues the unordered list
7
+
8
+ And this is a paragraph *after* the list.
9
+
10
+ ** Wrapping within the list
11
+
12
+ - This is a single-line list item in the org file.
13
+ - Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam
14
+ nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam
15
+ erat, sed diam voluptua. At vero eos et accusam et justo duo
16
+ dolores et ea rebum. Stet clita kasd gubergren, no sea takimata
17
+ sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit
18
+ amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor
19
+ invidunt ut labore et dolore magna aliquyam erat, sed diam
20
+ voluptua. At vero eos et accusam et justo duo dolores et ea
21
+ rebum. Stet clita kasd gubergren, no sea takimata sanctus est
22
+ Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet,
23
+ consetetur sadipscing elitr, sed diam nonumy eirmod tempor
24
+ invidunt ut labore et dolore magna aliquyam erat, sed diam
25
+ voluptua. At vero eos et accusam et justo duo dolores et ea
26
+ rebum. Stet clita kasd gubergren, no sea takimata sanctus est
27
+ Lorem ipsum dolor sit amet.
28
+ - And this is the next item. The previous item needs to be on one
29
+ line to keep =textile= happy.
30
+ - Ditto the previous line, actually.
31
+
32
+ ** Edge cases
33
+
34
+ - This is a single-line list.
35
+ And this is a *separate paragraph.* Note the indentation in the org
36
+ file.
@@ -1,20 +1,20 @@
1
- h1. Lists
2
-
3
- I want to make sure I have great support for lists.
4
-
5
- * This is an unordered list
6
- * This continues the unordered list
7
-
8
- And this is a paragraph *after* the list.
9
-
10
- h2. Wrapping within the list
11
-
12
- * This is a single-line list item in the org file.
13
- * Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
14
- * And this is the next item. The previous item needs to be on one line to keep @textile@ happy.
15
- * Ditto the previous line, actually.
16
-
17
- h2. Edge cases
18
-
19
- * This is a single-line list.
20
- And this is a *separate paragraph.* Note the indentation in the org file.
1
+ h1. Lists
2
+
3
+ I want to make sure I have great support for lists.
4
+
5
+ * This is an unordered list
6
+ * This continues the unordered list
7
+
8
+ And this is a paragraph *after* the list.
9
+
10
+ h2. Wrapping within the list
11
+
12
+ * This is a single-line list item in the org file.
13
+ * Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
14
+ * And this is the next item. The previous item needs to be on one line to keep @textile@ happy.
15
+ * Ditto the previous line, actually.
16
+
17
+ h2. Edge cases
18
+
19
+ * This is a single-line list.
20
+ And this is a *separate paragraph.* Note the indentation in the org file.
@@ -1,13 +1,13 @@
1
- ** Anatomy of a BVP
2
-
3
- Each BVP followed a simple, one-page template with the following
4
- parts:
5
-
6
- - Customer Summary
7
- - Storyboard
8
- - Requirements
9
- - Partner teams
10
-
11
- The following sections walk through each section and give an
12
- example from one of our BVPs, [[http://windows/hyper-v/initiatives/Value Propositions/DynamicDatacenter-ValueProp.docx][Resource-Smart Virtualization
13
- Infrastructure]] (also called /Dynamic Datacenter/).
1
+ ** Anatomy of a BVP
2
+
3
+ Each BVP followed a simple, one-page template with the following
4
+ parts:
5
+
6
+ - Customer Summary
7
+ - Storyboard
8
+ - Requirements
9
+ - Partner teams
10
+
11
+ The following sections walk through each section and give an
12
+ example from one of our BVPs, [[http://windows/hyper-v/initiatives/Value Propositions/DynamicDatacenter-ValueProp.docx][Resource-Smart Virtualization
13
+ Infrastructure]] (also called /Dynamic Datacenter/).