@@ -380,18 +380,36 @@ public RepositoryLinks CreateLinkReference()
380380 {
381381 var redirects = Configuration . Redirects ;
382382 var crossLinks = Context . Collector . CrossLinks . ToHashSet ( ) . ToArray ( ) ;
383- var links = NavigationIndexedByOrder
384- . Select ( kv => kv . Value )
383+ // reference/aggregations/metrics.md
384+ var markdownInNavigation = NavigationIndexedByOrder . Values
385385 . OfType < FileNavigationItem > ( )
386- . Select ( m => ( m . Model . LinkReferenceRelativePath , Navigation : m ) )
387- . ToDictionary ( k => RuntimeInformation . IsOSPlatform ( OSPlatform . Windows )
388- ? k . LinkReferenceRelativePath . Replace ( '\\ ' , '/' )
389- : k . LinkReferenceRelativePath , v =>
386+ . Select ( m => ( Markdown : m . Model , Navigation : ( INavigationItem ) m ) )
387+ . Concat ( NavigationIndexedByOrder . Values
388+ . OfType < DocumentationGroup > ( )
389+ . Select ( g => ( Markdown : g . Index , Navigation : ( INavigationItem ) g ) )
390+ )
391+ . ToList ( ) ;
392+
393+ var links = markdownInNavigation
394+ . Select ( tuple =>
390395 {
391- var md = v . Navigation . Model ;
392- var anchors = md . Anchors . Count == 0 ? null : md . Anchors . ToArray ( ) ;
393- return new LinkMetadata { Anchors = anchors , Hidden = v . Navigation . Hidden } ;
394- } ) ;
396+ var path = RuntimeInformation . IsOSPlatform ( OSPlatform . Windows )
397+ ? tuple . Markdown . LinkReferenceRelativePath . Replace ( '\\ ' , '/' )
398+ : tuple . Markdown . LinkReferenceRelativePath ;
399+ return ( Path : path , tuple . Markdown , tuple . Navigation ) ;
400+ } )
401+ . DistinctBy ( tuple => tuple . Path )
402+ . ToDictionary (
403+ tuple => tuple . Path ,
404+ tuple =>
405+ {
406+ var anchors = tuple . Markdown . Anchors . Count == 0 ? null : tuple . Markdown . Anchors . ToArray ( ) ;
407+ return new LinkMetadata
408+ {
409+ Anchors = anchors ,
410+ Hidden = tuple . Navigation . Hidden
411+ } ;
412+ } ) ;
395413
396414 return new RepositoryLinks
397415 {
0 commit comments