- Автономное (standalone) офлайн приложение.
- Программа написана на C и C++, поэтому максимально быстрая.
- Поддерживает расширенный синтаксис GitHub Flavored Markdown (GFM).
- Поддерживает формулы в формате LaTeX.
- Поддерживает относительные ссылки на другие .md-файлы.
- Поддерживает подключение пользовательских .js и .css-файлов к генерируемому html-коду.
- Имеется пример плагина, реализующий систематизацию статей по тегам.
- Работает в Linux и Windows.
- Скачайте последнюю скомпилированную версию: https://github.com/1vanK/MarkdownViewer/releases (ТУТ ПОКА ЧТО УСТАРЕВШИЕ ВЕРСИИ, КОМПИЛИРУЙТЕ САМИ).
- Распакуйте архив в любую папку (например в
c:\Programs\IMV
). - Ассоциируйте .md-файлы с программой.
- Backspace - назад (предварительно кликните мышкой в любом месте страницы, если фокус ввода находится на каком-то текстовом поле).
- Средняя кнопка мыши - открыть ссылку в новом окне.
- F5 - обновить страницу.
Формула внутри строки (inline): `$ формула $`
или `\( формула \)`
.
Формула в центре отдельной строки: `$$ формула $$`
или `\[ формула \]`
.
Формулы набираются в формате LaTeX. Можно воспользоваться онлайн-редактором, однако там есть далеко не все символы. Например:
\cdot
- dot protuct\left|
и\right|
- прямые скобки переменной высоты
Да одних пробелов существует целая куча:
\;
- толстый пробел\:
- средний\,
- тонкий\!
- "отрицательный" пробел (то есть наложение)
Подробнее: https://grammarware.net/text/syutkin/MathInLaTeX.pdf.
- Chromium Embedded Framework
- cmark-gfm
- KaTeX
- Создайте пустую папку, а в ней bat-файл:
:: Меняем кодировку консоли на UTF-8
chcp 65001
:: Путь к git.exe
set "PATH=c:\program files\git\bin"
:: Качаем репозиторий в папку repo
git clone https://github.com/1vanK/MarkdownViewer repo
:: Ждём нажатие Enter перед закрытием консоли
pause
- Запустите этот батник, чтобы скачать репозиторий
- Скачайте https://cef-builds.spotifycdn.com/cef_binary_99.2.12%2Bg2977b3a%2Bchromium-99.0.4844.74_windows64.tar.bz2
и поместите содержимое папки cef_binary_* из архива в папку
repo/third_party/cef
без перезаписи - Создайте и выполните bat-файл:
:: Меняем кодировку консоли на UTF-8
chcp 65001
:: Указываем путь к cmake.exe
set "PATH=c:\programs\cmake\bin"
:: Удаляем папку build_vs
rmdir /s /q build_vs
:: Создаём проекты для Visual Studio 2022 в папке build_vs, используя конфиг CMakeLists.txt из папки repo
cmake repo -B build_vs -G "Visual Studio 17" -A x64
:: Компилируем проекты в папке build_vs
::cmake --build build_vs --config Debug
cmake --build build_vs --config Release
:: Ждём нажатие Enter перед закрытием консоли
pause
- Результат сборки будет помещен в папку
build/result
- Скрипт для скачивания репозитория:
#!/bin/sh
# Качаем репозиторий в папку repo
git clone https://github.com/1vanK/MarkdownViewer repo
- Скачайте https://cef-builds.spotifycdn.com/cef_binary_99.2.12%2Bg2977b3a%2Bchromium-99.0.4844.74_linux64.tar.bz2
и поместите содержимое папки cef_binary_* из архива в папку
repo/third_party/cef
без перезаписи - Скрипт для установки зависимостей:
#!/bin/sh
sudo apt update
sudo apt install git cmake build-essential libx11-dev
- Скрипт для генерации и компиляции проектов
#!/bin/sh
cmake repo -B build -G "Unix Makefiles"
cmake --build build
- Установка xclip (чтобы работало копирование ссылок через контектное меню)
sudo apt install xclip
- Создание ассоциации md-файлов с приложением:
ПКМ на любом md-файле > Открыть с помощью > Другое > Пользовательская команда >
/путь/к/прорамме %u
>Сохранить ассоциацию + Использовать по умолчанию
> Ok
Программа протестирована на Windows 10 x64 и Linux Mint 20.3 Cinnamon.
Кэш программы пишется в директорию Cache в папке с программой. Эту папку можно удалять, чтобы очистить кэш. Можно скомпилировать программу с автоудалением кэша при выходе (смотрите дефайн AUTOREMOVE_CACHE), однако внешние сайты станут открываться медленнее, так как картинки, скрипты, стили и т.д. будут каждый раз качаться заново.
Программа стартует заметно быстрее, если отключить Защиту в режиме реального времени
для встроенного антивируса Windows 10.
CEF - очень тяжелая библиотека, а винда проверяет все эти .dll-ки.
Для редактирования md-файлов лично я предпочитаю использовать Notepad++ с плагином Snippets в Windows и Textosaurus в Linux.