IPython Notebook Markdown——允许的 HTML 标签列表是什么以及如何更改它们?

2024-05-08

我正在使用 IPython Notebook markdown 创建一个文档,它确实允许一些 HTML,例如<img>例如但我添加了<object>包含 SVG 文件,但它不会显示在 IPython Notebook 输出中。我仔细检查了 IPython Notebook 的 HTML 源代码和<object>IPython Notebook 服务器不提供标记。看起来像<iframe>标签也经过消毒。

然而,当我自己在 IPython Notebook 之外将其转换为 HTML 文件时,它工作得很好。我需要做些什么来添加吗<object> and <iframe>到允许的 HTML 标签列表?


我找到了 Jupyter 的安全.js https://github.com/jupyter/notebook/blob/666ecbf35c3310335a3c8c182e8f53441c991c14/notebook/static/base/js/security.js#L79但不确定它是在服务器还是客户端上运行,也不知道如何更改它。

我也尝试过“文件”→“信任笔记本”,但这也没有解决问题。


我对 site-packages/notebook/static/notebook/js/main.min.js 的本地副本进行了猴子修补,使其具有以下内容:

var sanitize_html = function (html, allow_css) {
    /**
     * sanitize HTML
     * if allow_css is true (default: false), CSS is sanitized as well.
     * otherwise, CSS elements and attributes are simply removed.
     */
    var html4 = caja.html4;

    if (allow_css) {
        // allow sanitization of style tags,
        // not just scrubbing
        html4.ELEMENTS.style &= ~html4.eflags.UNSAFE;
        html4.ATTRIBS.style = html4.atype.STYLE;
    } else {
        // scrub all CSS
        html4.ELEMENTS.style |= html4.eflags.UNSAFE;
        html4.ATTRIBS.style = html4.atype.SCRIPT;
    }

    /* BEGIN NEW CODE */
    var whitelist_key = html.match(/<span class="whitelist:([0-9A-Za-z-_]+)"\s+\/?>/)
    if (whitelist_key && whitelist_key[1]== /* password goes here */)
    {
        console.log("whitelist ok");
        html4.ELEMENTS.object &= ~html4.eflags.UNSAFE;
        html4.ATTRIBS['iframe::src'] = 0; 
        html4.ATTRIBS['object::data'] = 0; 
        html4.ATTRIBS['object::type'] = 0; 
    }
    /* END NEW CODE */

然后在我的笔记本的单元格中添加<span class="whitelist:mypassword" />

目前可以用,我已经打开了问题#2614 https://github.com/jupyter/notebook/issues/2614在 github 上。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

IPython Notebook Markdown——允许的 HTML 标签列表是什么以及如何更改它们? 的相关文章

  • Bootstrap 按钮的检查状态

    我想在 Bootstrap 3 0 2 中设置组复选框的选中状态 docs http getbootstrap com javascript buttons html div class btn group div
  • 裁剪响应式全宽图像

    我必须剪辑跨越整个宽度的图像 以下事情对我不起作用 剪辑 这需要绝对位置 因此块元素不会堆叠在下面 背景位置 缩放时无法正确剪辑 放大时剪辑的部分会增加 反之亦然 包装器 包装器高度取决于浏览器宽度 因此其值应该是动态的 我使用了 seti
  • HTML 元素:属性排序

    分析几个页面并注意到不同的方法 写作风格 我想知道 HTML 元素属性的顺序是否有效 浏览器性能 渲染 明显或不明显 客户端 服务器计算资源 任何事物 他们是我应该考虑的订购标准吗 我只能认为它会影响 JQuery 对第 n 个属性的选择
  • 在 vuejs 上将 \n 替换为新行

    我正在尝试将 n 字符替换为来自端点的数据的新行 I tried p item licensedocument legal documentText replace r n r n g br p 并没有奏效 当我将replace 写入问题末
  • 如何使用 file:///F:/foldername 访问 ajax 中的本地文件夹?但它适用于 http://

    在这里 我使用以下代码使用 AJAX jQuery 动态创建文件名列表 window load function var fileExt csv document ready function ajax url file F foldern
  • 禁用 HTML 验证。如何为全局每个表单设置“novalidate”?

    我想知道是否可以做一些事情来禁用应用程序中每个表单的 HTML 验证 有什么办法可以做到这一点或者我应该添加novalidate每个表单标签的属性 看来唯一的方法是添加novalidate使用 JavaScript jQuery 为每个表单
  • 如何实现Contenteditable属性的Ctrl+A功能?

    我正在尝试为用户显示带有一些示例代码的 div 我希望他们能够在 div 内部进行选择并使用 Ctrl A 选择所有示例代码 但我不希望他们能够编辑实际文本 以免意外删除一点 然后它不会工作 我现在通过 div 上的 contentedit
  • 获取SVG绘图的边界框

    我想提取 SVG 绘图的边界框 由于 Python 已经在系统上可用并且还用于执行其他任务 因此我不想使用 JavaScript 或任何其他语言 我的理解是是否可以计算单个元素的边界框 但我不知道如何计算 整个绘图的边界框只是所有元素的最小
  • 如何使弹出窗口溢出:在溢出内可见:自动上下文

    我有一个 div 列表 如果超过父框 overflow x 应该滚动 并且在悬停时 我想看到一个弹出窗口 我的问题是 如果我将鼠标悬停在任何子 div 上 弹出窗口将被考虑用于溢出计算 但我只想让它在所有内容之上可见 而不是使其扩展滚动区域
  • 无法使用python和beautifulsoup抓取网页中的某些href

    我目前正在使用 Python 3 4 和 bs4 爬取网页 以收集塞尔维亚在里约 2016 年的比赛结果 所以网址here http rio2016 fivb com en volleyball women teams srb serbia
  • 滚动时多个图像淡出

    我有一个页面 在每个导航点上 网站中间的图像通过淡入淡出来改变颜色 我设法淡入 active3 fadeIn 2000 不过 我遇到了再次淡出它的问题 让我尝试解释一下 我有 5 个导航点和 5 个不同的图像 如果我 例如 从第一个导航点滚
  • 有没有办法同步ajax调用

    这可能是一个微不足道的问题 但我想知道是否有办法以某种方式知道最后一个 ajax 调用何时完成 假设我有 3 个异步 ajax 调用 ajax type GET datatype json url
  • 将 Regex 对象分配给 html 输入模式

    我需要以编程方式将正则表达式对象分配给输入元素模式属性 以下是我当前的实现 var regex d 5 element attr pattern regex toString slice 1 1 有没有更好的方法来做到这一点而不需要字符串操
  • django:如何在模板html页面内进行计算?

    您好 我正在使用缩略图插件来获取图像的宽度和高度 现在我想使用从缩略图插件获取的高度来定义 img 标签的填充 例如 img style padding top img height 2 src 但是我在这里遇到错误 django不允许这样
  • 从选择 onChange 调用 javascript 函数 [重复]

    这个问题在这里已经有答案了 所以我有一个简单的 HTML 选择框和一个 javascript 警报功能 我希望选择框有一个 onchange 事件来调用 javascript 警报函数 这是我到目前为止所拥有的 HTML div Type
  • 检测 Webkit/Chrome 中 HTML5 数字控件更改的事件?

    HTML5 为我们提供了一些新的输入元素 例如
  • Jupyter Notebooks 不显示进度条

    我正在尝试在 Jupyter 笔记本中显示进度条 这是一台新电脑 我通常做的事情似乎不起作用 from tqdm import tqdm notebook example iter 1 2 3 4 5 for rec in tqdm not
  • 全高全宽 CSS 布局

    我正在寻找一种方法来创建具有 5 个区域的纯 CSS 无 JavaScript 布局 如下所示 H A B C F
  • 从链接打开本地文件夹

    如何通过单击任何链接打开本地文件夹视图 我尝试了很多选择 例如 a href Open folder a or a Open folder a or a Open folder a 解决方案 启动可下载链接 以下内容适用于所有浏览器 但一如
  • 使用flex-basis控制行上显示的项目数

    我想在使用 Flex 时将元素推出以隐藏它们 例如 如果flex basis为 50 仅显示两个项目弯曲到给定空间 而其他元素则在overflow hidden 领土 Or if flex basis为 25 则仅显示 4 个 Flex 元

随机推荐