如何渲染自定义文件 比如.py

如何打开一个文件,还能自定义规则渲染。官方给的接口可以用md方式渲染,希望有更深层次的教程

1 个赞

不懂开发,我是来提需求的,如果有人有实现思路还望赐教 :kissing_closed_eyes:
希望以后能支持更多格式后缀名吧。我希望能在ob中编辑 .csv、.svg文件,要是支持对位图文件的简单编辑就更好了(不需要很复杂的功能,简单版的win自带画图软件的功能就足够用了)
这样就能有更流畅丝滑的编辑体验了
例如,
写下![[测试图片.bmp]]即可插入一张位图(不存在则自动生成白底的空白位图),点击进入这个图片就能对图片进行简单编辑(例如鼠标画笔、橡皮擦、取色器、常见几何图形、插入文字)

写下![[测试矢量图.svg]]即可插入一张矢量图(不存在则自动生成白底的空白矢量图),点击进入测试矢量图.svg 这个文件,预览模式即可用图形界面绘制简单的矢量图形(基本几何图形、钢笔工具、文字、对齐方式、描边与填充、编组与图层),编辑模式下显示svg代码文本

写下!测试表格.csv就能插入表格文件(不存在则自动生成空白的表格),点击即可进入测试表格.csv 文件,进行填表

还可以插入html文件(预览模式为网页、编辑模式显示网页源码)

code-embed插件,不过这些多半不会被普遍支持,ob又不是编辑器

教程就算了,官方api的教程都少

vscode+插件可以稍微满足

可以的!在插件中新建一个TextFileView,在onOpen方法里面可以获取到文件的内容(字符串),然后就可以按照自己的需求去渲染contentEl的内容了。

不过因为目前obsidian只支持md格式的文件,所以还是要实现把md文档打开成非MarkdownView,需要在MarkdownView上加补丁,比如在右上角的按钮里面加一个“打开为xxx视图”,然后调用setViewState方法就可以从MarkdownView切换成自己定义的视图。

kanban就是使用了这样的方法,可以研究一下代码。我有一个正在开发的插件也用到了这个功能。