zloyso3 downloadsManage to-do lists with nested and private lists, start and due dates, attachments, note links, a calendar, and sync with Google, Yandex and CalDAV calendars.
To-do lists for Obsidian with nested and password-protected lists, start and due dates, attachments, a calendar page, and sync with Google, Yandex and CalDAV calendars. Works on desktop and mobile. English description below.
Простые списки задач для Obsidian с календарём и синхронизацией с Яндекс, Google и другими календарями. Работает на компьютере, телефоне и планшете.
[[ссылками]] на заметки..ics.Правая кнопка мыши на задаче или списке открывает меню: переименовать, цвет, переместить, дублировать, удалить. На телефоне то же меню — под кнопкой «…» у списка и в карточке задачи.
Меню списка → «Сделать закрытым». В первый раз плагин попросит придумать пароль: один пароль открывает все закрытые списки.
quests.json зашифрованными (AES-256-GCM, ключ из пароля через PBKDF2-SHA256, 600 000 итераций). В открытом виде остаются только название, цвет и иконка самого списка.Всё хранится в папке Quests внутри хранилища Obsidian:
quests.json — списки и задачи;attachments/ — файлы, загруженные с устройства.Папку можно перенести куда угодно в хранилище:
<папка>/Quests) или впишите путь и нажмите «Переместить» — папка переедет вместе с файлами, ссылки на вложения обновятся;Если папку перенесли на другом устройстве, а настройки плагина между устройствами не синхронизируются, при запуске плагин сам найдёт файл задач на новом месте.
Папка намеренно не скрытая: скрытые папки многие синхронизаторы пропускают. Если файл изменился на другом устройстве, Quests List объединит изменения по каждой задаче отдельно.
Настройки календарей (включая пароли приложений и токен Google) хранятся в .obsidian/plugins/quests-list/data.json. Если вы синхронизируете папку .obsidian, они попадут и на другие устройства — это удобно, но учитывайте это.
Откройте настройки плагина → «Календари» → «Подключить календарь».
| Способ | Чтение событий | Задачи в календарь |
|---|---|---|
| Яндекс Календарь (CalDAV) | да | да |
| Google Календарь (API) | да | да |
| Другой CalDAV (iCloud, Nextcloud, Fastmail…) | да | да |
Подписка по ссылке .ics |
да | нет |
Если включено «Отправлять задачи в этот календарь», задачи появляются в нём как события (выполненные — с пометкой ✓). Если перенести или переименовать такое событие в календаре, задача изменится тоже. Если задачу правили и здесь, и в календаре, побеждает версия из Obsidian. Удалённые задачи удаляются и из календаря.
Календари обновляются раз в 15 минут (настраивается) и по кнопке ⟳; изменения задач отправляются через несколько секунд после правки.
Google не разрешает сторонним плагинам общий ключ доступа, поэтому нужен свой (бесплатный) OAuth-клиент. Это делается один раз:
Вход возможен только в Obsidian на компьютере. После этого синхронизация работает и на телефоне, если настройки плагина синхронизируются между устройствами.
Если нужно только видеть события Google без отправки задач, проще подключить подписку: настройки календаря Google → «Закрытый адрес в формате iCal».
Выберите «Другой CalDAV». Для iCloud адрес сервера — https://caldav.icloud.com, пароль — пароль приложения Apple ID.
Плагин обращается к сети только если вы подключили календари, и только к их серверам:
.ics — по указанной вами ссылке;oauth2.googleapis.com и www.googleapis.com (вход и Calendar API). Для входа на компьютере плагин на время открывает локальный адрес 127.0.0.1 для ответа Google.Логины, пароли приложений и токен Google хранятся в настройках плагина (.obsidian/plugins/quests-list/data.json) и никуда больше не передаются. Задачи закрытых списков во внешние календари не отправляются. Без подключённых календарей плагин в сеть не выходит. Телеметрии и рекламы нет.
Для синхронизации нужен аккаунт в соответствующем календаре (Google, Яндекс, iCloud и т. п.), а для Google — ещё и собственный OAuth-клиент (см. выше). Всё остальное работает без аккаунтов и без интернета.
MIT. В сборку входит библиотека ical.js (Mozilla Public License 2.0) для чтения календарей в формате iCalendar.
https://github.com/Zloyso/quests-list.Скачайте main.js, manifest.json и styles.css из последнего релиза, положите их в <хранилище>/.obsidian/plugins/quests-list/ и включите плагин.
npm install
npm run dev # сборка с отслеживанием изменений
npm test # тесты
npm run lint
npm run build # проверка типов и сборка
Quests List is a simple to-do plugin for Obsidian on desktop and mobile. Three panes show lists, the tasks of the selected list and the task card. Tasks have a start date and an optional due date (with or without time), a Markdown description with working [[links]], linked notes and attachments. Lists can be nested and have their own color and icon. Lists and tasks can be reordered by drag and drop (mouse or touch) or sorted. A separate calendar page shows tasks and events from connected calendars, with per-list filters; drag a task to another day to reschedule it.
Private lists: protect lists with a password. Their tasks and nested lists are stored encrypted (AES-256-GCM, key derived with PBKDF2-SHA256, 600,000 iterations), close automatically after inactivity and are never sent to outside calendars. A forgotten password cannot be recovered.
Calendar sync: Yandex Calendar and other CalDAV servers (iCloud, Nextcloud, Fastmail), Google Calendar (with your own OAuth "Desktop app" client, see the steps above), and read-only .ics subscriptions. Tasks can be sent to CalDAV and Google calendars as events; moving or renaming such an event in the calendar updates the task.
Network use: the plugin connects only to the calendars you add (your .ics links, your CalDAV server, or Google's OAuth and Calendar API; Google sign-in briefly listens on 127.0.0.1 on desktop). Credentials stay in the plugin's settings. Without connected calendars it makes no network requests. No telemetry, no ads.
Accounts: calendar sync needs an account with that calendar service (Google, Yandex, iCloud…), and Google also needs your own OAuth client. Everything else works without any account and offline.
License: MIT. Bundles ical.js (Mozilla Public License 2.0) to read iCalendar data.
Data lives in the Quests folder of your vault (quests.json and attachments/; the folder can be moved in the settings or in the file explorer) and is merged per task when synced between devices.
Install with BRAT (https://github.com/Zloyso/quests-list) or download main.js, manifest.json and styles.css from the latest release into <vault>/.obsidian/plugins/quests-list/.