Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions obsidian/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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-шаблоны.
Expand Down
122 changes: 122 additions & 0 deletions obsidian/dashboard/Беговой дашборд.md
Original file line number Diff line number Diff line change
@@ -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 в обоих шаблонах.*
Loading