ВозможностиЦеныДокументацияБлог
Получить mote
← Блог
Дизайн·16 июня 2026 г.·5 мин чтения

Почему мы создали ещё один Markdown-редактор

Markdown-редакторов уже много — зачем создавать ещё один? Не потому, что им не хватает функций, а потому, что открываемое значение, след, остающийся после сохранения, и ощущение под кончиками пальцев ещё ни разу не сочетались в одном продукте.

m
mote
Заметки к выпуску, открытые в режиме Live. Символы Markdown скрыты и едва заметно появляются только в строке заголовка, где находится каретка.
Заметки к выпуску, открытые в режиме Live. Символы Markdown скрыты и едва заметно появляются только в строке заголовка, где находится каретка.

Каждый раз, выбирая Markdown-редактор, приходилось от чего-то отказываться.

Приложения с удобным инлайн-редактированием изменяли файл при сохранении. В приложениях, сохранявших файл без изменений, не хватало удобства редактирования. А приложения с богатыми возможностями для заметок были слишком тяжёлыми даже для того, чтобы открыть один документ.

В итоге приходилось держать открытыми сразу два редактора.

Поэтому я начал создавать mote. Это редактор, который соблюдает все три условия.

  • Скрывать символы Markdown и позволять редактировать текст напрямую
  • Сохранять написанный мной файл без изменений
  • Работать быстро и легко, без веб-движка

Продуктов, выполняющих каждое из этих требований по отдельности, уже много. Но продукта, который удовлетворял бы всем трём одновременно, я не нашёл.

О лёгкости — в цифрах

Большинство Markdown-редакторов с поддержкой инлайн-редактирования используют веб-движок вроде WebKitGTK или Chromium. Они преобразуют Markdown в HTML и отображают его в браузере.

Это упрощает реализацию, но имеет свою цену. Получается, что рядом с документом всё время открыт ещё и браузер. Увеличивается количество процессов и потребление памяти, а обработка нажатий клавиш проходит через несколько этапов.

Однако мало кто из разработчиков открыто говорит об этих издержках. На страницах продуктов вместо показателей загрузки процессора в состоянии покоя или задержки ввода остаётся лишь слово «лёгкий».

mote работает иначе.

Загрузку процессора в состоянии покоя, потребление памяти, задержку ввода и время запуска мы измеряем одним и тем же способом на одном и том же компьютере. Скрипты измерений и исходные данные также находятся в репозитории. Сборки, превышающие установленный бюджет производительности, не выпускаются.

Для сравнения мы используем только значения, измеренные в один и тот же период. Если значение измерить не удалось, мы не подставляем вместо него 0, а указываем, что оно не было измерено.

Потому что лёгкость должна быть не ощущением, а измеряемой величиной.

При сохранении файл не исправляется

При управлении документами через git иногда попадаются странные diff.

Исправляешь всего одну ячейку таблицы, а в следующем коммите появляется ещё целая россыпь строк, которых ты не менял. Это происходит потому, что при сохранении редактор заново выровнял пробелы или столбцы таблицы. Одна исправленная мной строка смешивается с двадцатью строками, исправленными редактором.

Меняется не всё. Есть редакторы, которые хорошо сохраняют переносы строк и последовательности пробелов. Различия в основном возникают в таблицах и выравнивании. И возможность сохранять файл без изменений тоже есть не только у mote.

И всё же я счёл это обязательным условием.

В mote основой служит текст. Байты файла без изменений загружаются в буфер, а выделение жирным, таблицы и формулы отрисовываются поверх него. При сохранении содержимое буфера без изменений записывается на диск.

Отображение на экране может стать красивее, но сам файл втайне от вас не изменится.

git diff после того, как в одной ячейке таблицы значение 'review' было заменено на 'approval' и файл сохранён — изменились только строка с этой ячейкой и последний абзац, а выравнивание вертикальных черт и маркеры списка в виде звёздочек остались прежними. В строке состояния указано +8 −6 B.
git diff после того, как в одной ячейке таблицы значение 'review' было заменено на 'approval' и файл сохранён — изменились только строка с этой ячейкой и последний абзац, а выравнивание вертикальных черт и маркеры списка в виде звёздочек остались прежними. В строке состояния указано +8 −6 B.

В первую очередь — правильный ввод корейского текста

Незаметные неудобства веб-редакторов ощущаются под кончиками пальцев. Прокрутка, размытие и движение могут выглядеть похоже, но понемногу отличаются от системных приложений операционной системы.

При вводе корейского текста разница становится ещё заметнее.

Составляемый символ может распадаться, курсор — перескакивать, а ввод в конце строки — пропадать. Эти проблемы возникают при обработке веб-редактором событий композиции корейских символов.

В mote символы и эффекты отрисовываются непосредственно операционной системой. Композиция корейских символов также поступает напрямую от платформенного метода ввода. Но взамен для каждой операционной системы приходится отдельно реализовывать ввод и проверять его на реальных устройствах. Сейчас поддерживается Linux, а версии для macOS и Windows находятся в разработке.

Это более трудный путь, но для людей, пишущих длинные тексты, эта разница важна.

Корейский документ, открытый в режиме Live, — символ # едва заметно появляется только перед строкой заголовка, где находится каретка, а расположенные выше жирный текст, курсив и инлайн-код отображаются без символов разметки.
Корейский документ, открытый в режиме Live, — символ # едва заметно появляется только перед строкой заголовка, где находится каретка, а расположенные выше жирный текст, курсив и инлайн-код отображаются без символов разметки.

Возможно, mote нужен не так уж многим.

Разработчикам, которые управляют README и проектной документацией через git. Людям, пишущим длинные тексты на корейском языке. Тем, кто целыми днями держит редактор открытым на ноутбуке.

Но причины, по которым они отказываются от редакторов, вполне очевидны.

Захламлённые diff. Прерывающийся ввод корейского текста. Вентилятор, который не перестаёт крутиться.

Мы также решили, чего делать не будем

В mote нет синхронизации, плагинов, обратных ссылок, ИИ и функций совместной работы.

Мы не создаём собственную синхронизацию. У нас нет ни учётных записей, ни серверов. В папке с документами не создаётся даже отдельный файл настроек. Мы не добавляли функции, которым требуется состояние, невыразимое средствами Markdown.

Поэтому в папке остаются только файлы .md. iCloud, Syncthing и git продолжают работать как прежде, даже не зная о существовании mote.

Мы также не открываем API для плагинов. Потому что даже один таймер, запущенный плагином, может нарушить наши обещания по производительности. Вместо этого мы открываем доступ к темам, сниппетам и шаблонам экспорта. Они позволяют менять внешний вид результата, не влияя на производительность во время редактирования.

Мы также не создаём обратные ссылки и режим просмотра графа. Потому что этот продукт не предназначен для конкуренции с базами данных заметок. Мы поддерживаем только дерево папок и стандартные относительные ссылки.

ИИ мы тоже не добавляем. Он не будет ни подводить итоги, ни продолжать текст, ни читать папку с документами и отправлять её содержимое наружу. Мы считаем, что отсутствие отправки документов куда-либо самим редактором — тоже важная функция.

Совместное редактирование в реальном времени также не поддерживается. Для совместного редактирования источником истины должна стать серверная модель документа. Это вступает в противоречие с принципом сохранения файла на диске без изменений.

Из этих двух вариантов mote выбрал файл.

Если вам нужна экосистема Obsidian, лучше выбрать Obsidian. Если важна многолетняя стабильность Typora, подойдёт Typora. Типографика iA Writer тоже пока остаётся целью, к которой нам предстоит стремиться.

mote не пытается заменить все Markdown-редакторы.

И дело не в том, что миру был нужен ещё один Markdown-редактор.

Нужен был один редактор, который одинаково бережно относится и к файлам, и к ноутбуку.

Позже →Причиной тяжеловесности был не Markdown, а веб-движок
Следите за новостями через RSS.
Оставьте только текст
Русский
© 2026 mote