Yoga Workout Importer

approvedunreviewed

by Konstantin Valuiskii

Compiles a local workout note from copied text and the user's personal materials.

↓ 64 downloadsUpdated 2mo agoMIT

Yoga Workout Importer для Obsidian

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

Плагин:

  • не подключается к Telegram;
  • не обращается к внешнему серверу;
  • не содержит ссылок на материалы;
  • не загружает изображения в интернет;
  • не изменяет исходные файлы пользователя.

Установка

  1. Установите Obsidian на телефон или компьютер и создайте новое хранилище — это обычная папка для ваших личных заметок.
  2. Откройте в Obsidian Настройки → Сторонние плагины. Если появится предупреждение, разрешите сторонние плагины.
  3. Нажмите Обзор, найдите Yoga Workout Importer, затем нажмите Установить и включите плагин.
  4. Откройте настройки Yoga Workout Importer и нажмите Создать папки.

Готово. Плагин создаст внутри вашего хранилища папку Мои тренировки. Позже вы сможете положить туда свои изображения или PDF, а плагин будет собирать из них личные заметки тренировок.

Подготовка материалов

По умолчанию плагин создаёт и использует следующую структуру:

Мои тренировки/
└── Материалы/
    ├── F1/
    ├── F2/
    ├── F3/
    ├── ZERO/
    ├── ON/
    └── SURYA/

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

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

Поддерживаются PNG, JPG/JPEG, WebP, GIF и PDF размером до 25 МБ. В текущей версии одному элементу тренировки соответствует один файл.

Использование

Записать тренировку вручную

  1. Откройте палитру команд и выберите Yoga Workout Importer: Записать тренировку.
  2. Выберите «Себе» или клиента. Список клиентов составляется только из локальных подпапок с тренировками; нового клиента можно вписать вручную.
  3. Укажите дату, включение и алгоритмы с их зонами и режимами.
  4. Нажмите Проверить материалы. Плагин попросит добавить только отсутствующие локальные схемы и создаст готовую заметку.

Название заметки собирается из состава тренировки: включения и алгоритмов с режимами. Расчётное время для ручной тренировки не требуется.

Импорт текста

  1. В Telegram скопируйте целиком сообщение со сформированной тренировкой.
  2. В Obsidian нажмите иконку буфера в левой панели или откройте палитру команд.
  3. Выберите Yoga Workout Importer: Собрать тренировку из буфера обмена.
  4. Если схемы отсутствуют, добавьте предлагаемые скриншоты по одному через Фото / Файлы.
  5. Проверьте найденные материалы и нажмите Создать тренировку.

Если Obsidian не разрешил автоматически прочитать буфер, вставьте текст вручную в открывшееся поле.

Готовая заметка появится в Мои тренировки/Тренировки/Себе, а если в комментарии указан клиент — в его подпапке. Отсутствующие материалы будут отмечены предупреждениями; заметку всё равно можно создать.

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

Поля с подписями можно располагать в любом порядке. Если строка Метроном отсутствует, плагин использует значение 20.

Если комментарий явно указывает клиента — например, Клиент: Анна, 🔮 Оракул для: Анна или 🍪 Пиифия для Анна: … — плагин создаст подпапку клиента: Мои тренировки/Тренировки/Анна. Обычные тренировки сохраняются в Мои тренировки/Тренировки/Себе.

Разработка

Из этой директории:

npm install
npm run test
npm run build

Сборка создаёт main.js, который Obsidian загружает вместе с manifest.json и styles.css.

For plugin developers

Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.