跳转到主要内容

Draw.io图作为Jupyter小部件

项目描述

IPyDrawio

演示 文档 安装 构建
binder-badge docs install from pypi install from conda-forge reuse from npm build coverage

Drawio图用于JupyterLab。由QuantStack/jupyterlab-drawio Forked with ❤️。

安装 · 历史 · 路线图 · 贡献 · 开源

这是测试版软件。使用这些工具创建的原生drawio文件应该可以与任何其他drawio客户端一起工作,但UI/API可能会随时更改。

安装

mamba install -c conda-forge ipydrawio  # recommended, or...
conda install -c conda-forge ipydrawio  # or...
pip install ipydrawio[all]

功能

  • ipydrawio
    • 全面支持 JupyterLab
    • 尽力支持 JupyterLiteⓁ 和 RetroLabⓡ
    • 编辑多页 文档
      • diagrams.net 几乎相同的 UI 和功能
      • 支持多种文件格式
        • Drawio/mxgraph XML、SVG、PNG
        • 或 Jupyter Notebooksⓡ
      • 包含所有 Drawio 模板ⓡ
        • 以及一些 Jupyter 模板
    • Jupyter 丰富显示输出
    • Jupyter 小部件
    • 基本协作编辑
      • 需要添加的 --collaborative 标志,从 JupyterLab 3.1+ 开始
      • 令牌共享,类似于 jupyterlab-link-share,或自定义连接器(尚未知晓)
      • 没有其他编辑器的存在指示器
  • ipydrawio-export
    • 从图表Ⓛⓡ导出印刷质量的 PDF
      • 可选地将可编辑的 Drawio XML 作为 PDF 附件包含
      • 注意:一些 重要,可能脆弱的依赖项,建议使用 mamba

        mamba install -c conda-forge ipydrawio-export  # recommended, or...
        conda install -c conda-forge ipydrawio-export  # or...
        pip install ipydrawio ipydrawio-export
        
  • ipydrawio-mathjax
    • 在图表中包含丰富的 LaTeX 和 AsciiMath 排版

ⓡ:RetroLab 中不可用 Ⓛ:JupyterLite 中不可用

示例

注意 截图/示例
带有导出选项的 drawio "最小" UI 截图 poster-min
一个交互式计算 海报 的开始 poster
此项目的混合计算/创意 路线图 需要截图

用法

请参阅 文档 以获取完整信息

  • binder-badge 上尝试
  • 通过以下方式之一打开图表:
    • 启动器 中创建一个 Diagram_
    • 使用 文件管理器 上传在 diagrams.net 上创建的图表,并双击它
    • 通过在 IPython 中使用 ipydrawio.Diagram 进行交互式计算来构建图表
    • 使用 application/x-drawio MIME 渲染器
  • 使用 命令面板导出图表 到各种格式
    • 注意:drawio 的某些内置 UI 功能在 JupyterLab 的 IFrame 中无法正常工作,并且难以稳健地禁用:请参阅 命令面板 和各种 主菜单 中的 图表 选项。

配置

UI 主题

您可以在 JupyterLab 主菜单中更改默认主题

  • 打开 设置
  • 打开 图表主题
  • 选择您的主题
  • 所有打开的文档将更改为此主题(如果未保存则提示)
  • 所有未来文档将使用此主题

不同的主题具有一些优点和缺点

主题 默认 完整菜单 图层 页面 浅色 深色 粗糙
图集 ✔️ ✔️ ✔️ ✔️
深色 ✔️ ✔️ ✔️ ✔️
kennedy ✔️ ✔️ ✔️ ✔️
min ✔️ ✔️ ✔️ ✔️ ⚙️
草图 ✔️ ✔️ ⚙️ ✔️

注意,粗糙 将改变形状的外观

Drawio 配置和 URL 参数

使用 高级设置 修改 drawio 嵌入参数

查看架构以获取(已知)支持的完整选项的详细信息,以及上游文档中的所有参数,尽管IPyDrawio可能还不支持它们...

PDF:实验室和服务器扩展

ipydrawio-export可以生成打印质量的PDF。这种方法依赖于由@jgraph/draw-image-export2puppeteernodejs驱动的无头浏览器。

  • 原生依赖项,以满足puppeteer的要求
    • 如果在docker中运行,这可能会有些试错
    • 更多信息,请参阅binder和CI。
  • nodejs>=18,<19来自conda或您的系统包管理器
    • 注意:这依赖于能够安装puppeteer(以及其他现在在首次使用时通过jlpm安装的arbitrary dependencies
  • pip install ipydrawio-exportconda install -c conda-forge ipydrawio-export

例如,安装所有依赖项

conda install -yc conda-forge ipydrawio-export ipydrawio-mathjax

可选:预先安装依赖项

jupyter ipydrawio-export provision

默认情况下,它将安装到{JUPYTER_DATA_DIR}/ipydrawio_export,但可以通过以下方式调整:

  • $IPYDRAWIO_DATA_DIR环境变量
  • jupyter_config.json中的IPyDrawioExportManager.drawio_export_workdir

此外,可以通过$IPYDRAWIO_PUPPETEER_CACHE_DIR$PUPPETEER_CACHE_DIR环境变量调整(大型)Chromium浏览器下载。

安装完成后,您可以使用浏览器内的工具导出为PDF以及命令行

jupyter ipydrawio-export <name of document>

开源

许可证

除非另有说明,本文件中的所有文件均为免费软件,根据Apache 2.0授权。

版权

此扩展的版权持有者是此存储库的贡献者

JupyterLab组件的部分内容来源于QuantStack/jupyterlab-drawio

drawio和drawio-export的版权持有者是jgraph

本包中包含的原始源代码来自

Copyright 2023 ipydrawio contributors

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

  https://apache.ac.cn/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源代码分发

ipydrawio-1.3.0.tar.gz (25.2 MB 查看哈希值)

上传时间

构建分发

ipydrawio-1.3.0-py3-none-any.whl (26.7 MB 查看哈希值)

上传时间 Python 3

由以下支持