Add per-day practice sessions and customizable skills

- Settings: edit default skills as individual rows with add, remove,
  and reset-to-default controls (replaces the free-text textarea)
- Weekly note: seed each day with a practice Session carrying Dataview
  inline fields (skill::, minutes::, notes::); duplicate the Session
  bullet to log multiple sessions per day. Date is read from the day
  heading, so no hidden metadata is needed
- Skip blank skills when rendering the weekly skill table
- README: document the new settings controls and per-day session fields
This commit is contained in:
pdriggett 2026-06-18 05:06:57 -04:00
parent 927b9addae
commit 11e01fb0ea
2 changed files with 25 additions and 3 deletions

View file

@ -6,7 +6,23 @@ Each week is a single markdown note in your vault containing:
- **Goals** for the week
- A **skills × days** tracking table
- **Daily notes** sections, one per day
- **Daily notes** sections, one per day — each seeded with a practice **Session**
carrying [Dataview](https://github.com/blacksmithgu/obsidian-dataview) inline
fields: `skill::`, `minutes::`, and `notes::`. Duplicate the Session
bullet to log multiple sessions in a day. The day's date is in its heading
(`### Monday — 2026-06-15`), so a future Dataview query or heat-map can read each
session's date, skill, and minutes without any hidden metadata.
Example day:
```
### Monday — 2026-06-15
- **Session 1**
- skill::
- minutes::
- notes::
```
## Settings

10
main.ts
View file

@ -183,8 +183,14 @@ function renderTemplate(
const dailySections = days
.map((d, i) => {
const date = addDays(weekStart, i);
return `### ${DAY_NAMES[d]}${formatISO(date)}\n- \n`;
const date = formatISO(addDays(weekStart, i));
return `### ${DAY_NAMES[d]}${date}
- **Session 1**
- skill::
- minutes::
- notes::
`;
})
.join("\n");