copyediting for your websites made visual and easy.
README.md

copypasta #

Edit the text content of your HTML, Astro, and Svelte files without touching the markup.

copypasta is a zero-dependency local web app. Point it at a folder, and it parses every editable file, extracts the text content of each element, and lays it out as colorful, individually editable rows — one per tag (H1, P, FIGCAPTION, …). Edits are spliced back at their exact source offsets, so markup, attributes, and dynamic template expressions stay untouched.

How it works #

  1. Parse — parse.mjs tokenizes the source into segments, recording UTF-16 offsets for each element's text.
  2. Edit — the UI shows those segments as rows with tag badges. Edit any row; {...} template expressions (Astro/Svelte) appear as read-only chips.
  3. Splice — saving writes each edit back at its original offset. Frontmatter is skipped, scripts/styles are ignored, and everything else is preserved byte-for-byte.

Quick start #

node server.mjs [port]   # defaults to 4173

Open http://127.0.0.1:4173, pick a folder, and start editing. No build step, no dependencies.

Features #

  • Split panes to edit multiple files side by side
  • Per-tag color badges and a filter box to narrow rows
  • Git awareness — switch branches, create branches, and auto-commit on save
  • Read-only template-expression chips, so dynamic content is visible but safe

Screenshots #

Empty state

Editor