Skip to content

Commit 2bf2423

Browse files
authored
Merge pull request #30 from gpas45/claude/obsidian-dashboard-catalog-yescwx
Add running dashboard with Dataview queries
2 parents 4aab823 + 2ec3e99 commit 2bf2423

2 files changed

Lines changed: 130 additions & 0 deletions

File tree

obsidian/README.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,14 @@
99
| [`Торговый дневник.md`](templates/Торговый%20дневник.md) | Ежедневный торговый/инвестиционный дневник: совершённые сделки, упущенные сделки (через 24 ч) и вечерняя рефлексия. Папка: `инвестиции/дневник/`. |
1010
| [`Отчёт за день.md`](templates/Отчёт%20за%20день.md) | Ежедневный отчёт сисадмина: дата, клиенты и выполненные работы (нескольких клиентов и работ). Папка: `отчёты за день/`. |
1111

12+
## dashboard/
13+
14+
| Файл | Назначение |
15+
|---|---|
16+
| [`Беговой дашборд.md`](dashboard/Беговой%20дашборд.md) | Дашборд на плагине **Dataview**: сводки по пробежкам и велозаездам (объём по неделям, динамика зоны 2, сводная аэробная нагрузка). Собирает заметки с тегами `#fitness/run` и `#fitness/ride`. |
17+
18+
Дашборд требует плагин **Dataview** (*Настройки → Сторонние плагины → Dataview*), с включённым режимом *Enable JavaScript Queries* не обязательно — используются только `dataview`-блоки.
19+
1220
### Требования
1321

1422
Шаблон использует плагин **Templater** (синтаксис `<% ... %>`), а не встроенные Core-шаблоны.
Lines changed: 122 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,122 @@
1+
---
2+
tags: [fitness/dashboard]
3+
---
4+
5+
# 📊 Беговой дашборд
6+
7+
> [!tip] Как пользоваться
8+
> Каждую пробежку заводите через шаблон «Шаблон пробежки» (Templater). Запросы ниже соберутся автоматически. Главный показатель прогресса базы — **% времени в зоне 2** (столбец «Z2»). Цель — растить его от пробежки к пробежке до 40–60%.
9+
10+
```dataview
11+
LIST WITHOUT ID "Найдено беговых заметок: " + length(rows)
12+
FROM #fitness/run
13+
GROUP BY true
14+
```
15+
16+
## Пробежки за последние 2 недели
17+
18+
```dataview
19+
TABLE WITHOUT ID
20+
date AS "Дата",
21+
distance_km AS "Км",
22+
pace AS "Темп",
23+
hr_avg AS "ЧСС ср",
24+
zone2_pct + "%" AS "Z2",
25+
zone3_pct + "%" AS "Z3",
26+
session_type AS "Тип"
27+
FROM #fitness/run
28+
WHERE date >= date(today) - dur(14 days)
29+
SORT date ASC
30+
```
31+
32+
## Динамика зоны 2 (база крепнет, если растёт)
33+
34+
```dataview
35+
TABLE WITHOUT ID
36+
date AS "Дата",
37+
zone2_pct + "%" AS "В зоне 2",
38+
hr_avg AS "ЧСС ср",
39+
pace AS "Темп"
40+
FROM #fitness/run
41+
WHERE hr_avg AND date >= date(today) - dur(30 days)
42+
SORT date ASC
43+
```
44+
45+
## Объём по неделям
46+
47+
```dataview
48+
TABLE WITHOUT ID
49+
week AS "Неделя",
50+
length(rows) AS "Пробежек",
51+
round(sum(rows.distance_km), 1) + " км" AS "Дистанция",
52+
round(sum(rows.duration_min), 0) + " мин" AS "Время"
53+
FROM #fitness/run
54+
FLATTEN dateformat(date, "kkkk-'W'WW") AS week
55+
GROUP BY week
56+
SORT week ASC
57+
```
58+
59+
## Сводка за всё время
60+
61+
```dataview
62+
TABLE WITHOUT ID
63+
length(rows) AS "Всего пробежек",
64+
round(sum(rows.distance_km), 1) + " км" AS "Дистанция",
65+
round(sum(rows.duration_min) / 60, 1) + " ч" AS "Время",
66+
round(average(rows.zone2_pct), 0) + "%" AS "Ср. зона 2"
67+
FROM #fitness/run
68+
GROUP BY true
69+
```
70+
71+
## Пробежки, где попали в зону 2 (≥10% времени)
72+
73+
```dataview
74+
LIST WITHOUT ID
75+
date + " — " + zone2_pct + "% в зоне 2 (темп " + pace + ")"
76+
FROM #fitness/run
77+
WHERE zone2_pct >= 10
78+
SORT date ASC
79+
```
80+
81+
## 🚴 Велозаезды за последний месяц
82+
83+
```dataview
84+
TABLE WITHOUT ID
85+
date AS "Дата",
86+
distance_km AS "Км",
87+
speed_kmh AS "км/ч",
88+
hr_avg AS "ЧСС ср",
89+
ascent_m AS "Набор",
90+
ride_type AS "Тип"
91+
FROM #fitness/ride
92+
WHERE date >= date(today) - dur(30 days)
93+
SORT date ASC
94+
```
95+
96+
## Баланс велозаездов (лёгкие строят базу)
97+
98+
```dataview
99+
TABLE WITHOUT ID
100+
ride_type AS "Тип",
101+
length(rows) AS "Заездов",
102+
round(sum(rows.distance_km), 1) + " км" AS "Дистанция"
103+
FROM #fitness/ride
104+
WHERE ride_type
105+
GROUP BY ride_type
106+
SORT length(rows) DESC
107+
```
108+
109+
## 🔥 Сводная аэробная нагрузка (бег + велосипед)
110+
111+
```dataview
112+
TABLE WITHOUT ID
113+
choice(type = "run", "🏃 Бег", "🚴 Велосипед") AS "Источник",
114+
length(rows) AS "Тренировок",
115+
round(sum(rows.distance_km), 1) + " км" AS "Дистанция",
116+
round(sum(rows.duration_min) / 60, 1) + " ч" AS "Время"
117+
FROM #fitness/run OR #fitness/ride
118+
GROUP BY type
119+
```
120+
121+
---
122+
*Зоны рассчитаны от измеренного максимума ЧСС 194. Зона 2 (база) = 116–136 уд/мин. Бег ведётся шаблоном «Шаблон пробежки», велосипед — «Шаблон велозаезда». Если зафиксируете пульс выше 194 — обновите HR_MAX в обоих шаблонах.*

0 commit comments

Comments
 (0)