Гайд по Logseq

 Публичный пост
12 января 2022  16754

В клубе уже мелькали упоминания Logseq, но какого-то гайда с особенностями не нашел. Давайте это исправим!

Что это?

Logseq - это локальный аутлайнер с открытым исходным кодом, который работает с использованием локальных текстовых файлов Markdown и Org-mode. Подходит для базы знаний, организации мыслей, ведения списка дел.

Упор делается на том, что Logseq не хранит никакую информацию о ваших заметках на своих серверах. Поддерживает разметку Markdown и Emacs Org Mode. На странице проекта разработчики говорят спасибо другим продуктам, которыми они вдохновлялись: Roam Research, Org Mode, Tiddlywiki, Workflowy и Cuekeeper.

Разработка ведется с ноября 2020 года, репозиторий на Github уже набрал 9k звездочек.

Если вы еще не знакомы с Obsidian или Roam Research, перед тем, как читать дальше, рекомендую посмотреть вот эти посты:

Приложения

  • Есть приложения для Windows, Linux, Mac. Да, на электроне.
  • Приложения для Android и iOS в альфа-тесте.
  • Также можно работать через web, используя сайт разработчика logseq.com для открытия локального хранилища. Поскольку проект с открытым исходным кодом - никто не мешает развернуть веб-интерфейс на своем оборудовании. Владельцы мобильной техники Apple пролетают, Safari не поддерживает HTML5 file API, остается только использовать приложение.

Структура хранилища

Хранилище состоит из нескольких папок:

  • assets - для хранения рисунков, документов и т.п.
  • journals - папка с ежедневными журналами
  • logseq - папка для хранения конфигурации хранилища
  • pages - созданные пользователем страницы

Сами страницы хранятся в виде обычных текстовых файлов, никаких сюрпризов.

Начало работы

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

При нажатии Enter создается новый блок, а Shift+Enter создаст новую строку в текущем блоке. По нажатию / открывается меню команд, которые позволяют вставить рисунок, документ, выбрать дату, создать запрос, сделать ссылку на другую страницу или блок и т.п.

Набрав [[ вы сможете сделать ссылку на другую страницу, а набрав (( - на любой блок. Tab и Shift+Tab управляют отступами блока.

Дела и задачи

Logseq включает в себя две встроенные схемы работы с задачами:

  • LATER -> NOW -> DONE (по-умолчанию)
  • TODO -> DOING -> DONE

Переключение между схемами делается в настройках.

Существуют два способа создать задачу:

  • Нажать Ctrl/Cmd+enter
  • Ввести любое из ключевых слов: /LATER, /NOW, /DONE, /TODO.

Приоритет задачи задается командами: /A, /B, /C. Также можно задать срок командой /Deadline, запланировать начало выполнения командой /Scheduled. Там же можно задать периодичность, если задача повторяющаяся.

При наступлении срока задачи или связанной с задачей датой, на странице с журналом появляется список этих задач (см. скриншот). Есть несколько предустановленных запросов: "Просроченные задачи", "Текущие задачи", "Ближайшие задачи", но их можно исправить или добавить любой по своему желанию через настройки.

В настройках можно включить Timetracking, в этом случае Logseq запишет время выполнения, между созданием блока и переводом задачи в выполнено.

Сравнение с конкурентами

По своей сути Logseq очень похож на Roam Research. Два очевидных преимущества Logseq:

  • контроль над данными у пользователя
  • бесплатно!

Если у вас уже есть база в Roam Research, то ее можно легко импортировать, через меню Import.

Если сравнивать с Obsidian, то основное отличие - это наличие WYSIWYG редактора, markdown разметку вы видите только в текущем редактируемом блоке. Именно по этой причине мне не зашел Obsidian. Ну и открытый исходный код - тоже большой плюс.

Тут еще стоит упомянуть RemNote, который больше ориентирован на проведение исследований и учебы. Он тоже умеет локальную работу с заметками и в нем есть все для обучения и запоминания. Мне не очень понравился интерфейс на мобильных устройствах, хотя в целом очень достойное решение. Нужно отметить, что в Logseq не так давно завезли flashcards, карточки, которые позволяют организовать запоминание.

Особенности

  • Открытый исходный код, возможность self-hosted
  • Бесплатно
  • Написан на Clojure
  • Используемая база данных - Datascript
  • Поддерживает разметку markdown и Emacs Org Mode
  • Нативной синхронизации пока нет, но будет доступна в платной подписке Logseq Pro. Также в подписке обещают совместную работу
  • Интеграция с Zotero
  • Нет веб-клиппера

Свойства блоков

Свойства могут быть добавлены на страницу или блок. Задаются в виде пары ключ-значение так же, как и в Roam Resarch: author:: shady2k.
При включении опции Timetracking в каждый блок автоматически добавляются свойства updated-at и created-at.

Пример структуры блока в БД:

    		  {:block/uuid #uuid "61dea598-0fa1-4c8d-b453-ce80effc3217",
    		   :block/properties {},
    		   :block/journal? false,
    		   :block/left {:db/id 1550},
    		   :block/format :markdown,
    		   :block/content "По своей сути Logseq больше похож на Roam Research.",
    		   :db/id 1551,
    		   :block/path-refs [{:db/id 1545}],
    		   :block/parent {:db/id 1550},
    		   :block/unordered true, 
    		   :block/page {:db/id 1545}}

Синонимы

Да, Logseq умеет синонимы, достаточно указать свойство alias в первой строке: alias:: яблоки, яблоку, apple. Поиск при этом работает отлично и перенаправляет на основную страницу вне зависимости от того, по какому синониму страница найдена.

Вот как выглядит такой блок в БД:

    	  {:block/alias [{:db/id 1568} {:db/id 1569} {:db/id 1570}],
    	   :block/uuid #uuid "61dea917-a22c-4a99-8799-640682dc3a9b",
    	   :block/properties {:alias #{"яблоки" "яблоку" "apple"}},
    	   :block/journal? false,
    	   :block/updated-at 1641982261586,
    	   :block/created-at 1641982234290,
    	   :block/format :markdown,
    	   :db/id 1564,
    	   :block/name "яблоко",
    	   :block/file {:db/id 1566}, 
    	   :block/original-name "Яблоко"}

Графы

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

Запросы

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

  • Простой

{{query Поисковый запрос (between -7d +7d) }}

  • Сложный использует Datalog для написания запросов
    			  #+BEGIN_QUERY
    			  {:title "All tasks"
    			   :query [:find (pull ?b [*])
    			         :where
    			         [?b :block/marker ?m]
    			         [(not= ?m "nil")]]}
    			  #+END_QUERY

Плагины и темы

Не так давно открылся marketplace с плагинами и темами оформления в режиме теста. Очевидно, что пока их не очень много. Но это только начало.

Публикация

Logseq поддерживает публикацию своей базы знаний. Процесс выглядит так:

  • Отмечаете нужные страницы публичными добавлением свойства public:: true, либо делаете все страницы публичными в настройках
  • Делаете экспорт графа из меню
  • На выходе вы получаете набор статических файлов, которые можно разместить в Gihub pages, Vercel или на своем веб-сервере

Синхронизация

Да, это больной вопрос и здесь. Изначально, когда была только web-версия, существовал только один вариант синхронизации: через github. Не так давно команда Logseq объявила, что эту синхронизацию отключат и создают свой сервис синхронизации, который, конечно же, будет платным и по подписке.

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

Некоторым удобно использовать git, особенно, если развернуть свой локальный, например, с помощью Gitea. На Github, даже в приватный репозиторий, я бы не рискнул заливать свою базу знаний.

Для iOS есть замечательное приложение Working Copy, которое позволяет работать с git через удобный интерфейс. Приложение поддерживает автоматизацию, народ настраивает так, чтобы при открытии приложения делался автоматический pull, а при закрытии - commit и push. В магазине приложение бесплатное, но без оплаты не позволяет делать commit и push. Конечно цена не самая низкая, но обещают, что платить нужно только один раз, но есть нюансы.

Мои впечатления

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

Оказалось очень удобно хранить фрагменты кода, в Logseq используется CodeMirror. Что особенно радует, при нажатии "Выделить все" выделяется только код.

Для синхронизации я выбрал решение с git. Да, необходимость синхронизировать файлы вручную не радует, но и у Obsidian ситуация похожая: не хочешь платить за официальную синхронизацию - мучайся.

Чего очень не хватает во всех этих продуктах - это двусторонней синхронизации с календарем. Вот создал я задачу в Logseq, вовремя не заглянул - пропустил. Хочется каких-то нотификаций на телефоне.

Еще есть проблема с самодисциплиной. Приучить себя записывать - это сложно, здесь нужна привычка. Часто бывает так, что не записал, не придал значения, а потом на восстановление информации приходится тратить много времени. А еще бывает так, что тот замечательный сайтик, где вы нашли информацию, может исчезнуть. Поэтому выбрать заметочник - это только половина дела, важно не забывать в него писать :)

Отлично, мне нравится, как попробовать?

Проще всего зайти на сайт https://logseq.com/ и пощупать руками.

Приложения качать здесь: https://github.com/logseq/logseq/releases

Если появятся вопросы, у Logseq есть активное сообщество в Discord, где вам обязательно помогут.

Ссылки

Связанные посты
11 комментариев 👇

"Если сравнивать с Obsidian, то основное отличие - это наличие WYSIWYG редактора" - кстати, в одной из последних версий уже появился полноценный WYSIWYG редактор. Хоть он только в бета режиме работает, но довольно хорошо :)

  Развернуть 1 комментарий

@eeemp, О, отлично, посмотрю. Это отдельный плагин или штатная функция?

  Развернуть 1 комментарий

@shady2k, штатная, я не могу подсказать конкретно, просто недавно запустил его и он мне предложил попробовать работать в WYSIWYG режиме - я этого сам долго ждал, по этому сразу включил :) В настройках: редактор - default editing mode - live preview

  Развернуть 1 комментарий

«Чего очень не хватает во всех этих продуктах - это двусторонней синхронизации с календарем. Вот создал я задачу в Logseq, вовремя не заглянул - пропустил. Хочется каких-то нотификаций на телефоне». – я для себя разделил знания оперативные, текущей работы и зная фундаментальные, условно навсегда.

Знания, а точнее, информацию, необходимую мне для сегодняшних задач, я храню в Noteplan. заплатил годовую подписку, развлекаюсь. и вот тут отлично всё с календарём стыкуется. а информация лежит в тех же файлах markdown с такими же бэклинками. но iCloud. но красивенько.

А вот знания, чтение, размышления и проч я храню в Obsidian.

  Развернуть 1 комментарий

@borunov, а почему полностью не перейти в Noteplan, чем Obsidian лучше? У Noteplan нет веб-версии?

  Развернуть 1 комментарий

@shady2k, обсидиан уже был, а вот работы с туду и календарём в нём не было (да и нет). потому и выбрал дополнительный инструмент с блэкджэком и маркдауном. и бэклинками

идея всё же в разделении информации оперативной и долговременного хранения

  Развернуть 1 комментарий

Obsidian мне тоже не зашел, а вот logseq очень даже.

В посте не хватает информации как попасть в альфа тест мобильных версий

Делается это через заявку https://docs.google.com/forms/d/e/1FAIpQLSdqlIrVETXEyaUr-QYV8sD5P_y5LzNSU1oj1OGI801RoyRyMQ/viewform?edit2=2_ABaOnucvmOWPZEjtHsfjN8J-Py-6VllV_oEJlzez29Zko64h5KVeCTqsOdF_sYYgHw

  Развернуть 1 комментарий

@RuslanSukharev, спасибо за дополнение.
Чем вас не устроил Obsisdian и чем нравится Logseq?

  Развернуть 1 комментарий

@shady2k, UX у logseq более приятный и формат заметок в виде outliner мне больше по душе

  Развернуть 1 комментарий

😱 Комментарий удален его автором...

  Развернуть 1 комментарий

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

  Развернуть 1 комментарий

😎

Автор поста открыл его для большого интернета, но комментирование и движухи доступны только участникам Клуба

Что вообще здесь происходит?


Войти  или  Вступить в Клуб