Clusker

Заметки — обычные markdown-файлы. И прав файл

Каждая страница в Clusker — .md-файл, а база его только кэширует. Рассказываем, что происходит, когда файл правят в обход нас.

Когда сервис пишет, что «поддерживает markdown», обычно имеется в виду экспорт. Нажали кнопку, получили архив файлов — и стоит поправить один из них, как для сервиса он перестаёт что-либо значить. Настоящая копия живёт в базе, которую вы не видите.

В Clusker наоборот. Каждая страница — обычный markdown-файл в папке, которая повторяет ваши проекты и папки. Блоки, которые вы видите в редакторе, — кэш этого файла. Если они расходятся, мы верим файлу.

Файл — оригинал, база — кэш

Когда вы пишете в Clusker, правка сначала уходит в файл, а блоки в базе пересобираются уже из него. Файл записан — значит, правка состоялась. Если база по какой-то причине отстала, её пересоберут из файла. Наоборот — никогда.

В другую сторону тоже работает. Поправьте файл снаружи — в другом редакторе, скриптом, через git pull — и наблюдатель за папкой заметит правку и пересоберёт страницу. Никакого импорта и никакой кнопки «синхронизировать».

Файл понятен и сам по себе. Поля страницы лежат во фронтматтере. Пункт чек-листа, ставший задачей, так и остаётся строкой чек-листа:

- [x] Отправить арендодателю черновик договора +anna {task=0f3a2c}

Плюс с именем — кому поручено, фигурные скобки — ссылка на задачу. Поставьте галочку прямо в файле, и задача в Clusker закроется, как будто её отметили в интерфейсе.

Конфликт показывается, а не сливается

Две копии одного текста рано или поздно разойдутся. Clusker снимает с каждого файла отпечаток и поэтому видит, кто сдвинулся: только файл, только Clusker или оба.

Если оба, Clusker не пытается быть умнее вас. Ваш файл остаётся нетронутым, своя версия ложится рядом отдельным файлом с пометкой conflict в имени, а на странице появляется полоса: файл изменили снаружи, вот обе стороны, выберите.

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

В редкий день это чуть больше хлопот — зато абзац никогда не пропадёт без предупреждения.

Дополнение: когда пишут вместе

Дописано в сентябре 2026 года, когда появилась совместная работа.

Страницы и холсты теперь можно править втроём одновременно. Для этого пришлось честно ответить на непростой вопрос: пока три человека набирают текст в одной странице, что именно считать файлом?

Ответ — граница во времени.

  • Страница закрыта — оригинал файл, всё как описано выше.
  • Страница открыта для совместной работы — оригинал живая сессия, в которую все пишут. Файл получает её снимок каждые несколько секунд и ещё раз, когда уходит последний.
  • Файл поправили, пока сессия открыта, — страница встаёт только на чтение, и все, кто на ней, видят один и тот же выбор. Живые правки с текстом из другого редактора мы не сливаем: это значило бы решать за вас.
  • Файл поменялся, пока никого не было, — побеждает файл, а не сохранённое прежнее состояние. Устаревшая сессия никогда не перепишет то, что вы написали в другом месте.

Зачем всё это

Затем, что заметка, которую нельзя открыть в любом редакторе и положить в git, — не ваш файл, а строка в чужой базе.

  • Уйти — не значит конвертировать. Страницы уже в markdown: заголовки, списки, ссылки и картинки записаны так, как ждёт любой редактор. Забрать их — это скопировать файлы, а не переводить из чужого формата в надежде, что ничего не потеряется.
  • Остальные инструменты продолжают работать. Папку с .md-файлами открывает Obsidian, её историю хранит git, копирует rsync, по ней ищет grep.
  • Простой текст переживает программы. Он пережил всё, что когда-либо его во что-то заворачивало, переживёт и нас.
  • Пароли туда не попадают. Записи сейфа в папку не выгружаются никогда — ни в файлы, ни в git.

Где лежит папка сегодня

Тут хочется быть точными. Папка лежит на сервере, на котором работает Clusker. Если Clusker стоит на вашем сервере, это обычный каталог: открывайте его в Obsidian, кладите в git, копируйте как привыкли. Мы сами так с ним и работаем.

На app.clusker.io у вашей команды есть те же файлы, но забрать всю папку одним нажатием пока нельзя — лучше сказать это прямо, чем намекать на обратное. А до тех пор любую страницу можно выделить целиком по ⌘ A и скопировать: в буфер она ляжет markdown-ом.

Читают также

Все записи

Журнал изменений4 мин чтения

Что вышло в начале сентября

Граф связей у документов, совместная правка страниц и холстов, комментарии с markdown и семь починок по нашему же смотру.