Skip to content

V2.1.0#6

Merged
kampute merged 4 commits intomainfrom
v2.1.0
Dec 23, 2025
Merged

V2.1.0#6
kampute merged 4 commits intomainfrom
v2.1.0

Conversation

@kampute
Copy link
Owner

@kampute kampute commented Dec 23, 2025

This pull request introduces new infrastructure for tracking and validating external links in documentation, refines name qualification logic for documentation members, and adds comprehensive tests for these behaviors. It also includes a minor project version bump and configuration tweaks.

URL Tracking and Validation Infrastructure:

  • Introduced a new UrlReference class to represent and encapsulate non-API URLs referenced in documentation, including their context and resolution status. (src/Routing/UrlReference.cs)
  • Added a UrlReferenceCollector class that decorates an IUrlTransformer to record all processed URLs, enabling validation and analysis of documentation links. (src/Routing/UrlReferenceCollector.cs)
  • Updated the documentation context to allow customizable URL transformers by introducing a CreateUrlTransformer method, making it easier to inject link validation or tracking logic. (src/DocumentationContext.cs) [1] [2]
  • Updated kampose.json to disable external link verification by default (set verifyExternalLinks to false), and broadened the assembly search path for documentation. (kampose.json)

Name Qualification Logic Improvements:

  • Refined the logic in DetermineNameQualifier to clarify when member names require qualification, including improved handling for extension methods, operators, and members in the current type scope. (src/DocumentationContextExtensions.cs)
  • Added comprehensive unit tests to verify the new qualification logic for types, operators, extension methods, and members in/out of the current type scope. (tests/DocumentationContextExtensionsTests.cs)

Other Changes:

  • Bumped the project version to 2.1.0 to reflect new features. (src/Kampute.DocToolkit.csproj)
  • Updated a test dependency to NUnit3TestAdapter version 6.0.1. (tests/Kampute.DocToolkit.Test.csproj)
  • Minor test import cleanup. (tests/DocumentationContextExtensionsTests.cs)

Refactored DetermineNameQualifier to clarify qualification rules for types, operators, extension methods, and members in the current type scope. Added comprehensive unit tests to cover all logic branches.
…tensibility

Refactored DocumentationContext to initialize UrlTransformer via a new protected virtual CreateUrlTransformer() method. This allows derived classes to override and provide custom URL transformer implementations.
Introduce UrlReference to encapsulate documentation URL metadata, and UrlReferenceCollector to record all URLs processed by an IUrlTransformer.

Add comprehensive unit tests for collector behavior, including constructor validation and URL recording logic.
@kampute kampute merged commit 5c854e6 into main Dec 23, 2025
1 check passed
@kampute kampute deleted the v2.1.0 branch December 23, 2025 18:33
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