typora_plugin icon indicating copy to clipboard operation
typora_plugin copied to clipboard

drawio与插件显示结果

Open RyanLei-icer opened this issue 11 months ago • 15 comments

drawio绘制时,软件与插件显示结果不一致,不知道是不是版本问题还是别的,我使用的drawio版本是25.02,当然现在最新是25.04了: 图片 上方的图片是drawio导出的svg(图1),下方的为插件调用绘制结果(图2)。

  1. 图1显示区域为适应宽度(导出缩放500%),图2显示有点小,我尝试过导出的图片为100%缩放刚好是插件绘制出的大小;
  2. 某些文字排版出现错位,如gate、areset_mask等。

RyanLei-icer avatar Jan 09 '25 08:01 RyanLei-icer

还有,我现在发现导出diagram又有问题: 图片 和drawio的导出结果差太多了,大部分内容的svg都看不了,貌似是尺寸与位置定位的问题。

RyanLei-icer avatar Jan 09 '25 08:01 RyanLei-icer

@RyanLei-icer

你好,感谢反馈。

  1. 我无法复现文字排版错位的情况。可能是 Typora 主题的锅,你试试改回默认的 Github 主题
  2. 文件 .drawio 保存了图形路径信息,并不保存 scale 信息(思考一下:只有当你导出为 SVG 的时候,才出现缩放选项;另存为 .drawio 的时候却没有,也就是说:缩放信息是需要额外输入的),所以插件默认会以原大小输出,后续我看一下怎么放大 SVG 以填充父标签。
  3. 导出问题不太乐观。目前导出 SVG 功能使用 Typora 自带的逻辑,然而 drawio 生成的 SVG 比较奇特,兼容性不太好。

IMG_2025-01-09_16-59-52 (1)

你试试在 Typora 填入如下内容,生成的图就很大

```drawio
graphConfig = {
    "source": "https://cdn.jsdelivr.net/gh/obgnail/typora_images@master/image/example.drawio",
    "page": 1,
}
```

IMG_2025-01-09_17-10-21 (1)

obgnail avatar Jan 09 '25 09:01 obgnail

看起来确实是主题的锅,换回github主题就正常了,我刚刚的错位就是用的你的zj.css主题(挺好看的)

RyanLei-icer avatar Jan 09 '25 10:01 RyanLei-icer

很好,^_^,png与jpg直接导出不了

RyanLei-icer avatar Jan 09 '25 10:01 RyanLei-icer

貌似在切换指向的drawio文件后无法直接重新绘制新图,需要重新打开typora,或切换主题才能重新绘制新图。

RyanLei-icer avatar Jan 10 '25 02:01 RyanLei-icer

@obgnail 佬哥现在用的css主题是哪个,可以分享下不,现在试过LaTeX、github主题都显示正常,其他的主题(包括你之前根据少数派改的zj主题)都有显示错位问题,找半天也不知道怎么改。

RyanLei-icer avatar Jan 10 '25 06:01 RyanLei-icer

@obgnail 佬哥现在用的 css 主题是哪个,可以分享下不,现在试过 LaTeX、github 主题都显示正常,其他的主题 (包括你之前根据少数派改的 zj 主题) 都有显示错位问题,找半天也不知道怎么改。

@RyanLei-icer

看了一下,line-height 出问题了,改成 initial 即可。在 CSS 文件中加入如下代码:

.plugin-drawio-content {
	line-height: initial
}

我个人返璞归真了,使用的是默认的 Github 主题。

obgnail avatar Jan 10 '25 08:01 obgnail

貌似在切换指向的 drawio 文件后无法直接重新绘制新图,需要重新打开 typora,或切换主题才能重新绘制新图。

不太可能吧。可以的话麻烦录个屏演示一下。

obgnail avatar Jan 10 '25 08:01 obgnail

貌似在切换指向的 drawio 文件后无法直接重新绘制新图,需要重新打开 typora,或切换主题才能重新绘制新图。

不太可能吧。可以的话麻烦录个屏演示一下。

这个问题我发现其根源在于代码块增强插件的通过语言设置高亮特定行的语法,启用后如果不是```python(2,3)这样的就会失去语法高亮,同时导致无法重新绘图。

RyanLei-icer avatar Jan 10 '25 08:01 RyanLei-icer

@RyanLei-icer

刚刚 drawio 样式问题,忘记说了,别把上面的代码加在主题的 CSS 文件上。

请放在 plugin/global/user_styles/customize.css 上。这样所有的主题就都没有问题了。

详情请参考 这里

obgnail avatar Jan 10 '25 09:01 obgnail

又发现个问题^_^: 插件绘图:图片 貌似不支持drawio的数学排版,还是默认不启用呢。

RyanLei-icer avatar Jan 10 '25 09:01 RyanLei-icer

我不是很了解 drawio。可以的话麻烦提供一个最小可复现文件吧

obgnail avatar Jan 10 '25 09:01 obgnail

图片 math_test.zip

RyanLei-icer avatar Jan 10 '25 09:01 RyanLei-icer

我试了一下,是有渲染数学排版的能力的。问题是:渲染数学排版时需要加载 Mathjax 库并做相应的改造,而 Typora 本身就有这个库,导致 Mathjax 冲突了,进而导致渲染异常。

这个问题挺麻烦的,变量 MathJax 发生冲突了。不好整。

obgnail avatar Jan 10 '25 10:01 obgnail