Add blog and article narration import
Deploy production / deploy (push) Successful in 4s

This commit is contained in:
2026-08-13 15:12:33 -07:00
parent a2e405cb96
commit 2fe6b689b0
8 changed files with 2672 additions and 0 deletions
+47
View File
@@ -289,6 +289,53 @@ test -f build/index.html
The project currently has no third-party Lektor packages or plugins.
### Local blog editor
For a focused desktop form that creates and edits records under `content/blog/`,
run:
```bash
python scripts/blog_editor.py
```
The editor uses Tkinter from the Python standard library. It reads the approved
tag choices from `content/tags/`, writes normal `contents.lr` records to the
working tree, and can delete a loaded entry after explicit confirmation. Entry
deletion removes its complete record directory, including attachments, so the
confirmation identifies additional files before proceeding. The editor does
not commit, push, build, or deploy changes. Review saved or deleted records with
the routine content workflow above.
For a saved entry, **Choose Narration WAV…** converts a selected WAV using
`ffmpeg` from `PATH`, or the repository-provided `support/ffmpeg.exe` when it
is not installed system-wide, and writes the entry-local `narration.mp3`
attachment that the existing narration player recognizes. It uses a fixed
44.1 kHz mono, 96 kbps MP3 preset; replacing or removing narration requires
confirmation. If `ffmpeg` is unavailable or conversion fails, the existing
narration attachment is left unchanged.
### Local article editor
For a focused desktop form that creates and edits records under
`content/articles/`, run:
```bash
python scripts/article_editor.py
```
The article editor follows the existing cover convention: a first Markdown
image referencing an article-local `cover-image.png` or `cover-image.jpg`.
Choose a PNG, JPG, or JPEG in the editor and it is copied beside `contents.lr`
with that canonical name. Replacing or removing a cover requires confirmation.
The editor does not commit, push, build, or deploy changes; review all working
tree changes with the routine content workflow above.
The article editor also has the same saved-entry narration control: it converts
a selected WAV to the article-local `narration.mp3` attachment using `ffmpeg`
from `PATH` or `support/ffmpeg.exe`, with the fixed 44.1 kHz mono, 96 kbps MP3
preset. Replacement and removal require confirmation; failed conversion leaves
any existing narration unchanged.
## Production filesystem and permissions
```text