将自定义css类添加到Jupyter notebook

时间:2016-05-21 17:58:19

标签: jupyter jupyter-notebook

当执行Jupyter笔记本中的Markdown单元格时,输出将呈现为HTML。我想为特定呈现的HTML标记的每个实例添加一个自定义css类。具体来说,我想添加&#39;片段&#39;类到所有呈现的<li>标签,以便在笔记本处于幻灯片放映模式时将reveal.js自动将列表项视为片段(而不是必须将每个列表项放在自己的笔记本单元格中以便将其转换为表现得像一个片段。)

我知道我可以手动指定&#39;片段&#39;每个列表项的HTML类 - 这确实产生了幻灯片模式下的预期行为。但是它不必要地繁琐,因为我希望我的幻灯片的默认行为是所有列表项就像片段一样。 Jupyter是否暴露了某种&#34; afterRender&#34; JS事件可用于在执行单元格后轻松地将classClass(&#39;片段&#39;)添加到单元格中的所有<li>标签中?如果没有,还有其他方法可以轻松实现这一目标吗?

1 个答案:

答案 0 :(得分:2)

解决方案是为Jupyter公开的rendered.MarkdownCell事件添加一个事件处理程序(从4.1.0开始)。在custom.js里面:

require(['base/js/events'], function(events) {
    events.on("rendered.MarkdownCell", function() {
        $('li').addClass('fragment');
    });
});

这会添加&#39;片段&#39;类到当前笔记本中找到的每个<li>标记。