feat(reader): full Markdown and HTML rendering for GitHub READMEs, tables, images and links
This commit is contained in:
@@ -21,12 +21,21 @@
|
||||
- **Слова внутри списков и цитат остаются кликабельными** (интерактивный клик-перевод работает!).
|
||||
- [x] **Заголовки Markdown (`##`, `###`)**:
|
||||
- Конвертация в `<h3>`, `<h4>` с удалением сырых решёток `#`.
|
||||
- [x] **Таблицы Markdown (`| col | col |`)**:
|
||||
- Адаптивные таблицы с рамками, стилизацией заголовков `<thead>`, зебра-подсветкой строк и горизонтальным скроллом на мобильных.
|
||||
- Каждая ячейка поддерживает интерактивные слова для изучения и инлайн-код.
|
||||
- [x] **HTML-блоки и теги в Markdown (`<p align="center">`, `<h1>`, `<em>`, `<strong>`, `<sub>`, `<br>`)**:
|
||||
- Нативный парсинг через встроенный `DOMParser` без внешних библиотек.
|
||||
- Устранена утечка сырых тегов (`<picture>`, `<source>`, `<p align=...>`) в словарные слова.
|
||||
- [x] **Ссылки и изображения (`[text](url)`, ``, `<img>`)**:
|
||||
- Поддержка бейджей shields.io, тренд-графиков и внешних картинок.
|
||||
- Автоматическое скрытие битых/отсутствующих локальных путей (`assets/...`) через обработчик `onerror`.
|
||||
- [x] **Точное позиционирование окна перевода у курсора/слова (Popup Positioning)**:
|
||||
- Исправлен баг двойного смещения координат: убран `window.scrollY` при `position: fixed`.
|
||||
- Окно позиционируется точно под кликнутым словом (`rect.bottom + 8`) либо над ним (`rect.top - popupHeight - 8`), если снизу недостаточно места.
|
||||
- Окно центрируется относительно кликнутого слова с проверкой границ вьюпорта (отступы минимум 12px от краёв).
|
||||
- Окно перенесено в корень `<body>` для исключения искажений контекста позиционирования.
|
||||
- Плавное отслеживание скролла через `requestAnimationFrame` с автозакрытием при уходе слова за границы экрана или под липкую шапку.
|
||||
- [x] **Стилизация в CSS ([`app/static/css/style.css`](file:///home/ai-projects/services/study.qpid.pro/app/static/css/style.css))**:
|
||||
- Добавлены стили для `.reader-content-body pre`, `code`, `blockquote`, `ul`, `ol`, `.reader-code-block`, `.reader-inline-code`.
|
||||
- Добавлены стили для `.reader-content-body pre`, `code`, `blockquote`, `ul`, `ol`, `.reader-table`, `.reader-heading`, `.reader-link`, `.reader-img`.
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user