Skip to content

Latest commit

 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Анатолий Холоденко — авторский сайт

Production source for akholod.vercel.app: a Russian-language Astro site, a guarded local publishing CLI, and a Hermes skill scoped to the author’s Telegram identity.

What is here

  • Editorial public site with home, archive, category, tag, book, about, article, RSS, sitemap, and 404 routes.
  • Recovered Proza.ru catalogue entries link to their official full texts.
  • New canonical articles live in src/content/posts/<slug>/index.md and render in the same archive and full-text routes.
  • bin/akholod-writer ingests public Evernote shares or local Markdown, manages drafts and media, validates, previews, and publishes only an explicitly approved revision.
  • Offline Proza.ru preparation normalizes paragraphs, checks Windows-1251 compatibility, validates the single-image constraint, and binds a separate approval. Network submission remains disabled until a dedicated human-reviewed transport is approved.
  • Optional Resend publication receipts are server-side and idempotent; no secret is stored in the repository.

Development

pnpm install
pnpm dev
pnpm type-check
pnpm exec astro check
pnpm test:publisher
pnpm build

Writer workflow

pnpm writer -- doctor --json
bin/akholod-writer ingest --source /path/to/story.md --json
bin/akholod-writer draft --import <IMPORT_ID> --title "Название" --json
bin/akholod-writer validate --slug <SLUG> --json
bin/akholod-writer preview --slug <SLUG> --json
bin/akholod-writer stage --slug <SLUG> --revision <SHA256> --json
bin/akholod-writer publish --slug <SLUG> --revision <SHA256> --confirm <TOKEN> --deploy --json

See tools/publisher/README.md for the full command contract, identity boundary, audit chain, Evernote policy, email configuration, and Proza.ru preparation flow.

Hermes

The skill is in .hermes/skills/writer. It is designed for Telegram user @akholod12 and also checks the stable numeric Telegram identity before any disk or network operation. A local shell remains available to the operator.

Expose the repository skill directory through Hermes skills.external_dirs, or symlink .hermes/skills/writer into $HERMES_HOME/skills/writer. Do not copy credentials into the skill or repository.

Email receipts

Configure only in the server/operator environment:

RESEND_API_KEY
AKHOLOD_NOTIFICATION_TO
AKHOLOD_NOTIFICATION_FROM
AKHOLOD_SITE_URL=https://akholod.vercel.app

Then preview or send a receipt for an already-published article:

bin/akholod-writer notify preview --slug <SLUG> --json
bin/akholod-writer notify send --slug <SLUG> --json

Security boundaries

  • Repository secrets and .akholod-writer/ state are ignored.
  • Publish approvals are revision-bound, short-lived, and single-use.
  • Audit receipts form an append-only SHA-256 chain.
  • Proza.ru credentials, cookies, and dynamic form tokens are never stored here.
  • Website publication, deployment, email notification, and Proza.ru submission are distinct actions.

About

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

Generated from saicaca/fuwari