jrj*_*rjc 6 html javascript python jupyter jupyter-notebook
我有一个ipython notebook我想与可能没有安装 ipython 的同事分享。
所以我将它转换为 html :
ipython nbconvert my_notebook.ipynb
Run Code Online (Sandbox Code Playgroud)
但我的问题是我有很长的输出,这使阅读变得困难,我想知道是否可以在 html 版本上使用笔记本查看器的折叠或滚动选项。
基本上,我想要这个:输出示例

但是在 html 版本中。这甚至可能吗?
感谢您的帮助!
感谢那个博客,我找到了我想要的东西,它正是我想要的。
我对其进行了一些修改,使其可以与 ipython 2.1 一起使用 [编辑:与 Jupyter 一起工作],并混合了输入和输出隐藏技巧。
打开html文件时,将显示所有输入并隐藏输出。通过单击输入字段,它将显示输出字段。一旦您拥有这两个字段,您就可以通过单击另一个字段来隐藏一个字段。
编辑:它现在隐藏长输入,并且始终显示大约 1 行(由 defa 提供)。您可以通过单击输入数字来显示所有内容。当您没有输出时(例如您定义的长函数),这很方便我想隐藏在您的 HTML 文档中)
您需要在执行 nbconvert 时添加模板:
ipython nbconvert --template toggle my_notebook.ipynb
Run Code Online (Sandbox Code Playgroud)
其中,toggle 是一个包含以下内容的文件:
{%- extends 'full.tpl' -%}
{% block output_group %}
<div class="output_hidden">
{{ super() }}
</div>
{% endblock output_group %}
{% block input_group -%}
<div class="input_hidden">
{{ super() }}
</div>
{% endblock input_group %}
{%- block input -%}
<div class="in_container">
<div class="in_hidden">
{{ super() }}
<div class="gradient">
</div>
</div>
</div>
{%- endblock input -%}
{%- block header -%}
{{ super() }}
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<style type="text/css">
div.output_wrapper {
margin-top: 0px;
}
.output_hidden {
display: block;
margin-top: 5px;
}
.in_hidden {
width: 100%;
overflow: hidden;
position: relative;
}
.in_container {
width: 100%;
margin-left: 20px;
margin-right: 20px;
}
.gradient {
width:100%;
height:3px;
background:#eeeeee;
position:absolute;
bottom:0px;
left:0;
display: none;
opacity: 0.4;
border-bottom: 2px dashed #000;
}
div.input_prompt {
color: #178CE3;
font-weight: bold;
}
div.output_prompt {
color: rgba(249, 33, 33, 1);
font-weight: bold;
}
</style>
<script>
$(document).ready(function(){
$(".output_hidden").click(function(){
$(this).prev('.input_hidden').slideToggle();
});
$(".input_hidden").click(function(){
$(this).next('.output_hidden').slideToggle();
});
var slideHeight = 25;
$(".in_container").each(function () {
var $this = $(this);
var $in_hidden = $this.children(".in_hidden");
var defHeight = $in_hidden.height();
if (defHeight >= 61) {
var $prompt = $this.prev(".input_prompt");
var $gradient = $in_hidden.children(".gradient");
$in_hidden.css("height", slideHeight + "px");
$gradient.css("display", "block");
$prompt.click(function () {
var curHeight = $in_hidden.height();
if (curHeight == slideHeight) {
$in_hidden.animate({
height: defHeight
}, "normal");
$gradient.fadeOut();
}
else {
$in_hidden.animate({
height: slideHeight
}, "normal");
$gradient.fadeIn();
}
return false;
});
}
});
});
</script>
{%- endblock header -%}
Run Code Online (Sandbox Code Playgroud)
基本上,您可以随意注入任何您想要自定义笔记本的 javascript 和 css!
玩得开心 !
| 归档时间: |
|
| 查看次数: |
4410 次 |
| 最近记录: |