diff --git a/obsidian/README.md b/obsidian/README.md index 87c4c55..249c84e 100644 --- a/obsidian/README.md +++ b/obsidian/README.md @@ -9,6 +9,14 @@ | [`Торговый дневник.md`](templates/Торговый%20дневник.md) | Ежедневный торговый/инвестиционный дневник: совершённые сделки, упущенные сделки (через 24 ч) и вечерняя рефлексия. Папка: `инвестиции/дневник/`. | | [`Отчёт за день.md`](templates/Отчёт%20за%20день.md) | Ежедневный отчёт сисадмина: дата, клиенты и выполненные работы (нескольких клиентов и работ). Папка: `отчёты за день/`. | +## dashboard/ + +| Файл | Назначение | +|---|---| +| [`Беговой дашборд.md`](dashboard/Беговой%20дашборд.md) | Дашборд на плагине **Dataview**: сводки по пробежкам и велозаездам (объём по неделям, динамика зоны 2, сводная аэробная нагрузка). Собирает заметки с тегами `#fitness/run` и `#fitness/ride`. | + +Дашборд требует плагин **Dataview** (*Настройки → Сторонние плагины → Dataview*), с включённым режимом *Enable JavaScript Queries* не обязательно — используются только `dataview`-блоки. + ### Требования Шаблон использует плагин **Templater** (синтаксис `<% ... %>`), а не встроенные Core-шаблоны. diff --git "a/obsidian/dashboard/\320\221\320\265\320\263\320\276\320\262\320\276\320\271 \320\264\320\260\321\210\320\261\320\276\321\200\320\264.md" "b/obsidian/dashboard/\320\221\320\265\320\263\320\276\320\262\320\276\320\271 \320\264\320\260\321\210\320\261\320\276\321\200\320\264.md" new file mode 100644 index 0000000..dd39016 --- /dev/null +++ "b/obsidian/dashboard/\320\221\320\265\320\263\320\276\320\262\320\276\320\271 \320\264\320\260\321\210\320\261\320\276\321\200\320\264.md" @@ -0,0 +1,122 @@ +--- +tags: [fitness/dashboard] +--- + +# 📊 Беговой дашборд + +> [!tip] Как пользоваться +> Каждую пробежку заводите через шаблон «Шаблон пробежки» (Templater). Запросы ниже соберутся автоматически. Главный показатель прогресса базы — **% времени в зоне 2** (столбец «Z2»). Цель — растить его от пробежки к пробежке до 40–60%. + +```dataview +LIST WITHOUT ID "Найдено беговых заметок: " + length(rows) +FROM #fitness/run +GROUP BY true +``` + +## Пробежки за последние 2 недели + +```dataview +TABLE WITHOUT ID + date AS "Дата", + distance_km AS "Км", + pace AS "Темп", + hr_avg AS "ЧСС ср", + zone2_pct + "%" AS "Z2", + zone3_pct + "%" AS "Z3", + session_type AS "Тип" +FROM #fitness/run +WHERE date >= date(today) - dur(14 days) +SORT date ASC +``` + +## Динамика зоны 2 (база крепнет, если растёт) + +```dataview +TABLE WITHOUT ID + date AS "Дата", + zone2_pct + "%" AS "В зоне 2", + hr_avg AS "ЧСС ср", + pace AS "Темп" +FROM #fitness/run +WHERE hr_avg AND date >= date(today) - dur(30 days) +SORT date ASC +``` + +## Объём по неделям + +```dataview +TABLE WITHOUT ID + week AS "Неделя", + length(rows) AS "Пробежек", + round(sum(rows.distance_km), 1) + " км" AS "Дистанция", + round(sum(rows.duration_min), 0) + " мин" AS "Время" +FROM #fitness/run +FLATTEN dateformat(date, "kkkk-'W'WW") AS week +GROUP BY week +SORT week ASC +``` + +## Сводка за всё время + +```dataview +TABLE WITHOUT ID + length(rows) AS "Всего пробежек", + round(sum(rows.distance_km), 1) + " км" AS "Дистанция", + round(sum(rows.duration_min) / 60, 1) + " ч" AS "Время", + round(average(rows.zone2_pct), 0) + "%" AS "Ср. зона 2" +FROM #fitness/run +GROUP BY true +``` + +## Пробежки, где попали в зону 2 (≥10% времени) + +```dataview +LIST WITHOUT ID + date + " — " + zone2_pct + "% в зоне 2 (темп " + pace + ")" +FROM #fitness/run +WHERE zone2_pct >= 10 +SORT date ASC +``` + +## 🚴 Велозаезды за последний месяц + +```dataview +TABLE WITHOUT ID + date AS "Дата", + distance_km AS "Км", + speed_kmh AS "км/ч", + hr_avg AS "ЧСС ср", + ascent_m AS "Набор", + ride_type AS "Тип" +FROM #fitness/ride +WHERE date >= date(today) - dur(30 days) +SORT date ASC +``` + +## Баланс велозаездов (лёгкие строят базу) + +```dataview +TABLE WITHOUT ID + ride_type AS "Тип", + length(rows) AS "Заездов", + round(sum(rows.distance_km), 1) + " км" AS "Дистанция" +FROM #fitness/ride +WHERE ride_type +GROUP BY ride_type +SORT length(rows) DESC +``` + +## 🔥 Сводная аэробная нагрузка (бег + велосипед) + +```dataview +TABLE WITHOUT ID + choice(type = "run", "🏃 Бег", "🚴 Велосипед") AS "Источник", + length(rows) AS "Тренировок", + round(sum(rows.distance_km), 1) + " км" AS "Дистанция", + round(sum(rows.duration_min) / 60, 1) + " ч" AS "Время" +FROM #fitness/run OR #fitness/ride +GROUP BY type +``` + +--- +*Зоны рассчитаны от измеренного максимума ЧСС 194. Зона 2 (база) = 116–136 уд/мин. Бег ведётся шаблоном «Шаблон пробежки», велосипед — «Шаблон велозаезда». Если зафиксируете пульс выше 194 — обновите HR_MAX в обоих шаблонах.*