将标记转换为ipython笔记本。
notedown的Python项目详细描述
python 2/3和ipython 4/jupyter兼容!
将iPython笔记本电脑转换为降价(和后退)
notedown是一个简单的工具 从创建IPython notebooks 降价(和R-降价)。
notedown将标记分为代码和非代码。代码块 (围栏或缩进)进入输入单元格,其他所有内容都进入 标记单元格。
用法:
notedown input.md > output.ipynb
安装:
pip install notedown
或github上的最新版本:
pip install https://github.com/aaren/notedown/tarball/master
转换为降价
将笔记本转换为降价,取消所有输出:
notedown input.ipynb --to markdown --strip > output.md
将笔记本转换为降价,输出json保持不变:
notedown input.ipynb --to markdown > output_with_outputs.md
输出作为json放在紧接着 相应的输入代码块。notedown理解此约定 同样,也可以将这个带有json的标记转换回 笔记本。
这意味着可以编辑标记、转换为笔记本、播放 大约一点,然后转换回标记。
注意:当前,笔记本和单元格元数据不保留在 转换。
从标记中删除输出单元格:
notedown with_output_cells.md --to markdown --strip > no_output_cells.md
运行ipython笔记本
notedown notebook.md --run > executed_notebook.ipynb
在浏览器中编辑(新!)
您可以将ipython/jupyter配置为无缝使用markdown作为其 存储格式。在配置文件中添加以下内容:
c.NotebookApp.contents_manager_class = 'notedown.NotedownContentsManager'
现在您可以在浏览器中编辑标记文件,执行代码, 创建绘图-全部存储在标记中!
对于jupyter,您的配置文件是jupyter_notebook_config.pyin ~/.jupyter。对于ipython,你的配置是 ipython_notebook_config.py在您的ipython配置文件中(可能 ~/.ipython/profile_default):
R-降价
您也可以使用notedown来转换r-markdown。我们只需要 告诉notedown使用knitr转换 R-降价。这要求您在 knitr。
将R-降价转换为降价:
notedown input.Rmd --to markdown --knit > output.md
将r-markdown转换为ipython笔记本:
notedown input.Rmd --knit > output.ipynb
- --rmagic将在 笔记本,允许您使用rmagic执行代码单元格 扩展(需要rpy2)。记下 自动执行适当的%R单元格魔术。
魔法
读取用python以外的语言注释的隔离代码块 使用ipython的%%cell magic进入单元格。
您可以用--nomagic禁用它。
- --pre允许您将任意代码添加到笔记本的开头。 例如 notedown file.md --pre '%matplotlib inline' 'import numpy as np'
如何在标记中放置文字代码块?
使用--match参数。notedown默认为转换 all代码块进入代码单元。这种行为可以通过 给--match:
一个不同的参数--match=all:转换所有代码块(默认值)
--match=fenced:仅转换受保护的代码块
--match=language:只转换带有“language”的fenced代码块 作为语法说明符(或块属性的任何成员)
--match=strict:仅转换pandoc样式的代码块 包含“python”和“input”作为类的属性。即代码 块必须看起来像
```{.python .input} code ```
这不是很互动!
尝试使用 NotedownContentsManager(见上文)。
通过使用 vim-ipython,它允许 连接到正在运行的ipython内核。你可以从vim发送代码 从正在运行的内核获取代码完成。试试看!
我的语法突出显示在哪里?!
尝试使用 vim-markdown或 vim-pandoc。两者都是 聪明到可以在降价中突出显示代码。
以降价方式呈现输出
这是实验性的!
将笔记本转换为降价,将单元格输出呈现为本机输出 马尔kdown元素:
notedown input.ipynb --render
这意味着png输出变成![](data-uri)images和 文本被放在文档中。
当然,你可以用这个和Runipy一起制作 用代码标记,用代码标记中的数字:
notedown input.md --run --render > output.md
看不到笔记本!
--render标志强制输出格式标记。
待办事项
- [X]Python 3支持
- [X]Unicode支持
- [X]iPython 3支持
- [X]iPython 4(Jupyter)支持
- []允许内核规范