Перейти к содержимому

Редактор

Область заметки в веб-приложении имеет единый переключатель Просмотр / Правка вверху заметки. В режиме просмотра происходит богатое отображение; режим правки — это простое текстовое поле на CodeMirror 6 для написания markdown.

Средство просмотра построено на связке remark/rehype с расчётом на совместимость с Obsidian. Если что-то отображается в Obsidian, оно должно отображаться и здесь.

  • CommonMark + GFM: заголовки, списки, таблицы, блоки кода, зачёркивание, списки задач
  • Вики-ссылки: [[Note Title]] и [[Note Title|Display Text]], отображаются как ссылки на /notes/<path>
  • Встраивание изображений: ![[image.png]] разрешается через API вложений с аутентификацией
  • Выноски: в стиле Obsidian > [!note], > [!warning], > [!tip] и т. д., через @portaljs/remark-callouts
  • Формулы KaTeX: $inline$ и $$display$$
  • Диаграммы Mermaid: блоки кода ```mermaid
  • Подсветка синтаксиса: блоки кода отображаются через rehype-highlight
  • Frontmatter: YAML в начале файла разбирается с помощью gray-matter; основной текст отображается ниже
  • Заголовки со ссылками: каждый заголовок получает слаг и якорную ссылку

Режим правки подставляет поле CodeMirror 6 с языковым плагином markdown (подсветка синтаксиса), переносом строк и безопасным для мобильных шрифтом 16px, который не вызывает автоматического увеличения в iOS Safari.

Кнопки «Сохранить» нет. Редактор автоматически сохраняет по мере набора: индикатор состояния вверху заметки показывает Saving…, пока идёт запись, Saved, когда она завершилась, и Save failed со ссылкой Retry, если запись завершилась ошибкой.

Веб-редактор намеренно задуман как средство быстрой записи: открыли заметку, поправили, ушли. Для более богатой работы с текстом (меню через слэш, поиск и замена в редакторе, автодополнение вики-ссылок и тегов) лучше подходит Obsidian. Это разделение сделано намеренно, а не из-за пробела в возможностях; Obsidian уже превосходный редактор, и мы синхронизируемся с ним напрямую, поэтому веб-приложение сосредоточено на том, что трудно делать хорошо из Obsidian (просмотр сразу по всем хранилищам, доступ с телефона без приложения Obsidian для iOS, доступ из любого браузера).

Безопасное при конфликтах редактирование

Заголовок раздела «Безопасное при конфликтах редактирование»

Веб-редактор работает через тот же механизм синхронизации, что и плагин. Если другое устройство правит ту же заметку, пока она у вас открыта, редактор реагирует без потери вашей работы:

  • Входящие удалённые правки вливаются в ваш открытый черновик через трёхстороннее слияние. Чистые слияния происходят незаметно.
  • Если ваше сохранение обгоняет запись с другого устройства, сервер возвращает 409. Редактор получает последнюю версию, накладывает вашу правку поверх неё через трёхстороннее слияние и автоматически повторяет сохранение.
  • Когда в слиянии есть настоящее пересечение на уровне строк, ваш черновик остаётся ровно таким, как был, и появляется неблокирующая панель ConflictBar с тремя вариантами: Keep mine, Take theirs или View merge. Ничего не отбрасывается молча.

Всё, что зависит от плагина сообщества Obsidian (запросы Dataview, вывод Templater, пользовательские расширения canvas, фигуры Excalidraw и т. д.), не будет выполняться в веб-редакторе. Веб-приложение использует собственный механизм отображения; оно не может запускать код плагинов из вашей установки Obsidian. Блоки Dataview отображаются как обычный код, синтаксис Templater остаётся неразрешённым и так далее.

Заметки, которые зависят от отображения через плагины, остаются в безопасности. Они синхронизируются как обычный markdown и корректно выглядят в Obsidian. Просто в веб-приложении они не получают динамического отображения.

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

Редактор удобен для касаний, но ограничен малым экраном. Для серьёзной правки на телефоне обычно лучше подходит мобильный Obsidian. Быстрые правки и поиск в веб-приложении работают нормально.