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.3.tar.gz (23.2 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.3-py3-none-any.whl (19.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: diffuser_cli-0.1.3.tar.gz
  • Upload date:
  • Size: 23.2 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.3.tar.gz
Algorithm Hash digest
SHA256 2827b5e8caf0145bc529236b293876d7f136015326bb8e0fb095592553093dce
MD5 8d14f0867ccdcad42b0d2b8df25c04b1
BLAKE2b-256 f1acb7bbcdc1c2a286ac62c3bfe7a72d4becd79a20e4b0041f085c158a78be09

See more details on using hashes here.

Provenance

The following attestation bundles were made for diffuser_cli-0.1.3.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.3-py3-none-any.whl.

File metadata

  • Download URL: diffuser_cli-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 19.3 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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 7060d6ddfceb767f624775aaad55c7c26626be53ff7cb002e22f11feae92e70c
MD5 c7bb9d4afa58494f8a6c229a5cfe6b04
BLAKE2b-256 3ba2bb1cc667fffd4f2bb86cc0711bba2bf6eae43499e6b7d1e8adb3771168a3

See more details on using hashes here.

Provenance

The following attestation bundles were made for diffuser_cli-0.1.3-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