Add full navigation section type support to ParseNavigationConfig#48
Merged
robertmclaws merged 2 commits intomainfrom Feb 28, 2026
Merged
Add full navigation section type support to ParseNavigationConfig#48robertmclaws merged 2 commits intomainfrom
robertmclaws merged 2 commits intomainfrom
Conversation
ParseNavigationConfig previously only handled Pages-based navigation, always initializing an empty Pages list even when unused. This adds support for all four remaining Mintlify navigation section types: Tabs, Anchors, Dropdowns, and Products. Changes: - Rework ParseNavigationConfig to detect and populate Tabs, Anchors, Dropdowns, and Products from their XML wrapper elements; Pages initialization is now deferred and only set when explicitly present - Add ParseTabConfig, ParseAnchorConfig, ParseDropdownConfig, and ParseProductConfig internal methods with full XML attribute and nested-element parsing - Add ParseNavigationSectionPages private helper to share Groups/Page parsing logic across all section types - Add 20 new tests covering all parse methods, HTML entity decoding, nested structures, multi-type coexistence, and backward compatibility Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…e specs to future - Bump DotNetDocs.Sdk reference from 1.2.0 to 1.3.0 in both .docsproj files - Change EasyAF.MSBuild version constraint from 4.*-* to 4.* to resolve NU1107 conflict - Delete specs/semantic-kernel-integration.md and specs/try-dotnet.md (moved to specs/future/) - Add specs/future/ with moved specs and contributors.md Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
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.
Summary
ParseNavigationConfig— previously onlyPages-based navigation was supported; the other four Mintlify section types were silently ignoredParseNavigationConfigto deferPagesinitialization so it remainsnullwhen not specified (allowingApplyNavigationTypeto work correctly when Tabs/Anchors/etc. are used instead)ParseTabConfig,ParseAnchorConfig,ParseDropdownConfig,ParseProductConfiginternal methods with full attribute and nested-element parsing (including Tabs-within-Anchors, Tabs+Anchors-within-Dropdowns)ParseNavigationSectionPagesprivate helper to share<Groups>/<Group>and<Page>parsing logic across all section typesS&S→S&S), nested structures, multi-type coexistence, and backward-compatible Pages behaviorDotNetDocs.Sdkreference from1.2.0to1.3.0in both.docsprojfilesEasyAF.MSBuildversion constraint from4.*-*to4.*to resolve pre-existing NU1107 dependency conflictsemantic-kernel-integration.mdandtry-dotnet.mdintospecs/future/Test plan
ParseGroupConfigand navigation tests continue to passParseTabConfig_WithNameAndHref_ParsesCorrectly— Tab, Href, Pages parsed from attributesParseTabConfig_WithHtmlEncodedName_DecodesCorrectly—S&Sdecoded toS&SParseTabConfig_WithoutName_ReturnsNull— missing Name returns nullParseTabConfig_WithNestedGroups_ParsesHierarchy— nested GroupConfig within TabParseAnchorConfig_WithNestedTabs_ParsesTabs— Tabs nested within AnchorParseDropdownConfig_WithNestedTabsAndAnchors_ParsesBoth— Tabs + Anchors within DropdownParseProductConfig_WithDescription_ParsesDescription— Description attribute parsedParseNavigationConfig_WithTabsElement_PopulatesTabsNotPages— Pages remains null when Tabs usedParseNavigationConfig_WithTabsElement_PreservesTabOrder— 5-tab order preserved including&entitiesParseNavigationConfig_WithTabsAndAnchors_PopulatesBoth— multiple section types coexistParseNavigationConfig_WithPagesElement_StillWorks— backward compatibility maintained🤖 Generated with Claude Code