Draw.io图作为Jupyter小部件
项目描述
IPyDrawio
演示 | 文档 | 安装 | 构建 |
---|---|---|---|
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
- 从图表Ⓛⓡ导出印刷质量的 PDF
ipydrawio-mathjax
- 在图表中包含丰富的 LaTeX 和 AsciiMath 排版
ⓡ:RetroLab 中不可用 Ⓛ:JupyterLite 中不可用
示例
注意 | 截图/示例 |
---|---|
带有导出选项的 drawio "最小" UI 截图 | |
一个交互式计算 海报 的开始 | |
此项目的混合计算/创意 路线图 |
用法
请参阅 文档 以获取完整信息
- 在
上尝试
- 或遵循 安装说明 并 启动 JupyterLab
- 通过以下方式之一打开图表:
- 在 启动器 中创建一个
Diagram_
- 使用 文件管理器 上传在 diagrams.net 上创建的图表,并双击它
- 通过在
IPython
中使用ipydrawio.Diagram
进行交互式计算来构建图表 - 使用
application/x-drawio
MIME 渲染器
- 在 启动器 中创建一个
- 使用 命令面板 将 导出图表 到各种格式
-
注意:drawio 的某些内置 UI 功能在 JupyterLab 的 IFrame 中无法正常工作,并且难以稳健地禁用:请参阅 命令面板 和各种 主菜单 中的 图表 选项。
-
配置
UI 主题
您可以在 JupyterLab 主菜单中更改默认主题
- 打开 设置
- 打开 图表主题
- 选择您的主题
- 所有打开的文档将更改为此主题(如果未保存则提示)
- 所有未来文档将使用此主题
不同的主题具有一些优点和缺点
主题 | 默认 | 完整菜单 | 图层 | 页面 | 浅色 | 深色 | 粗糙 |
---|---|---|---|---|---|---|---|
图集 |
✔️ | ✔️ | ✔️ | ✔️ | |||
深色 |
✔️ | ✔️ | ✔️ | ✔️ | |||
kennedy |
✔️ | ✔️ | ✔️ | ✔️ | |||
min |
✔️ | ✔️ | ✔️ | ✔️ | ⚙️ | ||
草图 |
✔️ | ✔️ | ⚙️ | ✔️ |
注意,
粗糙
将改变形状的外观
Drawio 配置和 URL 参数
使用 高级设置 修改 drawio 嵌入参数
PDF:实验室和服务器扩展
ipydrawio-export
可以生成打印质量的PDF。这种方法依赖于由@jgraph/draw-image-export2、puppeteer
和nodejs
驱动的无头浏览器。
- 原生依赖项,以满足
puppeteer
的要求- 如果在
docker
中运行,这可能会有些试错 - 更多信息,请参阅binder和CI。
- 如果在
nodejs>=18,<19
来自conda
或您的系统包管理器- 注意:这依赖于能够安装
puppeteer
(以及其他现在在首次使用时通过jlpm
安装的arbitrary dependencies
)
- 注意:这依赖于能够安装
pip install ipydrawio-export
或conda 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.
项目详细信息
下载文件
下载适用于您的平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。