Skip to content

Conversation

@JP-Ellis
Copy link
Contributor

📝 Summary

Use the newer code.* extensions as they are much more compatible with various other Markdown linters/parsers/syntax highlighters.

🚨 Breaking Changes

🔥 Motivation

The older pymdown extension use custom block markers and then indented content. The indentation is then parsed by most other tools as being a indented literal.

The new syntax uses a syntax which is generally much more compatible with the rest of the Markdown ecosystem:

/// {type} ...
{content}
///

and allows for nesting with additional delimiters:

//// outer
lorem
/// inner
hello world
///
ipsum
////

🔨 Test Plan

CI

🔗 Related issues/PRs

use the newer `code.*` extensions as they are much more compatible with
various other Markdown linters/parsers/syntax highlighters.

Signed-off-by: JP-Ellis <josh@jpellis.me>
@JP-Ellis JP-Ellis self-assigned this Oct 22, 2025
Copilot AI review requested due to automatic review settings October 22, 2025 23:23
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR updates the documentation syntax from the older pymdownx extensions to the newer pymdownx.blocks.* extensions, improving compatibility with various Markdown linters, parsers, and syntax highlighters.

  • Replaces legacy indented-style admonitions (!!! note) with the new delimiter-style blocks (/// note)
  • Updates HTML block markers from raw HTML tags with comments to the new /// html syntax
  • Migrates tabbed content from === "Tab Name" to /// tab | Tab Name
  • Updates definition lists from : prefix to - prefix within /// define blocks

Reviewed Changes

Copilot reviewed 19 out of 19 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
mkdocs.yml Updates MkDocs configuration to use pymdownx.blocks.* extensions instead of deprecated admonition, def_list, details, and tabbed extensions
tests/compatibility_suite/util/init.py Converts note admonition from legacy to new syntax
src/pact/verifier.py Converts info admonition from legacy to new syntax
src/pact/match/init.py Converts warning and note admonitions from legacy to new syntax
src/pact/interaction/_sync_message_interaction.py Removes deprecated warning admonition
src/pact/interaction/_async_message_interaction.py Removes deprecated warning admonition
src/pact/generate/init.py Converts warning admonition from legacy to new syntax
pact-python-ffi/src/pact_ffi/init.py Converts warning admonitions from legacy to new syntax
examples/plugins/proto/person_pb2_grpc.py Converts note admonition from legacy to new syntax
examples/plugins/proto/person_pb2.pyi Converts note admonition from legacy to new syntax
examples/plugins/proto/person_pb2.py Converts note admonition from legacy to new syntax
examples/README.md Converts HTML blocks from raw tags to new syntax
docs/provider.md Converts HTML blocks from raw tags to new syntax
docs/logging.md Converts titled warning and note admonitions from legacy to new syntax
docs/consumer.md Converts HTML blocks and definition lists from legacy to new syntax
docs/blog/posts/2024/12-30 functional arguments.md Converts tabs, details, and definition lists from legacy to new syntax
docs/blog/posts/2024/07-26 asynchronous message support.md Converts definition list from legacy to new syntax
docs/blog/posts/2024/04-11 a sneak peek into the pact python future.md Converts definition list from legacy to new syntax
MIGRATION.md Converts tabs and warning admonition from legacy to new syntax

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.


<!-- markdownlint-disable no-inline-html -->
<div align="center">
/// html | div[align="center']
Copy link

Copilot AI Oct 22, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Corrected mismatched quotes in HTML block attribute. Changed closing single quote to double quote to match the opening quote.

Suggested change
/// html | div[align="center']
/// html | div[align="center"]

Copilot uses AI. Check for mistakes.
@codecov
Copy link

codecov bot commented Oct 22, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 52%. Comparing base (d19bcdb) to head (21ca7fc).
⚠️ Report is 1 commits behind head on main.
✅ All tests successful. No failed tests found.

Additional details and impacted files
@@         Coverage Diff          @@
##           main   #1304   +/-   ##
====================================
  Coverage    52%     52%           
====================================
  Files        32      32           
  Lines      3744    3744           
====================================
  Hits       1967    1967           
  Misses     1777    1777           
Flag Coverage Δ
tests 52% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@JP-Ellis JP-Ellis merged commit 5821f4e into main Oct 22, 2025
59 checks passed
@JP-Ellis JP-Ellis deleted the chore/upgrade-pymdownx-extensions branch October 22, 2025 23:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants