Add MkDocs documentation site, internals section, and rewritten README#49
Merged
Conversation
Sets up the documentation for patchdiff, following the approach of fork-tongue/observ#176, #179 and #180: - MkDocs + Material theme (mkdocs.yml, new docs dependency group), with mkdocstrings for the generated API reference - GitHub Actions workflow (docs.yml) that builds the site with uv and deploys it to GitHub Pages on push to master - Documentation content: * Getting Started: installation, quick start * Guide: diffing, applying patches, JSON pointers, produce() and drafts, serialization, observ integration, gotchas & best practices * Reference: API reference generated from docstrings * Internals: architecture of the DP list diff, pointer evaluation, and produce()'s proxy design (parent links, detachment, snapshots) - Docstrings for diff, apply, iapply, to_json, to_str_paths and Pointer (no behavioral changes) so the API reference has content - README rewritten: links up front, sharper pitch, slimmed to pitch + quick examples pointing at the docs site, observ referral All code examples in the docs and README are executed and verified against the current implementation; the site builds without warnings using the exact CI recipe (uv sync --only-group docs && mkdocs build). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016Mu9vEBwU4fQLi8ZgkgdS2
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Track B of the roadmap in a single PR (docs site + internals + README rewrite), following the approach of observ #176, #179 and #180.
Docs site
mkdocs.yml, newdocsdependency group), plus mkdocstrings for the generated API reference — same config shape as observ's..github/workflows/docs.yml) that builds the site with uv and deploys it to GitHub Pages on push to master.applyvsiapply, ordering, undo/redo), JSON pointers,produce()and drafts (includingin_placeand live-path tracking), serialization and its non-JSON caveats, observ integration, gotchas & best practices (including the deliberate RFC 6902 divergences: sets, tuples, non-string tokens, nomove/copy/test).Pointer.evaluate's strict-parent/tolerant-leaf resolution, andproduce()'s proxy design (parent-link paths, detachment/adoption semantics, record-time snapshotting, the reader-method generation).diff,apply,iapply,to_json,to_str_pathsandPointer(no behavioral changes) so the API reference has content, with cross-links between them.README rewrite
Links up front (docs site, quick start, API reference), sharper pitch, slimmed to pitch + two quick examples pointing at the docs site, and an observ referral for the reactive-state use case.
Verification
uv sync --only-group docs+uv run --no-sync mkdocs build), including all mkdocstrings cross-references.🤖 Generated with Claude Code
https://claude.ai/code/session_016Mu9vEBwU4fQLi8ZgkgdS2
Generated by Claude Code