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 #26

Closed
iamqiz opened this issue Mar 23, 2024 · 4 comments
Closed

列表api #26

iamqiz opened this issue Mar 23, 2024 · 4 comments

Comments

@iamqiz
Copy link
Contributor

iamqiz commented Mar 23, 2024

我想实现把当前块作为相邻列表的子元素
如下图所示

当前:
Clip_2024-03-23_23-28-29

期望实现:
Clip_2024-03-23_23-28-43

我的想法是把当前c块转变为NodeListItem ,然后把它appendChild到相邻的NodeList里
这两个步骤我感觉用目前的插件api不好实现
能不能增加这样的api?

@iamqiz
Copy link
Contributor Author

iamqiz commented Mar 23, 2024

同理,希望能把思源里的块设计为单独的class,然后通过类方法来实现该类块的操作,
比如 以列表块为例,实现上述的功能

let para_element= <获取当前光标下的NodeParagraph元素>
let list_element= <获取相邻块的NodeList元素>

//把段落转换为list item
let listitem=SYList.createListItem(para_element)

// 以html元素为参数,实例化一个列表对象
let listObj=new SYList(list_element)

//将list item插入到列表结尾
listObj.appendChild(listitem)

@Vanessa219
Copy link
Member

可以用 Lute 来创建空列表,自己封装一下吧。

@iamqiz
Copy link
Contributor Author

iamqiz commented Mar 28, 2024

@Vanessa219 解决了, 插件可以用lute很nice
遗憾之一就是没文档,源码(petal)里也没对API作用的注释, 我是看了siyuan项目的源码才知道

@Vanessa219
Copy link
Member

哈哈,有空可以 PR 下

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

2 participants