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

[Feature] 阅读器内容灵活扩展 #167

Open
1 task done
woniu163 opened this issue Feb 11, 2025 · 6 comments
Open
1 task done

[Feature] 阅读器内容灵活扩展 #167

woniu163 opened this issue Feb 11, 2025 · 6 comments
Labels
enhancement New feature or request
Milestone

Comments

@woniu163
Copy link

What new features do you want? - 你想要什么新功能?

阅读器中,可以支持显示其他控件,例如在段落的结尾,要加一个Button,Image或者其他自定义的控件,这个功能是目前所有开源阅读器所不具备的能力,如果支持一定很酷

This issue is unique - 这个issue是唯一的

  • I have searched the issue tracker and did not find an issue describing my bug. - 我已经搜索问题追踪器并且没有发现相同的 issue。
@woniu163 woniu163 added the enhancement New feature or request label Feb 11, 2025
@dmzz-yyhyy
Copy link
Owner

我并没有理解这么做的用处,可以给个简单的效果草图吗,以及这个功能可以用来干什么?

@woniu163
Copy link
Author

woniu163 commented Feb 12, 2025

Image
例如这样的图文混排,如果image显示的是一张gif的话,在阅读器里面支持控件,这样展示gif就会很简单,同理,要是对image需要做一些个性化定制的话,如果阅读器支持控件,就可以将image控件换成一个自定的image控件来满足特殊的需求。总之我想表达的是,如果能在阅读器的排版渲染中支持控件,就可以很灵活的以低成本满足个性化需求。

@dmzz-yyhyy
Copy link
Owner

我依然没有理解,说实话,因为现在的实现和这个很类似,对于文字中的图片是用单独的图片控件显示的
以及,用户如何可以自定义控件?控件都是代码写出来的,用户不太可能自行编程

@dmzz-yyhyy
Copy link
Owner

请问此issue是否活跃,以及我们很乐意提供此功能支持,但是并不知理解该功能的内容

@woniu163
Copy link
Author

woniu163 commented Feb 27, 2025

抱歉,我换种方式表达,您看看可以不。就是可以对阅读器内容的类型进行抽象,例如有个base接口定义阅读器元素标准,然后text作为文字元素类型的实现,image作为图片元素类型的实现,如果需要在阅读器里面扩展新的元素类型(例如button),实现base接口定义的标注就可以了,然后在排版的时候,根据base接口定义的标准,实现在排版算法中灵活支持元素类型的扩展,这样,在扩展新的元素类型的时候,排版算法不用修改就可以灵活的支持新增的元素类型

@dmzz-yyhyy
Copy link
Owner

dmzz-yyhyy commented Feb 27, 2025

我们明白你的意思了,我之前一直以为这是个功能上的请求,实际上这是个代码实现结构上的建议。这是个很好的想法,我想具体讨论一些技术细节

基础接口

  • 基础接口所要包含的内容
  • 上层拿到数据的时候如何把文本解析为控件,使用特殊文本语法?(如xml)

用户使用

  • 如果是仅面向程序员的一个改动,这未免太无聊了,因此有必要让用户可以一定程度上的使用这个功能
  • 用户如何使用此功能(每个人需求不同,可能有不同的控件要求)是否做成允许外部导入插件的形式
  • 有些特殊的自定义控件,比如button,从数据源拿数据的时候不可能存在这些自定义控件,如何让这些控件可以被使用?(软件目前有文字后处理的管道,或许可以让插件接入,这样就可以在原有文字上增加自定义控件了)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Status: Todo
Development

No branches or pull requests

2 participants