Skip to main content

CriticMarkup viewer for the terminal

Project description

██████╗ ██╗███████╗███████╗██╗   ██╗███████╗███████╗██████╗ 
██╔══██╗██║██╔════╝██╔════╝██║   ██║██╔════╝██╔════╝██╔══██╗
██║  ██║██║█████╗  █████╗  ██║   ██║███████╗█████╗  ██████╔╝
██║  ██║██║██╔══╝  ██╔══╝  ██║   ██║╚════██║██╔══╝  ██╔══██╗
██████╔╝██║██║     ██║     ╚██████╔╝███████║███████╗██║  ██║
╚═════╝ ╚═╝╚═╝     ╚═╝      ╚═════╝ ╚══════╝╚══════╝╚═╝  ╚═╝ 

CriticMarkup viewer for the terminal.

Getting Started

Installation

pip install diffuser-cli

Or with uv:

uv tool install diffuser-cli

Quick Example

Given a markdown file with CriticMarkup annotations:

The system processed the data and {~~returned results to~>delivered results
back to~~} the user.

Render it in the terminal with color-coded annotations:

diffuser view my-document.md

Background & Rationale

Writing blog posts in markdown is straightforward until you start editing. You change a sentence, rewrite a paragraph, cut a section. The next morning, you're not sure what you changed or why. Git solves this for code, but version control for prose is a different problem. You don't want branches and merge conflicts for a blog post. You want to see what changed, right there in the text.

Fletcher Penney saw this clearly. Penney is the creator of MultiMarkdown. He has spent years building tools for writers who think in plain text. Together with Gabe Weatherhead, he created CriticMarkup: five simple inline annotations that track changes without leaving the document. {++add this++}, {--remove this--}, {~~old~>new~~}. No external tooling. No version control. Just the text.

The idea was brilliant. I just needed it in the terminal. That's diffuser.

Agent Skill

If you want to use an agent to help you with writing, there's a skill to guide it on how to use CriticMarkup when suggesting changes:

npx skills add shakedlokits/diffuser

Development

Setup

git clone https://github.com/shakedlokits/diffuser.git
cd diffuser
uv sync

Running

uv run diffuser view my-document.md

Running Tests

uv run pytest

Releasing

git tag v0.1.0
git push origin v0.1.0

Credits

CriticMarkup was created by Fletcher Penney and Gabe Weatherhead. Full specification at criticmarkup.com.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

diffuser_cli-0.1.2.tar.gz (23.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

diffuser_cli-0.1.2-py3-none-any.whl (19.4 kB view details)

Uploaded Python 3

File details

Details for the file diffuser_cli-0.1.2.tar.gz.

File metadata

  • Download URL: diffuser_cli-0.1.2.tar.gz
  • Upload date:
  • Size: 23.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for diffuser_cli-0.1.2.tar.gz
Algorithm Hash digest
SHA256 55de107c2fbec46d0e6c11db27dd5c568c334e667094fd49573a1e6f832344c5
MD5 e6f9be7979a10349be207ddf96895f74
BLAKE2b-256 1ac9527eec631dd87064ab2935b120cc2a5d07300e424c6ff7b9dd2015115b62

See more details on using hashes here.

Provenance

The following attestation bundles were made for diffuser_cli-0.1.2.tar.gz:

Publisher: release.yml on shakedlokits/diffuser

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file diffuser_cli-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: diffuser_cli-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 19.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for diffuser_cli-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 2588a316631b423a008ebe884ac95de3168e05c8aa47a71daf952770a789546f
MD5 9d58dad627741695e973ba76e1447aa9
BLAKE2b-256 8c408fb6da84c59c69f832c4df369a2523b0b4cc4e7681ee142ba068e9b42bf0

See more details on using hashes here.

Provenance

The following attestation bundles were made for diffuser_cli-0.1.2-py3-none-any.whl:

Publisher: release.yml on shakedlokits/diffuser

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page