Add typo check with undo

The summary now has a Spelling line: "no typos found" or each fix listed by
slide ("fixed "OBEDIANCE" -> "OBEDIENCE""), with r to undo all or some.

- Uses macOS's own spelling checker and autocorrect via JXA, so it runs
  offline with nothing installed; ALL-CAPS emphasis words are checked too,
  and doubled small words ("the the") are removed
- Never changes names it doesn't know, Greek/Hebrew sermon words, or Bible
  compounds it would split (lampstand, firstfruits)
- An undone word goes into allowed-words.txt and is never changed again;
  undo re-runs the check from the text as it was before the fixes
- Tests: planted typos are fixed, all 18 real notes files are unchanged

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-14 12:37:18 -04:00
co-authored by Claude Opus 5.5
parent 7122fd144d
commit 153ca3263d
5 changed files with 526 additions and 3 deletions
+11 -1
View File
@@ -32,7 +32,16 @@ split over two slides, text that is too long somewhere, picture slides, lines le
3. Opens the YouTube title and description in TextEdit, ready to paste into Restream. They're
saved as `…/MessageNotes/youtube-<name>.txt`.
Keys at the summary: `e` edit the slides in TextEdit · `t` `s` `n` `d` `f` change template /
**Typo check**: the summary's **Spelling** line says "no typos found" or how many were fixed, and
each fix is listed ("Slide 31: fixed “OBEDIANCE” → “OBEDIENCE”"). It uses macOS's own spelling
checker and autocorrect, including ALL-CAPS emphasis words and doubled words ("the the").
- Names it doesn't know (Rahab, Chniouli) are left alone.
- Greek/Hebrew sermon words (dunamis, agape…) and Bible compounds (lampstand, firstfruits) are
never changed.
- `r` undoes all fixes or just the ones you pick. An undone word goes into
`…/MessageNotes/allowed-words.txt` and is never changed again.
Keys at the summary: `r` undo typo fixes · `e` edit the slides in TextEdit · `t` `s` `n` `d` `f` change template /
speaker / name / date / notes file · `v` view the description · `y` setup · `q` quit.
**One-time setup (`y`)**, done at the ProPresenter Mac:
@@ -85,6 +94,7 @@ from the rest of their box keep bold/italic.
- `plantext.py` is the TextEdit format
- `playlist.py` + `ppctl.py` handle the playlist link and the safe ProPresenter restart
- `youtube.py` writes the YouTube text (Claude API over HTTPS); `secrets_store.py` keeps the key in the Keychain
- `spelling.py` is the typo check (macOS spelling checker via JXA)
- `docxnum.py` keeps Word list numbers
- `app.py` is the Terminal app
- `apps-script/SaveSermonNotes.gs` is the Google Apps Script for email pickup.