将markdown转换为IPython笔记本。
项目描述
Python 2/3和IPython 4 / Jupyter兼容!
将IPython笔记本转换为markdown(反之亦然)
notedown 是一个简单的工具,可以从markdown(和r-markdown)创建 IPython笔记本。
notedown 将您的markdown分为代码和非代码。代码块(被围栏或缩进)放入输入单元,其余的放入markdown单元。
使用方法
notedown input.md > output.ipynb
安装
pip install notedown
或在github上的最新版本
pip install https://github.com/aaren/notedown/tarball/master
转换为markdown
将笔记本转换为markdown,删除所有输出
notedown input.ipynb --to markdown --strip > output.md
将笔记本转换为markdown,保留完整的输出JSON
notedown input.ipynb --to markdown > output_with_outputs.md
输出被放置在紧随对应的输入代码块之后的代码块中,作为JSON。 notedown 也理解这个约定,因此可以将这个带JSON的markdown转换回笔记本。
这意味着可以编辑markdown,转换为笔记本,玩一会儿,再转换回markdown。
注意:目前,在转换过程中不保留笔记本和单元元数据。
从markdown中删除输出单元
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'
现在您可以在浏览器中编辑markdown文件,执行代码,创建图形 - 所有这些都存储在markdown中!
对于Jupyter,您的配置文件是 jupyter_notebook_config.py,位于 ~/.jupyter。对于IPython,您的配置文件是 ipython_notebook_config.py,位于您的ipython配置文件中(可能是 ~/.ipython/profile_default)
R-markdown
您还可以使用 notedown 将r-markdown也进行转换。我们需要告诉 notedown 使用 knitr 来转换r-markdown。这需要您安装了带有 knitr 的R。
将r-markdown转换为markdown
notedown input.Rmd --to markdown --knit > output.md
将r-markdown转换为IPython笔记本
notedown input.Rmd --knit > output.ipynb
--rmagic 将在笔记本开头添加 %load_ext rpy2.ipython,允许您使用 rmagic 扩展执行代码单元格(需要 rpy2)。notedown 会自动执行相应的 %R 单元格魔法。
魔法
用除 Python 之外的语言标注的代码块使用 IPython 的 %% 单元魔法 读取到单元格中。
您可以使用 --nomagic 禁用此功能。
--pre 允许您将任意代码添加到笔记本的开头。例如:notedown file.md --pre '%matplotlib inline' 'import numpy as np'
如何在 Markdown 中插入字面代码块?
通过使用 --match 参数。notedown 默认将 所有 代码块转换为代码单元格。可以通过为 --match 提供不同的参数来更改此行为。
--match=all:转换所有代码块(默认)
--match=fenced:仅转换有围栏的代码块
--match=language:仅转换有 'language' 作为语法指定符的有围栏代码块(或任何块属性成员)
--match=strict:仅转换包含 'python' 和 'input' 类的 Pandoc 风格属性代码块。即代码块必须如下所示
```{.python .input} code ```
这并不是非常交互式!
尝试使用 NotedownContentsManager(见上文)编辑 IPython Notebook 中的 Markdown。
您可以使用 vim-ipython 在 vim 中获取交互式 ipython 会话,它允许您连接到正在运行的 ipython 内核。您可以从 vim 向 ipython 发送代码,并从运行内核中获取代码补全。试试看!
我的语法高亮在哪里?
尝试使用 vim-markdown 或 vim-pandoc。这两个插件都足够聪明,可以在 Markdown 中高亮代码。
在 Markdown 中渲染输出
这是实验性的!
将笔记本转换为 Markdown,将单元格输出渲染为原生 Markdown 元素
notedown input.ipynb --render
这意味着例如 png 输出将变为  图像,并且文本将放置在文档中。
当然,您可以使用此功能与 runipy 一起使用,从 Markdown-with-code 生成 Markdown-with-code-and-figures
notedown input.md --run --render > output.md
没有看到笔记本!
--render 标志强制输出格式为 markdown。
待办事项
[x] Python 3 支持
[x] Unicode 支持
[x] IPython 3 支持
[x] IPython 4 (Jupyter) 支持
[ ] 允许指定内核
项目详情
下载文件
下载您平台上的文件。如果您不确定该选择哪个,请了解更多关于 安装软件包 的信息。
源代码分发
构建分发版
notedown-1.5.1.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 36e033ebbbe5aca0fab031ffaf3611d5bc5c50237df68ff81bb95f8be353a1ee |
|
MD5 | 00d72f37e8a64d7f4c66ea8e0d214236 |
|
BLAKE2b-256 | 581ba926945216cb7d1d21abdbc975195bd7beb3bceafa41c186ecb95f8f9121 |
notedown-1.5.1-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 82c5aeebe8c9f56c39ca4dd66c3b0fdfcc12874fda5a3e955004314b3ed879ac |
|
MD5 | 4ab6898e3c6cca8bf47a2fea1c364315 |
|
BLAKE2b-256 | d33ad7c1817f3acb2e958b32fe85a35f52d270820fb9cebf1364b36c772cf3d0 |