org-ruby 0.3.0 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (58) hide show
  1. data/.bnsignore +18 -0
  2. data/History.txt +40 -32
  3. data/README.txt +66 -66
  4. data/Rakefile +27 -26
  5. data/bin/org-ruby +40 -40
  6. data/lib/org-ruby.rb +50 -50
  7. data/lib/org-ruby/headline.rb +80 -75
  8. data/lib/org-ruby/html_output_buffer.rb +105 -81
  9. data/lib/org-ruby/line.rb +173 -173
  10. data/lib/org-ruby/output_buffer.rb +172 -154
  11. data/lib/org-ruby/parser.rb +80 -76
  12. data/lib/org-ruby/regexp_helper.rb +156 -156
  13. data/lib/org-ruby/textile_output_buffer.rb +67 -67
  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-lists.html +31 -0
  19. data/spec/html_examples/advanced-lists.org +31 -0
  20. data/spec/html_examples/block_code.html +30 -30
  21. data/spec/html_examples/block_code.org +35 -35
  22. data/spec/html_examples/blockquote.html +7 -7
  23. data/spec/html_examples/blockquote.org +13 -13
  24. data/spec/html_examples/escape-pre.html +7 -7
  25. data/spec/html_examples/escape-pre.org +6 -6
  26. data/spec/html_examples/inline-formatting.html +10 -10
  27. data/spec/html_examples/inline-formatting.org +17 -17
  28. data/spec/html_examples/lists.html +19 -19
  29. data/spec/html_examples/lists.org +36 -36
  30. data/spec/html_examples/only-list.html +5 -5
  31. data/spec/html_examples/only-list.org +3 -3
  32. data/spec/html_examples/only-table.html +6 -6
  33. data/spec/html_examples/only-table.org +5 -5
  34. data/spec/html_examples/tables.html +20 -20
  35. data/spec/html_examples/tables.org +26 -26
  36. data/spec/html_examples/text.html +2 -2
  37. data/spec/html_examples/text.org +16 -16
  38. data/spec/line_spec.rb +89 -89
  39. data/spec/parser_spec.rb +86 -86
  40. data/spec/regexp_helper_spec.rb +57 -57
  41. data/spec/spec_helper.rb +20 -20
  42. data/spec/textile_examples/block_code.org +35 -35
  43. data/spec/textile_examples/block_code.textile +29 -29
  44. data/spec/textile_examples/blockquote.org +13 -13
  45. data/spec/textile_examples/blockquote.textile +11 -11
  46. data/spec/textile_examples/keywords.org +13 -13
  47. data/spec/textile_examples/keywords.textile +11 -11
  48. data/spec/textile_examples/links.org +11 -11
  49. data/spec/textile_examples/links.textile +10 -10
  50. data/spec/textile_examples/lists.org +36 -36
  51. data/spec/textile_examples/lists.textile +20 -20
  52. data/spec/textile_examples/single-space-plain-list.org +13 -13
  53. data/spec/textile_examples/single-space-plain-list.textile +10 -10
  54. data/spec/textile_examples/tables.org +26 -26
  55. data/spec/textile_examples/tables.textile +23 -23
  56. data/spec/textile_output_buffer_spec.rb +21 -21
  57. data/tasks/test_case.rake +49 -49
  58. metadata +5 -2
@@ -1,53 +1,53 @@
1
- * New Ideas
2
- ** YAML header in Webby
3
-
4
- Make sure you don't have TABS here. Best practice: Configure your
5
- editor to use spaces instaed of tabs, and if you can see whitespace,
6
- even better.
7
-
8
- In emacs, set indent-tabs-mode to NIL.
9
- ** Ruby Gems behind Proxy
10
-
11
- Set the following environment variable:
12
-
13
- So, I added a User Variable for my account called http_proxy with
14
- the value of http://<proxyserveraddress>:8080, rebooted, ran plan
15
- old vanillia gem install rails –include-dependencies, and magically,
16
- it worked
17
- ** Hyper-V technical info
18
-
19
- http://technet.microsoft.com/en-us/dd565807.aspx
20
- ** VirtualBox
21
-
22
- Virtualization software from Sun. Looks like it might be more for
23
- dev/test. I'm surprised this hasn't popped at
24
- all. http://www.virtualbox.org/. Backed by Sun.
25
- ** Interesting LaTeX article
26
-
27
- http://nitens.org/taraborelli/latex -- on the virtues of LaTeX
28
- ** XEmacs / Emacs internals
29
-
30
- Looks like an interesting resource if I want to learn how Emacs works.
31
-
32
- http://www.xemacs.org/Documentation/21.5/html/internals_9.html#SEC19
33
- ** MikTeX
34
-
35
- Get it here: http://www.miktex.org/portable/
36
- ** Orgmode publishing tutorial
37
-
38
- [[http://orgmode.org/worg/org-tutorials/org-publish-html-tutorial.php][Publishing Org-mode files to HTML]]
39
- ** Git and Live Mesh
40
-
41
- This is really helpful:
42
- http://whereslou.com/2009/06/04/using-live-mesh-and-git-the-best-of-both-worlds
43
- ** VDI deployment stats
44
-
45
- Key takeaways:
46
- - 74% are using VDI in production or pilot ... but 45% of those using have less than 100 users
47
- - Upward of 55% of the DAC members [project] they will have up to 50% of their users using VDI in 3 years (~1/2 of those will have > 50%)
48
- - No real surprises on the reasons / benefits etc
49
- - Interestingly ... even if TS supported all client apps / supported user-install apps - 100% of the DAC preferred VDI over TS
50
- - Most companies said a portion of their users would have VDI as the primary replacement desktop (60% < 20% of users, 32% 21-50% of users)
51
- ** Hyper-V Scheduler Information
52
-
53
- http://msdn.microsoft.com/en-us/library/bb969782.aspx
1
+ * New Ideas
2
+ ** YAML header in Webby
3
+
4
+ Make sure you don't have TABS here. Best practice: Configure your
5
+ editor to use spaces instaed of tabs, and if you can see whitespace,
6
+ even better.
7
+
8
+ In emacs, set indent-tabs-mode to NIL.
9
+ ** Ruby Gems behind Proxy
10
+
11
+ Set the following environment variable:
12
+
13
+ So, I added a User Variable for my account called http_proxy with
14
+ the value of http://<proxyserveraddress>:8080, rebooted, ran plan
15
+ old vanillia gem install rails –include-dependencies, and magically,
16
+ it worked
17
+ ** Hyper-V technical info
18
+
19
+ http://technet.microsoft.com/en-us/dd565807.aspx
20
+ ** VirtualBox
21
+
22
+ Virtualization software from Sun. Looks like it might be more for
23
+ dev/test. I'm surprised this hasn't popped at
24
+ all. http://www.virtualbox.org/. Backed by Sun.
25
+ ** Interesting LaTeX article
26
+
27
+ http://nitens.org/taraborelli/latex -- on the virtues of LaTeX
28
+ ** XEmacs / Emacs internals
29
+
30
+ Looks like an interesting resource if I want to learn how Emacs works.
31
+
32
+ http://www.xemacs.org/Documentation/21.5/html/internals_9.html#SEC19
33
+ ** MikTeX
34
+
35
+ Get it here: http://www.miktex.org/portable/
36
+ ** Orgmode publishing tutorial
37
+
38
+ [[http://orgmode.org/worg/org-tutorials/org-publish-html-tutorial.php][Publishing Org-mode files to HTML]]
39
+ ** Git and Live Mesh
40
+
41
+ This is really helpful:
42
+ http://whereslou.com/2009/06/04/using-live-mesh-and-git-the-best-of-both-worlds
43
+ ** VDI deployment stats
44
+
45
+ Key takeaways:
46
+ - 74% are using VDI in production or pilot ... but 45% of those using have less than 100 users
47
+ - Upward of 55% of the DAC members [project] they will have up to 50% of their users using VDI in 3 years (~1/2 of those will have > 50%)
48
+ - No real surprises on the reasons / benefits etc
49
+ - Interestingly ... even if TS supported all client apps / supported user-install apps - 100% of the DAC preferred VDI over TS
50
+ - Most companies said a portion of their users would have VDI as the primary replacement desktop (60% < 20% of users, 32% 21-50% of users)
51
+ ** Hyper-V Scheduler Information
52
+
53
+ http://msdn.microsoft.com/en-us/library/bb969782.aspx
@@ -1,55 +1,55 @@
1
-
2
- require File.join(File.dirname(__FILE__), %w[spec_helper])
3
-
4
- describe Orgmode::Headline do
5
-
6
- it "should recognize headlines that start with asterisks" do
7
- Orgmode::Headline.headline?("*** test\n").should_not be_nil
8
- end
9
-
10
- it "should reject headlines without headlines at the start" do
11
- Orgmode::Headline.headline?(" nope!").should be_nil
12
- Orgmode::Headline.headline?(" tricked you!!!***").should be_nil
13
- end
14
-
15
- it "should reject improper initialization" do
16
- lambda { Orgmode::Headline.new " tricked**" }.should raise_error
17
- end
18
-
19
- it "should properly determine headline level" do
20
- samples = ["* one", "** two", "*** three", "**** four"]
21
- expected = 1
22
- samples.each do |sample|
23
- h = Orgmode::Headline.new sample
24
- h.level.should eql(expected)
25
- expected += 1
26
- end
27
- end
28
-
29
- it "should find simple headline text" do
30
- h = Orgmode::Headline.new "*** sample"
31
- h.headline_text.should eql("sample")
32
- end
33
-
34
- it "should understand tags" do
35
- h = Orgmode::Headline.new "*** sample :tag:tag2:\n"
36
- h.headline_text.should eql("sample")
37
- h.should have(2).tags
38
- h.tags[0].should eql("tag")
39
- h.tags[1].should eql("tag2")
40
- end
41
-
42
- it "should understand a single tag" do
43
- h = Orgmode::Headline.new "*** sample :tag:\n"
44
- h.headline_text.should eql("sample")
45
- h.should have(1).tags
46
- h.tags[0].should eql("tag")
47
- end
48
-
49
- it "should understand keywords" do
50
- h = Orgmode::Headline.new "*** TODO Feed cat :home:"
51
- h.headline_text.should eql("Feed cat")
52
- h.keyword.should eql("TODO")
53
- end
54
- end
55
-
1
+
2
+ require File.join(File.dirname(__FILE__), %w[spec_helper])
3
+
4
+ describe Orgmode::Headline do
5
+
6
+ it "should recognize headlines that start with asterisks" do
7
+ Orgmode::Headline.headline?("*** test\n").should_not be_nil
8
+ end
9
+
10
+ it "should reject headlines without headlines at the start" do
11
+ Orgmode::Headline.headline?(" nope!").should be_nil
12
+ Orgmode::Headline.headline?(" tricked you!!!***").should be_nil
13
+ end
14
+
15
+ it "should reject improper initialization" do
16
+ lambda { Orgmode::Headline.new " tricked**" }.should raise_error
17
+ end
18
+
19
+ it "should properly determine headline level" do
20
+ samples = ["* one", "** two", "*** three", "**** four"]
21
+ expected = 1
22
+ samples.each do |sample|
23
+ h = Orgmode::Headline.new sample
24
+ h.level.should eql(expected)
25
+ expected += 1
26
+ end
27
+ end
28
+
29
+ it "should find simple headline text" do
30
+ h = Orgmode::Headline.new "*** sample"
31
+ h.headline_text.should eql("sample")
32
+ end
33
+
34
+ it "should understand tags" do
35
+ h = Orgmode::Headline.new "*** sample :tag:tag2:\n"
36
+ h.headline_text.should eql("sample")
37
+ h.should have(2).tags
38
+ h.tags[0].should eql("tag")
39
+ h.tags[1].should eql("tag2")
40
+ end
41
+
42
+ it "should understand a single tag" do
43
+ h = Orgmode::Headline.new "*** sample :tag:\n"
44
+ h.headline_text.should eql("sample")
45
+ h.should have(1).tags
46
+ h.tags[0].should eql("tag")
47
+ end
48
+
49
+ it "should understand keywords" do
50
+ h = Orgmode::Headline.new "*** TODO Feed cat :home:"
51
+ h.headline_text.should eql("Feed cat")
52
+ h.keyword.should eql("TODO")
53
+ end
54
+ end
55
+
@@ -0,0 +1,31 @@
1
+ <p class="title">Advanced Lists</p>
2
+ <p><code>org-ruby</code> supports the following list features of <code>org-mode</code>:</p>
3
+ <h1>Nested lists</h1>
4
+ <ul>
5
+ <li>You can have nested lists</li>
6
+ <li>This is first-level</li>
7
+ <ul>
8
+ <li>This is a nested item</li>
9
+ <li>This is another nested item</li>
10
+ </ul>
11
+ <li>Back to the first level</li>
12
+ <li>Another first level item</li>
13
+ <ol>
14
+ <li>This is a numbered list nested within the unordered list</li>
15
+ <li>This is another numbered item</li>
16
+ </ol>
17
+ </ul>
18
+ <p>Note the list ends just some more text. Make sure both list blocks are closed.</p>
19
+ <h1>Multi-paragraph list items</h1>
20
+ <p>This list will end with the end-of-file. Make sure all blocks are closed.</p>
21
+ <ul>
22
+ <li>This is a list item</li>
23
+ <li>This list item has multiple paragraphs.</li>
24
+ <p>This is paragraph two.</p>
25
+ <p>And paragraph three.</p>
26
+ <li>Back to a list item.</li>
27
+ <ul>
28
+ <li>Nested, just for grins!</li>
29
+ <li>woo hoo!</li>
30
+ </ul>
31
+ </ul>
@@ -0,0 +1,31 @@
1
+ Advanced Lists
2
+
3
+ =org-ruby= supports the following list features of =org-mode=:
4
+
5
+ * Nested lists
6
+
7
+ - You can have nested lists
8
+ - This is first-level
9
+ - This is a nested item
10
+ - This is another nested item
11
+ - Back to the first level
12
+ - Another first level item
13
+ 1. This is a numbered list nested within the unordered list
14
+ 2. This is another numbered item
15
+
16
+ Note the list ends just some more text. Make sure both list blocks
17
+ are closed.
18
+
19
+ * Multi-paragraph list items
20
+
21
+ This list will end with the end-of-file. Make sure all blocks are closed.
22
+
23
+ - This is a list item
24
+ - This list item has multiple paragraphs.
25
+
26
+ This is paragraph two.
27
+
28
+ And paragraph three.
29
+ - Back to a list item.
30
+ - Nested, just for grins!
31
+ - woo hoo!
@@ -1,30 +1,30 @@
1
- <h1>Block Code</h1>
2
- <p>I need to get block code examples working. In <code>orgmode</code>, they look like this:</p>
3
- <pre>
4
-
5
-
6
- def initialize(output)
7
- @output = output
8
- @buffer = &quot;&quot;
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
- </pre>
18
- <p>And now I should be back to normal text.</p>
19
- <p>Putting in another paragraph for good measure.</p>
20
- <p>Code should also get cancelled by a list, thus:</p>
21
- <pre>
22
-
23
- This is my code!
24
-
25
- Another line!
26
- </pre>
27
- <ul>
28
- <li>My list should cancel this.</li>
29
- <li>Another list line.</li>
30
- </ul>
1
+ <h1 class="title">Block Code</h1>
2
+ <p>I need to get block code examples working. In <code>orgmode</code>, they look like this:</p>
3
+ <pre>
4
+
5
+
6
+ def initialize(output)
7
+ @output = output
8
+ @buffer = &quot;&quot;
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
+ </pre>
18
+ <p>And now I should be back to normal text.</p>
19
+ <p>Putting in another paragraph for good measure.</p>
20
+ <p>Code should also get cancelled by a list, thus:</p>
21
+ <pre>
22
+
23
+ This is my code!
24
+
25
+ Another line!
26
+ </pre>
27
+ <ul>
28
+ <li>My list should cancel this.</li>
29
+ <li>Another list line.</li>
30
+ </ul>
@@ -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,7 +1,7 @@
1
- <p>BLOCKQUOTE</p>
2
- <p>Testing that I can have block quotes:</p>
3
- <blockquote>
4
- <p><i>Example:</i></p>
5
- <p>This is blockquote text.</p>
6
- </blockquote>
7
- <p>And now I&#8217;m back to normal text!</p>
1
+ <p class="title">BLOCKQUOTE</p>
2
+ <p>Testing that I can have block quotes:</p>
3
+ <blockquote>
4
+ <p><i>Example:</i></p>
5
+ <p>This is blockquote text.</p>
6
+ </blockquote>
7
+ <p>And now I&#8217;m back to normal text!</p>
@@ -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!