Справочная информация:
Я пишу программу для редактирования электронных книг на python. В настоящее время он использует представление исходного кода для редактирования, и я хотел бы перенести его в представление wysiwyg для редактирования. Лучший (только?) Рендеринг HTML, который я смог найти для python, был webkit (я использую версию PyQt).
Вопрос:
Как мне выполнить редактирование wysiwyg? Требования / проблемы заключаются в следующем:
- Электронная книга может содержать до 10 000 абзацев / 1 000 000
персонажи.
- PyQt Webkit (ContentEditable): нет проблем.
- PyQt Webkit (TinyMce и т. Д.): навсегда открывает их!
- Формат
<body><p>...</p><p>...</p>...</body>
. Элемент body содержит только абзацев, нет разделителей и т. Д. (Но в абзаце могут быть пролеты, ссылки и т. Д.). Редактирование должно происходить без существенных задержек, если это касается пользователя.
- PyQt Webkit (ContentEditable): если вы попытаетесь удалить текст из нескольких абзацев, это займет вечность !! Насколько я понимаю, это происходит потому, что он сбрасывает общий родительский элемент изменяемых элементов - то есть всего элемента тела , поскольку два разных абзаца удаляются / объединяются. Но в этом не должно быть необходимости - нужно только удалить / объединить / изменить эти отдельные абзацы!
Я открыт для реализации своего собственного редактирования wysiwyg, но на всю жизнь я не могу понять, как правильно удалить / вырезать / вставить / объединить / изменить HTML-код. Я искал в Интернете статьи о теории дизайна html wysiwyg и пришел в себя.
Спасибо!