Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

关于渲染模板API的疑问 #4676

Closed
zxcvbnmzsedr opened this issue Apr 23, 2022 · 8 comments
Closed

关于渲染模板API的疑问 #4676

zxcvbnmzsedr opened this issue Apr 23, 2022 · 8 comments

Comments

@zxcvbnmzsedr
Copy link

这个 /api/template/render ,是用来做什么用的?文档上面没有具体的说明,出入参都没有写

目前好像没有API可以获取到block渲染之后的html

@88250
Copy link
Member

88250 commented Apr 27, 2022

这个 API 目前还不确定是否有必要提供给开发者,传参的话可以在思源中看下 /模板 选择模板后的调用。

目前好像没有API可以获取到block渲染之后的html

使用场景是?

@88250
Copy link
Member

88250 commented Apr 28, 2022

先关闭,暂时作为讨论帖,谢谢。

@88250 88250 closed this as completed Apr 28, 2022
@zxcvbnmzsedr
Copy link
Author

使用场景是想通过思源笔记,生成博客。

目前是通过api/export/exportMdContent那个接口将笔记当成markdown来进行渲染。

这就导致生成出来的效果,和笔记中写的效果有较大差异,所以就想着能不能有个接口哪到渲染之后的html

@zxcvbnmzsedr
Copy link
Author

然后OceanPress这个项目我也看了,是通过解析原始文件来生成html的。

感觉不是很优雅,要有笔记有新特性出来,就可能需要修改生成的方式。

或者说,Vditor能够兼容思源的sy文件也可以。。😍😍

@88250
Copy link
Member

88250 commented Apr 28, 2022

OceanPress 的方式应该是没问题的,通过 Protyle 和 Lute 做解析生成,思源底层也是用的这两个库。

@zxcvbnmzsedr
Copy link
Author

因为我是通过GATSBY这个来实现的,将思源的API包装成graphQL,如果有现成的API,实现起来就简单很多。

要是没有就只能通过Lute去尝试一下了😅

@HowcanoeWang
Copy link

HowcanoeWang commented Jan 19, 2023

似乎这个API没办法实现在文档中插入模板内容?

按照API的说明, 在asnyc中使用下面的代码

let m = {id: '20230119230235-9m59rub', path: 'C:\\Users\\<user>\\Documents\\SiYuan\\data\\templates\\dailynotes.md'},
    g = await this.request("/api/template/render", m);

console.log(g)

看起来也正确的获得了解析:

{
code: 0,
data: {content: '<div data-subtype=\"h6\" data-node-id=\"20230119230250-oqebift\" data-node-index=\"1\" data-type=\"NodeHeading\" class=\"h6\" updated=\"20230119230250\"><div contenteditable=\"true\" spellcheck=\"false\">信息收集</div><div class=\"protyle-attr\" contenteditable=\"false\">​</div></div><div data-subtype=\"h6\" data-node-id=\"20230119230250-46irf08\" data-node-index=\"2\" data-type=\"NodeHeading\" class=\"h6\" updated=\"20230119230250\"><div contenteditable=\"true\" spellcheck=\"false\">工作记录</div><div class=\"protyle-attr\" contenteditable=\"false\">​</div></div>"', path: 'C:\\Users\\<user>\\Documents\\SiYuan\\data\\templates\\dailynotes.md'}
msg: ""
}

但是对应的文档,里面还是空白?

然后这个作者给的修复方式,感觉路子非常野,不像是正确的用法,感觉可能是API接口存在问题

@88250
Copy link
Member

88250 commented Jan 19, 2023

获得 data 以后要调用插入块的 API 插入。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants