Skip to content

Homepage: per-reading tile tags; "Minutes" build-time copy - #14

Merged
EliezerIsrael merged 1 commit into
mainfrom
claude/homepage-tile-tags
Oct 12, 2026
Merged

EliezerIsrael merged 1 commit into
mainfrom
claude/homepage-tile-tags

Conversation

@EliezerIsrael

Copy link
Copy Markdown
Member

Summary

Follow-up to #13, which merged before this commit landed.

  • data/index.json entries take an optional tag that overrides the category label on the homepage tile: One Year, Straight (Yitro), From a source sheet (The Sinai Opt-In), One Midrash (Learning to Read Midrash), Pirkei Avot, Talmud (Minhag). The branching readings keep "Branching paths", and tile colors still follow the category.
  • The teacher pitch heading becomes "Minutes": a Nechama reading, dense with layered sources, takes about half an hour, and most teachers' material is quicker. Drops the six-hours figure.
  • docs/conversion-guide.md documents tag.

Test plan

  • tests/test_data.py and the homepage render test pass
  • All eight tiles still fit one screen at 1440×900

🤖 Generated with Claude Code

- index.json entries take an optional `tag` that overrides the category
  label: One Year, Straight (Yitro), From a source sheet (Sinai Opt-In),
  One Midrash (Learning to Read Midrash), Pirkei Avot, Talmud (Minhag).
- Teacher pitch: "Minutes". A Nechama reading takes about half an hour; most
  teachers' material is quicker.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@gitvelocity-reviewer

Copy link
Copy Markdown

📊 Code Quality Score: 3/100

Base 11 (S4 + A0 + I2 + R2 + Q3 + P0) x ESF 0.25 (Micro, 21 effective lines, 3 files) = 2.75, rounded to 3

Category Score Factors
🔭 Scope 4/20 Three files change: data/index.json gains five tag lines, js/home.js changes one template expression plus one comment and one copy block, and index.html has four version-string edits. No new files, endpoints or subsystems.
🏗️ Architecture 0/20 No module boundary or dependency changes. The tag field is an optional override that buildReadingCard reads ahead of HOME_CATEGORIES[].tag.
⚙️ Implementation 2/20 buildReadingCard now renders `sheet.tag
⚠️ Risk 2/20 Affects only the text of tag labels on the home page cards and one teacher-point blurb. Entries without tag render exactly as before. The sheet.tag value is inserted into innerHTML unescaped, as title.en and shows already are, and it comes from a first-party JSON file.
✅ Quality 3/15 No test accompanies the change, and none drives buildReadingCard for the new override or fallback. A comment above HOME_CATEGORIES was updated to say an entry's own tag overrides the default.
🔒 Perf / Security 0/5 No performance or security work is present. The index.html version bump forces browsers to refetch the CSS and JS assets.

Was this score accurate? 👍 Yes · 👎 No

How this was scored →

Scored by GitVelocity · How are scores calculated?

@EliezerIsrael
EliezerIsrael merged commit 6d7b0b2 into main Oct 12, 2026
1 check passed
@gitvelocity-reviewer

Copy link
Copy Markdown

📊 Code Quality Score: 3/100

Base Score 11 × ESF 0.25 (Micro: 21 effective lines, 3 files) = 2.75, rounded to 3

Category Score Factors
🔭 Scope 4/20 Touches three files: data/index.json (five tag fields), js/home.js (one template line, one comment, one copy block) and index.html (four ?v= values). All changes sit in the home-page rendering path.
🏗️ Architecture 1/20 HOME_CATEGORIES stays the default source for card tags, and an entry's own tag now takes precedence. No module, dependency or data-schema boundary moves beyond the new optional field.
⚙️ Implementation 3/20 buildReadingCard now renders `sheet.tag
⚠️ Risk 2/20 A wrong value changes the label on one home-page card. The tag string is interpolated into innerHTML without escaping, but the values come from the repo's own data/index.json. The ?v= bump forces browsers to refetch close-read.css, text-effects.js, home.js and engine.js.
✅ Quality 1/15 No test accompanies the new tag override path in buildReadingCard. The comment above HOME_CATEGORIES was updated to say an entry's own tag overrides the default.
🔒 Perf / Security 0/5 No performance or security work is present in the diff.

Was this score accurate? 👍 Yes · 👎 No

How this was scored →

Scored by GitVelocity · How are scores calculated?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant