Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion lib/org-ruby/output_buffer.rb
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@ def preserve_whitespace?
end

def do_custom_markup
if File.exists? @options[:markup_file]
if File.exist? @options[:markup_file]
load_custom_markup
if @custom_blocktags.empty?
no_valid_markup_found
Expand Down
2 changes: 1 addition & 1 deletion lib/org-ruby/parser.rb
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,7 @@ def initialize(lines, parser_options={ })

# Check include file availability and permissions
def check_include_file(file_path)
can_be_included = File.exists? file_path
can_be_included = File.exist? file_path

if not ENV['ORG_RUBY_INCLUDE_ROOT'].nil?
# Ensure we have full paths
Expand Down

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -4,35 +4,35 @@ <h1 class="title">Support for :exports options from code blocks</h1>
<h1>About the <code>#+RESULTS:</code> block</h1>
<p>Using Org Babel features, it is possible to set <code>:results output</code>
to a code block and render the results within a <code>#+RESULTS:</code> code block:</p>
<div class="highlight"><pre><span></span>#+begin_src ruby :results output :exports both
<div class="highlight"><pre><span></span><span class="ow">#+begin_src ruby :results output :exports both</span>
puts &quot;Hello world&quot;
#+end_src
<span class="ow">#+end_src</span>

#+RESULTS:
<span class="nn">#+RESULTS:</span>
: Hello world
</pre></div>
<p>One thing about the <code>#+RESULTS:</code> code blocks, is that they exist in several forms:</p>
<ol>
<li>As an accumulated group of inline examples:
<div class="highlight"><pre><span></span>#+begin_src python :results output :exports both
<div class="highlight"><pre><span></span><span class="ow">#+begin_src python :results output :exports both</span>
print &quot;like&quot;
print &quot;this&quot;
print &quot;etc...&quot;
#+end_src
<span class="ow">#+end_src</span>

#+RESULTS:
<span class="nn">#+RESULTS:</span>
: like
: this
: etc...
</pre></div>
</li>
<li>As an example code block.
<div class="highlight"><pre><span></span>#+begin_src ruby :results output :exports both
<div class="highlight"><pre><span></span><span class="ow">#+begin_src ruby :results output :exports both</span>
10.times {|n| puts n }
#+end_src
<span class="ow">#+end_src</span>

#+RESULTS:
#+begin_example
<span class="nn">#+RESULTS:</span>
<span class="ow">#+begin_example</span>
0
1
2
Expand All @@ -43,19 +43,19 @@ <h1>About the <code>#+RESULTS:</code> block</h1>
7
8
9
#+end_example
<span class="ow">#+end_example</span>
</pre></div>
</li>
<li>Also, in case <code>:results output code</code> is used, the results would
be a src block of the same language as the original one.
<div class="highlight"><pre><span></span>#+begin_src ruby :results output code
<div class="highlight"><pre><span></span><span class="ow">#+begin_src ruby :results output code</span>
counter = 0
10.times { puts &quot;puts &#39;#{counter += 1}&#39;&quot; } # Displayed in first code block
puts counter # Displayed in second code block
#+end_src
<span class="ow">#+end_src</span>

#+RESULTS:
#+begin_src ruby
<span class="nn">#+RESULTS:</span>
<span class="ow">#+begin_src ruby</span>
puts &#39;1&#39;
puts &#39;2&#39;
puts &#39;3&#39;
Expand All @@ -67,9 +67,9 @@ <h1>About the <code>#+RESULTS:</code> block</h1>
puts &#39;9&#39;
puts &#39;10&#39;
10
#+end_src
<span class="ow">#+end_src</span>

#+RESULTS:
<span class="nn">#+RESULTS:</span>
: 10
</pre></div>
</li>
Expand All @@ -78,26 +78,26 @@ <h1>Default options</h1>
<p>The default is to export only the code blocks.</p>
<p>The following is an code block written in Emacs Lisp
and its result should not be exported.</p>
<div class="highlight"><pre><span></span><span class="p">(</span><span class="nf">message</span> <span class="s">&quot;hello world&quot;</span><span class="p">)</span>
<div class="highlight"><pre><span></span><span class="p">(</span><span class="nf">message</span><span class="w"> </span><span class="s">&quot;hello world&quot;</span><span class="p">)</span>
</pre></div>
<p>The following is a code block written in Python
and its result should not be exported.</p>
<div class="highlight"><pre><span></span><span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="mi">12</span><span class="p">):</span>
<span class="k">print</span> <span class="s2">&quot;import this&quot;</span>
<span class="nb">print</span> <span class="s2">&quot;import this&quot;</span>
</pre></div>
<p>
</p>
<h1>:exports code</h1>
<p>Only the code would be in the output,
the same as when no option is set.</p>
<div class="highlight"><pre><span></span><span class="kd">var</span> <span class="nx">message</span> <span class="o">=</span> <span class="s2">&quot;Hello world!&quot;</span><span class="p">;</span>
<div class="highlight"><pre><span></span><span class="kd">var</span><span class="w"> </span><span class="nx">message</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s2">&quot;Hello world!&quot;</span><span class="p">;</span>

<span class="nx">console</span><span class="p">.</span><span class="nx">log</span><span class="p">(</span><span class="nx">message</span><span class="p">);</span>
</pre></div>
<p>And as block example too:</p>
<div class="highlight"><pre><span></span><span class="kd">var</span> <span class="nx">message</span> <span class="o">=</span> <span class="s2">&quot;Hello world!&quot;</span><span class="p">;</span>
<span class="k">for</span> <span class="p">(</span><span class="kd">var</span> <span class="nx">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="nx">i</span><span class="o">&lt;</span> <span class="mi">10</span><span class="p">;</span> <span class="nx">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
<span class="nx">console</span><span class="p">.</span><span class="nx">log</span><span class="p">(</span><span class="nx">message</span><span class="p">);</span>
<div class="highlight"><pre><span></span><span class="kd">var</span><span class="w"> </span><span class="nx">message</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s2">&quot;Hello world!&quot;</span><span class="p">;</span>
<span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="kd">var</span><span class="w"> </span><span class="nx">i</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mf">0</span><span class="p">;</span><span class="w"> </span><span class="nx">i</span><span class="o">&lt;</span><span class="w"> </span><span class="mf">10</span><span class="p">;</span><span class="w"> </span><span class="nx">i</span><span class="o">++</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="nx">console</span><span class="p">.</span><span class="nx">log</span><span class="p">(</span><span class="nx">message</span><span class="p">);</span>
<span class="p">}</span>
</pre></div>
<p>
Expand All @@ -109,13 +109,13 @@ <h1>:exports none</h1>
<p>
</p>
<h1>:exports both</h1>
<div class="highlight"><pre><span></span><span class="no">Math</span><span class="o">::</span><span class="no">PI</span> <span class="o">+</span> <span class="mi">1</span>
<div class="highlight"><pre><span></span><span class="no">Math</span><span class="o">::</span><span class="no">PI</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="mi">1</span>
</pre></div>
<pre class="example">
4.14159265358979
</pre>
<p>Should behave the same when within a block example.</p>
<div class="highlight"><pre><span></span><span class="n">hello</span> <span class="o">=</span> <span class="o">&lt;&lt;</span><span class="dl">HELLO</span>
<div class="highlight"><pre><span></span><span class="n">hello</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="dl">HELLO</span>
<span class="sh">The following is a text</span>
<span class="sh">that will contain at least 10 lines or more</span>
<span class="sh">so that when C-c C-c is pressed</span>
Expand Down
22 changes: 11 additions & 11 deletions spec/html_code_syntax_highlight_examples/code-pygments.html
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
<h1>Simple Code Syntax highlighting test</h1>
<div class="highlight"><pre><span></span><span class="k">class</span> <span class="nc">Pygments</span>
<span class="k">class</span> <span class="o">&lt;&lt;</span> <span class="nb">self</span>
<span class="k">def</span> <span class="nf">colorize</span>
<span class="c1"># Do colorizing stuff here</span>
<span class="n">heredoc</span> <span class="o">=</span> <span class="o">&lt;&lt;</span><span class="dl">EOF</span>
<div class="highlight"><pre><span></span><span class="k">class</span><span class="w"> </span><span class="nc">Pygments</span>
<span class="w"> </span><span class="k">class</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="nb">self</span>
<span class="w"> </span><span class="k">def</span><span class="w"> </span><span class="nf">colorize</span>
<span class="w"> </span><span class="c1"># Do colorizing stuff here</span>
<span class="w"> </span><span class="n">heredoc</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="dl">EOF</span>
<span class="sh"> Some text yay!!!</span>
<span class="dl">EOF</span>
<span class="k">end</span>
<span class="k">end</span>
<span class="w"> </span><span class="k">end</span>
<span class="w"> </span><span class="k">end</span>
<span class="k">end</span>
</pre></div>
<p>Now using EXAMPLE blocks instead:</p>
Expand All @@ -24,10 +24,10 @@ <h1>Simple Code Syntax highlighting test</h1>
end
end
</pre>
<div class="highlight"><pre><span></span><span class="k">class</span> <span class="nc">Piano</span>
<span class="k">def</span> <span class="nf">play_note</span><span class="p">(</span><span class="n">note</span><span class="p">)</span>
<span class="c1"># TODO</span>
<span class="k">end</span>
<div class="highlight"><pre><span></span><span class="k">class</span><span class="w"> </span><span class="nc">Piano</span>
<span class="w"> </span><span class="k">def</span><span class="w"> </span><span class="nf">play_note</span><span class="p">(</span><span class="n">note</span><span class="p">)</span>
<span class="w"> </span><span class="c1"># TODO</span>
<span class="w"> </span><span class="k">end</span>
<span class="k">end</span>
</pre></div>
<h1>When including a file as an src code file</h1>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,36 +4,36 @@ <h1>Removing the prepended comma from Org mode src blocks</h1>
this prepended comma should be removed before parsing.</p>
<p>(Fixes <a href="https://github.com/bdewey/org-ruby/issues/50">https://github.com/bdewey/org-ruby/issues/50</a>)</p>
<h2>Here the prepended comma will be removed.</h2>
<div class="highlight"><pre><span></span>* Hello
** Goodbye
*** Not a headline, but prepended comma still removed.
* I am a headline
<div class="highlight"><pre><span></span><span class="gh">* Hello</span>
<span class="gu">** Goodbye</span>
<span class="gs">***</span> Not a headline, but prepended comma still removed.
<span class="gh">* I am a headline</span>
</pre></div>
<h2>Here the prepended comma is should not be removed.</h2>
<div class="highlight"><pre><span></span><span class="p">{</span>
<span class="s2">&quot;one&quot;</span><span class="o">:</span> <span class="mi">1</span>
<span class="p">,</span> <span class="s2">&quot;two&quot;</span><span class="o">:</span> <span class="mi">2</span>
<span class="p">,</span> <span class="s2">&quot;three&quot;</span><span class="o">:</span> <span class="mi">3</span>
<span class="p">,</span> <span class="s2">&quot;four&quot;</span><span class="o">:</span> <span class="mi">4</span>
<span class="w"> </span><span class="s2">&quot;one&quot;</span><span class="o">:</span><span class="w"> </span><span class="mf">1</span>
<span class="p">,</span><span class="w"> </span><span class="s2">&quot;two&quot;</span><span class="o">:</span><span class="w"> </span><span class="mf">2</span>
<span class="p">,</span><span class="w"> </span><span class="s2">&quot;three&quot;</span><span class="o">:</span><span class="w"> </span><span class="mf">3</span>
<span class="p">,</span><span class="w"> </span><span class="s2">&quot;four&quot;</span><span class="o">:</span><span class="w"> </span><span class="mf">4</span>
<span class="p">}</span>
</pre></div>
<h2>Here the prepended comma is also removed</h2>
<p>Emacs Org mode implementation also removes it.</p>
<div class="highlight"><pre><span></span><span class="n">text</span> <span class="o">=</span> <span class="o">&lt;&lt;</span><span class="dl">TEXT</span>
<div class="highlight"><pre><span></span><span class="n">text</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="dl">TEXT</span>
<span class="sh">#+TITLE: Prepended comma world</span>
<span class="sh">* Hello world</span>
<span class="sh">More text here</span>
<span class="dl">TEXT</span>
</pre></div>
<h2>Here the prepended comma will be remove for the <code>Hello world</code> headline</h2>
<div class="highlight"><pre><span></span>, ,* Hi
,
, ,* This will be appended a comma
* Hello world
<div class="highlight"><pre><span></span>, ,<span class="gs">* Hi</span>
<span class="gs">, </span>
<span class="gs">, ,*</span> This will be appended a comma
<span class="gh">* Hello world </span>
,
</pre></div>
<h2>Here the prepended comma will be removed</h2>
<div class="highlight"><pre><span></span>#+TITLE: &quot;Hello world&quot;
<div class="highlight"><pre><span></span><span class="nn">#+TITLE:</span> &quot;Hello world&quot;
</pre></div>
<h2>This will be rendered as normal</h2>
<div class="highlight"><pre><span></span>,,,,,,,,,,,,,,,,,*Hello world
Expand Down
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
<h1>begin src in lists should work</h1>
<ul>
<li>Foo
<div class="highlight"><pre><span></span><span class="k">class</span> <span class="nc">Hello</span>
<span class="k">def</span> <span class="nf">say</span>
<span class="nb">puts</span> <span class="s1">&#39;cheers&#39;</span>
<span class="k">end</span>
<div class="highlight"><pre><span></span><span class="k">class</span><span class="w"> </span><span class="nc">Hello</span>
<span class="w"> </span><span class="k">def</span><span class="w"> </span><span class="nf">say</span>
<span class="w"> </span><span class="nb">puts</span><span class="w"> </span><span class="s1">&#39;cheers&#39;</span>
<span class="w"> </span><span class="k">end</span>
<span class="k">end</span>
</pre></div>
</li>
<li>Bar
<div class="highlight"><pre><span></span><span class="nb">puts</span> <span class="s2">&quot;This should not get lumped into the above line Example&quot;</span>
<div class="highlight"><pre><span></span><span class="nb">puts</span><span class="w"> </span><span class="s2">&quot;This should not get lumped into the above line Example&quot;</span>
</pre></div>
<p>A paragraph should go here.</p>
<ul>
<li>A sublist goes here with another example
<div class="highlight"><pre><span></span><span class="nb">echo</span> <span class="s2">&quot;Hello&quot;</span>
<div class="highlight"><pre><span></span><span class="nb">echo</span><span class="w"> </span><span class="s2">&quot;Hello&quot;</span>
</pre></div>
<p>And this is a paragraph</p>
</li>
Expand Down