<div dir="ltr">Hi Matthias,<div><br></div><div>Thanks very much for the prompt response.</div><div>Authoring my content in .rst instead of .md is not much of a burden. So I will try that. pandoc is our friend.</div><div><br>


</div><div>Just one caveat - running nosetests on git trunk of nbconvert gave an error that unfort. seems like it is connected with .rst --&gt; ipynb converter.  does this affect the ability to run .rst --&gt; ipynb?</div>



<div><div>Error Msg at the end - I don&#39;t know enough to interpret.</div></div><div>Could you please clarify?  I did a git pull a couple of hours ago.<br></div><div><br></div><div>Other than that - yes I have become very familiar with %%R magics over last month or so and have even learnt how to use ggplot2 inside IPython :-).  You might recall a bug in the %R line magic I reported here a month or so ago - thankfully %%R still works and that&#39;s what I really need so no problems there.<br>


</div><div><br></div><div>The point is that I don&#39;t want to tightly couple the R snippets into the expository content and then have to cut and paste NumPy or MATLAB or ....manually each time - a JSON object (or even text content for that matter) is &quot;software&quot; and maintenance of multiple variations, with cut and paste will create nightmares very rapidly.</div>


<div><br></div><div>The beauty of the IPyNB format is that since it is text friendly and conversion friendly multiple variations (note variations not revisions) of the same Notebook can be created using a single text template and varying %%language magics injected in at build time by a command line switch.</div>


<div><br></div><div>So my goal is to have some placeholder markers in the text content where the language magics go and have a switch at build time so one or more or all variations can be created without cut and paste.</div>


<div><br></div><div>Right now if .rst  --&gt; .ipynb is working (please see errors below and let me know) then that is a good workaround. Pandoc is our good friend.</div><div><br></div><div><br></div>
<div><br></div><div><div>~/git/ipythongit/nbconvert(master)]$ nosetests</div>
<div>.........F./Volumes/HybridSeagate/my/code/git/ipythongit/nbconvert/tests/tutorial.rst.ref:27: (ERROR/3) Unknown interpreted text role &quot;ref&quot;.</div><div>/Volumes/HybridSeagate/my/code/git/ipythongit/nbconvert/tests/tutorial.rst.ref:48: (ERROR/3) Unknown interpreted text role &quot;ref&quot;.</div>



<div>/Volumes/HybridSeagate/my/code/git/ipythongit/nbconvert/tests/tutorial.rst.ref:84: (ERROR/3) Unknown interpreted text role &quot;ref&quot;.</div><div>/Volumes/HybridSeagate/my/code/git/ipythongit/nbconvert/tests/tutorial.rst.ref:127: (ERROR/3) Unknown interpreted text role &quot;ref&quot;.</div>



<div>/Volumes/HybridSeagate/my/code/git/ipythongit/nbconvert/tests/tutorial.rst.ref:157: (ERROR/3) Unknown interpreted text role &quot;ref&quot;.</div><div>/Volumes/HybridSeagate/my/code/git/ipythongit/nbconvert/tests/tutorial.rst.ref:157: (ERROR/3) Unknown interpreted text role &quot;ref&quot;.</div>



<div>/Volumes/HybridSeagate/my/code/git/ipythongit/nbconvert/tests/tutorial.rst.ref:190: (ERROR/3) Unknown interpreted text role &quot;ref&quot;.</div><div>.........</div><div>======================================================================</div>



<div>FAIL: test_references.test_evens(&lt;class &#39;converters.html.ConverterHTML&#39;&gt;, &#39;tests/ipynbref/IntroNumPy.orig.ipynb&#39;, &#39;tests/ipynbref/IntroNumPy.orig.html&#39;)</div><div>----------------------------------------------------------------------</div>



<div>Traceback (most recent call last):</div><div>  File &quot;/Applications/anaconda/lib/python2.7/site-packages/nose/case.py&quot;, line 197, in runTest</div><div>    self.test(*self.arg)</div><div>  File &quot;/Volumes/HybridSeagate/my/code/git/ipythongit/nbconvert/tests/test_references.py&quot;, line 58, in test_conversion</div>



<div>    compfiles(cv, value)</div><div>  File &quot;/Volumes/HybridSeagate/my/code/git/ipythongit/nbconvert/tests/test_references.py&quot;, line 48, in compfiles</div><div>    cleanfile(strb))</div><div>AssertionError: Lists differ: [u&#39;&lt;html&gt;&#39;, u&#39;&lt;head&gt;&#39;, u&#39;&lt;styl... != [u&#39;&lt;html&gt;&#39;, u&#39;&lt;head&gt;&#39;, u&#39;&lt;styl...</div>



<div><br></div><div>First differing element 186:</div><div>#notification {</div><div>#notification_area {</div><div><br></div><div>Second list contains 18 additional elements.</div><div>First extra element 29165:</div><div>



&lt;p&gt;IPython will start a process that runs a web server in your local machine and to which a web browser can connect.  The Notebook is a workspace that lets you execute code in blocks called &#39;cells&#39; and displays any results and figures, but which can also contain arbitrary text (including LaTeX-formatted mathematical expressions) and any rich media that a modern web browser is capable of displaying.&lt;/p&gt;</div>



<div><br></div><div>Diff is 1047994 characters long. Set self.maxDiff to None to see it.</div><div><br></div><div>----------------------------------------------------------------------</div><div>Ran 20 tests in 6.368s</div>



<div><br></div><div>FAILED (failures=1)</div><div><br></div></div><div><br></div><div><br></div></div><div class="gmail_extra"><br clear="all"><div><br>------------------------------------------------------------------<br>

Nitin Borwankar <br><a href="mailto:nborwankar@gmail.com">nborwankar@gmail.com</a></div>
<br><br><div class="gmail_quote">On Sat, Feb 23, 2013 at 2:54 PM, Matthias BUSSONNIER <span dir="ltr">&lt;<a href="mailto:bussonniermatthias@gmail.com" target="_blank">bussonniermatthias@gmail.com</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Nitin,<br>
<br>
Le 23 févr. 2013 à 23:24, Nitin Borwankar a écrit :<br>
<div class="im"><br>
&gt; Hello all,<br>
&gt;<br>
&gt; Sorry if this is a really dumb question and/or a FAQ.<br>
&gt;<br>
&gt; First some context to avoid the inevitable - &quot;what are you really trying to do?&quot;<br>
&gt;<br>
&gt; I have a small amount of funding to create educational content in data science in open formats and free licenses so as to be re-usable and mashable by the Internet community.<br>
&gt;<br>
&gt; I would like to author most of my non-code content in vanilla Markdown or Asciidoc in a text editor first. I would like to then &quot;import into&quot; or &quot;convert to&quot; IPy NBk so as to then do further authoring and testing of the inline code.<br>


&gt;<br>
&gt; I need to take existing Markdown and convert it TO IPython format.<br>
&gt;<br>
&gt; The Readme for nbconvert says it converts to/from but the examples and usage only shows *from* IPython to others.  I need the other way around.<br>
<br>
</div>Yes, the nbconvert repository is made to contain both convert To and >From ipynb, right now we are mostly focused on from,<br>
The only To converter is  rst2ipynb.py (so dealing with rst...), there is the .py to ipynb but this one is of the &quot;put everything in one code cell&quot; type.<br>
<br>
I don&#39;t have knowledge of the other script that generate IPynb files, except copy/pasting.<br>
<div class="im"><br>
<br>
&gt; For obvious reasons there is a need, in this scenario, to convert the initial Markdown to multiple formats using pandoc (HTML, PDF, Slidey, ...).<br>
&gt; Most of these will be exposition of the subject and will not contain live code.  The Notebook format will be for exercises injected into the content.<br>
&gt;<br>
&gt; Another need is to keep example code modular and decoupled from the content so as to be able to plug in R exercises or NumPy exercises or even MATLAB exercises via a build tool depending on user need.<br>
<br>
</div>What you describe would also look like knitr [1] is doing (haven&#39;t tried it though), and I think converter knitr &lt;-&gt; ipynb would be great.<br>
There is also the %%R and %%matlab magic :-)<br>
<div class="im"><br>
&gt; Questions<br>
&gt;<br>
&gt; a) forgetting my eventual goal - if I just have some Markdown can I convert to IPy Nbk easily - are there some tools - am I missing something about nbconvert usage?<br>
<br>
</div>Right now, there is no tool, but it shouldn&#39;t be too hard. The most difficult would be to define cell &quot;delimiters&quot;. (I guess those can be &quot;In[*]&quot; and &quot;Out[*]&quot; in some cases)<br>
<div class="im"><br>
&gt; b) if my Markdown contains inline latex markup are there additional requirements other than making sure mathjax etc is in the browser environment.<br>
<br>
</div>None that I can see. Even if mathjax can&#39;t deal with it, it won&#39;t **break** the notebook. it will just display the raw tex.<br>
<div class="im"><br>
&gt; Thanks much and sorry again if this is a FAQ.<br>
</div>No problem, this is not a frequently asked question, there is just so much to do that we can&#39;t fight on all front !<br>
Keep us posted if you want to try to work a md-&gt;ipynb converter, and don&#39;t hesitate to ask for help / advices.<br>
<br>
I opened an issue to track this [2]<br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
Matthias<br>
<br>
[1]: <a href="http://yihui.name/knitr/" target="_blank">http://yihui.name/knitr/</a><br>
[2]: <a href="https://github.com/ipython/nbconvert/issues/96" target="_blank">https://github.com/ipython/nbconvert/issues/96</a><br>
<br>
_______________________________________________<br>
IPython-User mailing list<br>
<a href="mailto:IPython-User@scipy.org">IPython-User@scipy.org</a><br>
<a href="http://mail.scipy.org/mailman/listinfo/ipython-user" target="_blank">http://mail.scipy.org/mailman/listinfo/ipython-user</a><br>
</font></span></blockquote></div><br></div>