Just Another MD Lister (JAMD) 1.7
Описание
Плагин Total Commander для просмотрщика (WLX), который отображает файлы Markdown в аккуратном предпросмотре в стиле GitHub. Работает на основе Microsoft WebView2, только для чтения, 64-разрядный.Скриншоты:
https://github.com/mikinko/JustAnotherMarkdown_lister_WLX
Возможности
Отображение
Markdown в стиле GitHub (markdown-it + санитайзер DOMPurify) — только чтение, безопасно
Подсветка синтаксиса в блоках кода — Prism.js, ~297 языков
Диаграммы Mermaid (блок-схемы, диаграммы последовательности, Гантта и др.) — загружаются по требованию
Дополнения GFM: таблицы, списки задач, зачёркивание, ==выделение==, сноски
Блоки-предупреждения: [!NOTE], [!TIP], [!IMPORTANT], [!WARNING], [!CAUTION]
Якоря заголовков со ссылками-постоянными
Локальные ссылки: якоря на той же странице, переходы между документами вида other.md#section
Относительные пути к изображениям и ресурсам разрешаются относительно папки документа
Подсветка строк через информационную строку блока, например ```js {2,5-7}
Таблица стилей для печати (Ctrl+P) — чистый вывод без элементов интерфейса
Интерфейс
Темы: Системная / Светлая / Тёмная (встроенные) + редактируемые цветовые пресеты JSON в themes/
Темы подсветки кода: GitHub Light/Dark, Prism, Okaidia, Tomorrow, Solarized Light
Сворачиваемое оглавление, построенное по заголовкам документа
Разделённый вид: отрисованный предпросмотр рядом с исходным текстом, с синхронной прокруткой
Режим бионического чтения (выделение начала слов жирным)
Регулируемый масштаб (50–200 %) и ширина текста (600–2000 px)
Переключение нумерации строк в блоках кода
Инструменты блоков кода: кнопка копирования + переключатель переноса строк
Полоса прогресса прокрутки и строка состояния: число слов, ~время чтения, число заголовков и строк, текущая прокрутка в %
Кнопка возврата наверх
Управление расположением кэша WebView2 (системный профиль или своя папка)
Настройки сохраняются в INI (без localStorage, без телеметрии)
Что нового
1.7.0 — Windows Dark theme, TC search, more Markdown files
- Windows Dark theme (themes/windows-dark.json): neutral greys, white
headings at regular weight, red inline code, Segoe UI Variable and Cascadia
Mono. Themes can now also set code-fg, heading, heading-weight,
font and mono.
- Gruvbox Dark rebalanced: hard background, brighter cream text, red inline
code, regular-weight headings.
- Brighter text in the built-in dark theme and in One Dark, Tokyo Night, Nord
and Solarized Dark.
- Total Commander's find (F7, F3) works in the lister
(ListSearchText): it fills JAMD's find bar with the same options.
- More extensions open as Markdown: .mdwn .mdtxt .mdtext .mdx .livemd, and
R Markdown / Quarto .rmd .qmd (their YAML header shows as the front
matter card).
- Right-to-left paragraphs: Arabic and Hebrew blocks take their direction
each on their own (dir="auto").
Faster
Opening a large file is about 40 % faster (headless Edge, lister mode):
| 439 KB file, 3,400 blocks | 1.6 | 1.7 |
|---|---|---|
| Preview appears | ~2.0 s | ~1.24 s |
| Layout work during load | ~750 ms | ~200 ms |
| HTML sanitizing (DOMPurify) | ~450–530 ms | ~190 ms |
- Sanitize only blocks with raw HTML. Plain Markdown is markdown-it's own
escaped output and skips DOMPurify; blocks with `, and
other raw HTML still go through it. The test file holds a lot of real HTML,
so pure-Markdown files gain more. Two spots that relied on the sanitizer
now protect themselves: the fence language is escaped before it goes into
class, and [[wiki]] targets pass markdown-it's link check (no
javascript:). A hostile document (16 cases) renders with no handlers, no
javascript: links and no dialogs.
- Off-screen blocks skip layout and paint (content-visibility: auto),
laid out when scrolled near; print lays out everything. Heights are
estimated until seen: scrollbar marks were at most 0.7 % off (0.2 % on
average), and the scrollbar thumb settles as you scroll.
- Pele is the default diagram renderer when Diagrams= is unset;
Diagrams=mermaid in JAMD.ini (or *Settings ▸ Diagrams*) brings Mermaid
back. PELE-samples.md: all 58 diagrams render, Mermaid's 5.5 MB is never
loaded.
Fixes
- 32-bit Total Commander rejected the plugin as "not a valid plugin": the
ANSI ListLoad / ListLoadNext it requires were missing.
- x did nothing when the heading's anchor is test`: anchors now
also match decoded and slugged, as on GitHub (and the document check no
longer reports them as dead).
- added support for many more files, jupiter notebooks, json, html, ...
- speed, caching, security fixes