Files
PubScript/docker/languagetool/compose.yaml
T
Schwitzz 5c28a94813 feat(editor): spell & grammar checking (Chunk #7)
Offline spellcheck via hunspell compiled to WASM (runs fully in-browser),
plus optional self-hostable LanguageTool grammar/style checking.

- hunspell-wasm spell engine with bundled en_US dictionary (base64-decoded
  browser-safe via atob + TextDecoder)
- LanguageTool engine (self-hostable, docker compose snippet under
  docker/languagetool/)
- single decoration pipeline: spell + grammar hits merge into one squiggle
  layer (red=spelling, blue=grammar) with a side panel to jump/apply/ignore
  and add-to-dictionary
- useCheckService hook wired into WritingView; check.css loaded in main.tsx
- spell + grammar unit tests (30 editor tests green)

PLAN.md and CHUNK#7.md updated to reflect completion.
2026-10-28 17:13:23 -05:00

25 lines
752 B
YAML

# LanguageTool server for grammar checking.
#
# Usage:
# docker compose -f docker/compose.yaml -f docker/languagetool/compose.yaml up
#
# The LanguageTool server listens on port 8010 by default.
# Set `grammarProvider: "languagetool"` and `grammarServerUrl: "http://localhost:8010"`
# in PubScript settings to enable network-based grammar checking.
services:
languagetool:
image: erikvl87/languagetool-server:latest
ports:
- "8010:8010"
environment:
- LANGUAGETOOL_HOME=/home/languagetool
volumes:
- ./languagetool-data:/home/languagetool
restart: unless-stopped
healthcheck:
test: ["CMD", "wget", "--spider", "http://localhost:8010/v2/check"]
interval: 10s
timeout: 5s
retries: 5