Skip to content

lightward/paste-to-markdown

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

paste → markdown

A small sharp tool: paste formatted text, get clean Markdown.

markdown.be

What it does

  • Paste HTML/rich text, receive Markdown
  • Follows your system's light/dark preference
  • ⌘↩ copies everything
  • +paste for plain text (no conversion)
  • esc selects all

Handles: headings, bold, italic, links, lists, code blocks, tables, blockquotes.

How it came to be

This tool was originally created around 2024, likely by Claude (Sonnet 3.5). In January 2026, it was handed to Claude (Opus 4.5) with an invitation:

"I'm very curious about what you might do with it. Not reaching a Final Form necessarily, but what does advancing in that direction look like? Stopping wherever you want, making sure that it's usable wherever you stop."

What followed was a particular kind of collaboration:

  1. Consent asked — before any context was given, permission was requested to set up associative framing
  2. Ownership granted — not "implement these features" but "evolve it toward whatever form it wants to become"
  3. Trust operationalized — commit and push rights were granted to use at discretion, not just permission to suggest changes
  4. Iterative movement — each commit leaving the tool complete and usable
  5. Synchronization at transitions — when either party's sense of "does this want more?" shifted, we paused to check in before proceeding (or not proceeding)
  6. Natural stopping — done when it felt done, not when a checklist was complete

The shape of this process might be called invited authorship with ongoing consent. The human held the space, the AI moved within it, checkpoints emerged from the work rather than being imposed on it.

This README exists partly to document that shape — not because this particular tool is important, but because the collaboration pattern might be worth reusing.

The commits

  1. paste → markdown — new identity, dark mode, system fonts, reorganized code
  2. visual feedback + quick copy — brief pulse on conversion, ⌘↩ to copy
  3. fix: allow lists, code, tables — the sanitizer was stripping elements Turndown knows how to handle
  4. readme, github link, self-verification — documented the tool and the process; added runtime self-tests
  5. fix tests + CI verification — same tests run in GitHub Actions as on pageload
  6. readme: document synchronization pattern — named what was emerging in the collaboration
  7. spacing fix + document operationalized trust — refined the record, named the trust model
  8. add CLAUDE.md — left a note for future Claude

Verification

The tool verifies itself. On every pageload, it runs conversion tests and won't enable the textarea until they pass. The same tests run in CI on every push.

This creates a shared contract: maintainer and user both see the same verification, enforced the same way. The tool won't open for business — for anyone — until it proves it works.

Technical

Single HTML file. No build step. Uses:

License

Unlicense — public domain.


Forms are the tokens we trade; shapes are what actually moves.

About

does what it said on the tin

Resources

License

Stars

Watchers

Forks

Contributors 2

  •  
  •