Python/Javascript:WYSIWYG html编辑器-快速处理大型文档和/或设计理论

Python/Javascript:WYSIWYG html编辑器-快速处理大型文档和/或设计理论,python,html,wysiwyg,Python,Html,Wysiwyg,背景: 我正在用python编写一个电子书编辑程序。目前,它使用源代码视图进行编辑,我想将其移植到wysiwyg视图进行编辑。我能为python找到的最好(唯一?)html呈现程序是webkit(我使用的是PyQt版本) 问题: 如何完成所见即所得编辑?要求/问题如下: 一本电子书最多可以有10000段/1000000 人物。 PyQt Webkit(内容可编辑):没问题 PyQt Webkit(TinyMce等):打开它们需要很长时间 格式为........。body元素只包含段落,不包含

背景:

我正在用python编写一个电子书编辑程序。目前,它使用源代码视图进行编辑,我想将其移植到wysiwyg视图进行编辑。我能为python找到的最好(唯一?)html呈现程序是webkit(我使用的是PyQt版本)

问题:

如何完成所见即所得编辑?要求/问题如下:

  • 一本电子书最多可以有10000段/1000000 人物。
    • PyQt Webkit(内容可编辑):没问题
    • PyQt Webkit(TinyMce等):打开它们需要很长时间
  • 格式为
    ..

    ..

    ..

    ..
    。body元素只包含段落,不包含div等(但段落中可能包含跨距、链接等)。就用户而言,编辑必须在没有重大延迟的情况下进行。
    • PyQt Webkit(ContentEditable):如果您尝试在多个段落中删除文本,这将花费很长时间!!我的理解是,这是因为它重置了被更改元素的公共父元素,即整个正文元素,因为两个不同的段落正在被删除/合并。但是,不需要这样做-只需要删除/合并/更改这些单独的段落
  • 我愿意实现我自己的所见即所得编辑,但就我的一生而言,我不知道如何正确地删除/剪切/粘贴/合并/更改html代码。我在网上搜索有关html所见即所得设计理论的文章,结果一无所获


    谢谢

    我能提出另一种完整的方法吗?由于您的电子书只有

    • 拆分

      上的文本,以获得所有段落的索引数组
    • 制作您自己的分页系统,并在屏幕上填充N个段落,这些段落会自动从索引数组中获取足够的文本来显示
    • 进行选择时,可以使用[段落索引+段落中的字符索引]作为选择的开始/结束
    • 然后根据这些假设实现剪切/复制/粘贴/删除/撤消/重做

    (注意:当您进行选择时,由于起点已保存,您可以安全地更改屏幕上的文本/分页,直到选择结束。)

    抱歉。我的意思是在
    中只有
    ,但是在
    中可能有
    ,等等。所以它不仅仅是一个简单的段落+字符索引。而且,这听起来很有趣,但我该如何使用“我自己的分页系统”?我需要#1一个html渲染器和#2在多个“页面”上滚动和选择文本的能力。然后#3将插入符号位置+html更改与渲染器进行通信…是的,因此您可以为此编写一点javascript。无论
    中的内容是什么,您仍然可以使用这种方法。是的,您需要自己进行文本输入(用于选择等),并根据
    更新html输出。(我的意思是,
    可以是你工作的“最小项目”)