| |
|
|
|
|
|
|
|
|
|
| |
Four export/publishing commands shelled out to external tools without checking they exist, so a missing tool surfaced as an opaque process error — or, for reveal.js, a silently broken presentation. I added a command-time guard to each that names the tool and what's needed:
- zathura, in the pandoc PDF export-and-open command
- the hugo binary and the platform file-manager opener, in hugo-config
- the local reveal.js checkout (run scripts/setup-reveal.sh), shared by the reveal export and preview commands
- pandoc, in the web-clip protocol handler
The checks run only when the command runs, so startup stays quiet. Each guard has a test asserting the user-error fires when the tool is absent, and the existing happy-path tests now stub the lookups so they exercise the real path rather than tripping the new guard.
|
|
|
Sibling tests covered the pure helpers (`cj/hugo--post-file-path`, `cj/hugo--post-template`, `cj/hugo--post-metadata`, `cj/hugo--collect-drafts`, `cj/hugo-open-blog-dir-external`, `cj/hugo-toggle-draft`). This batch covers the remaining commands and preview helpers:
- `cj/hugo-new-post`: writes the template to a slugged file, errors when one already exists.
- `cj/hugo-export-post`: errors outside org-mode, delegates to `org-hugo-export-to-md` otherwise.
- `cj/hugo-open-blog-dir`: ensures the dir exists and opens dired on it.
- `cj/hugo-open-draft`: messages when no drafts, otherwise picks via `completing-read` and opens.
- `cj/hugo--preview-filter`: opens the browser when Hugo prints "Web Server is available", ignores arbitrary output.
- `cj/hugo--preview-sentinel`: clears the process var on clean exit, messages on a non-zero exit.
- `cj/hugo-preview`: stops a running server, starts one when stopped (verifying `start-process` got the "server" arg).
- `cj/hugo-publish`: hands off to `magit-status-setup-buffer` on `website-dir`.
ox-hugo's `org-hugo-slug` is stubbed via `defun` (the package isn't installed in batch); `require`, `org-hugo-export-to-md`, `dired`, `find-file`, `browse-url`, `start-process`, `kill-process`, and `magit-status-setup-buffer` are stubbed per-test.
|