我正在寻找一种将.iipynb文件导出到HTML时隐藏代码单元格(输入)的方法。我根本不希望这些代码单元可见(不希望有一些按钮可以将其关闭/打开)。输出是针对不知道编程语言是什么的人的。我尝试了很多在互联网上找到的东西,但似乎无济于事。
谢谢
vin*_*ega 60
截至目前(nbconvert 5.6.0 版),最简单的解决方案似乎是--no-input在使用 nbconvert 的 CLI 接口时提供参数:
jupyter nbconvert yourNotebook.ipynb --no-input
它的工作原理就像魔法更多信息在这里
ppl*_*ski 23
我写了一篇关于如何在 Jupyter Notebook 中隐藏代码的不同方法的文章。根据我的发现,有几种方法可以做到这一点。
nbconvert导出笔记本时nbconvert需要--no-input在命令中添加:
jupyter nbconvert --to html --no-input your-notebook.ipynb
Run Code Online (Sandbox Code Playgroud)
您可以通过添加标签来隐藏选定的单元格hide_code,如下面的动画所示:

仅隐藏选定单元格的代码的命令:
jupyter nbconvert --to html --TagRemovePreprocessor.remove_cell_tags='{"hide_code"}' my-notebook.ipynb
Run Code Online (Sandbox Code Playgroud)
这Mercury是一个用于与非技术用户共享笔记本的开源软件。它可以隐藏代码。它还可以为笔记本生成与代码中的变量连接的小部件。笔记本导出过程由 YAML 标头控制,下面是隐藏代码的示例 YAML:
jupyter nbconvert --to html --no-input your-notebook.ipynb
Run Code Online (Sandbox Code Playgroud)
为笔记本生成的 HTML(网站)Mercury:

您可以使用NBConvert模板执行此操作。那里的大多数示例都是针对Latex / PDF的,并且不适用于HTML,HTML使用了不同的模板集(由于某种原因,使用了不同的扩展名和略有不同的文件语法)。
将以下内容写入名为的模板文件hidecode.tpl:
{%- extends 'full.tpl' -%}
{% block input_group %}
{%- if cell.metadata.get('nbconvert', {}).get('show_code', False) -%}
((( super() )))
{%- endif -%}
{% endblock input_group %}
Run Code Online (Sandbox Code Playgroud)
然后使用以下命令将笔记本转换为HTML:
jupyter nbconvert --to html --template hidecode YourNotebook.ipynb
准备好您的 jupyter notbook 转到 Anaconda Prompt -> jupyter notebook 的位置并输入以下命令
jupyter nbconvert yourNotebook.ipynb --no-input --no-prompt
Run Code Online (Sandbox Code Playgroud)
这会将 Jupyter notebook 转换为 html,所有单元格都向右对齐。
在最新版本中,jupyter nbconvert您可以使用以下--no-input选项:
echo 'A Markdown cell with an equation $x=y+1$
```python
1 + 1
```
' | jupytext --to ipynb | jupyter nbconvert --stdin --execute --no-input --to html --output notebook.html
Run Code Online (Sandbox Code Playgroud)
现在,如果您没有该--no-input选项,请使用--TemplateExporter.exclude_input=True,从版本5.2.1开始可用。
小智 5
补充@vincentVega的回答,需要加上--to语句,否则会抛出如下错误:ValueError: Please specify an output format with '--to <format>'.
jupyter nbconvert YourNotebook.ipynb --no-input --to html
Run Code Online (Sandbox Code Playgroud)
我终于发现: https: //pypi.org/project/hide_code/0.2.0/
它是一个 jupyter 扩展,并且工作起来就像一个魅力。我使用命令提示符将笔记本转换为 html,因为扩展附带的按钮对我不起作用。
| 归档时间: |
|
| 查看次数: |
12422 次 |
| 最近记录: |