@@ -136,11 +136,6 @@ private void Transform(string srcFile, string dstFile, Nav nav, string? bannerHt
136136 } ) ;
137137 }
138138
139-
140- string ? CachedSiblingsParent ;
141- int CachedSiblingsCurrentIndex ;
142- IHtmlElement ? CachedSiblings ;
143-
144139 private IHtmlDivElement CreateNavDataDiv ( IHtmlDocument document , in Nav nav , string sourceDir )
145140 {
146141 var navDataDiv = document . CreateElement < IHtmlDivElement > ( ) ;
@@ -172,17 +167,7 @@ private IHtmlDivElement CreateNavDataDiv(IHtmlDocument document, in Nav nav, str
172167
173168 if ( files . Siblings is not null )
174169 {
175- IHtmlElement ul ;
176-
177- if ( nav . Files . Parent is string parent && parent == CachedSiblingsParent )
178- {
179- ul = CreateSiblingsULFromCache ( CachedSiblings ! , files . Siblings , nav . Titles ) ;
180- }
181- else
182- {
183- CachedSiblingsParent = nav . Files . Parent ;
184- CachedSiblings = ul = CreateDataUL ( "doc-siblings-data" , files . Siblings , nav . Titles ) ;
185- }
170+ var ul = CreateDataUL ( "doc-siblings-data" , files . Siblings , nav . Titles ) ;
186171
187172 navDataDiv . AppendChild ( ul ) ;
188173 }
@@ -213,82 +198,23 @@ IHtmlElement CreateDataUL(string id, string[] files, Dictionary<string, string>
213198 {
214199 pathSpan = pathSpan [ 1 ..] ;
215200 isCurrent = true ;
216- CachedSiblingsCurrentIndex = i ;
217201 }
218202
219- if ( TryResolveHref ( sourceDir , $ "../ { pathSpan } " , out var url , out var _ ) )
203+ if ( isCurrent )
220204 {
221- if ( isCurrent )
222- {
223- li . ClassName = "disabled" ;
224- }
225- else
226- {
227- a . SetAttribute ( "href" , url ) ;
228- }
229-
230- a . TextContent = titles . GetAlternateLookup < ReadOnlySpan < char > > ( ) [ pathSpan ] ;
205+ li . ClassName = "disabled" ;
231206 }
232-
233- li . AppendChild ( a ) ;
234- ul . AppendChild ( li ) ;
235- }
236-
237- return ul ;
238- }
239-
240- IHtmlElement CreateSiblingsULFromCache ( IHtmlElement ul , string [ ] files , Dictionary < string , string > titles )
241- {
242- document . AdoptNode ( ul ) ;
243-
244- var currentIdx = Array . FindIndex ( files , CachedSiblingsCurrentIndex , files . Length - CachedSiblingsCurrentIndex , f => f . StartsWith ( '*' ) ) ;
245- var previousLi = ul . Children [ CachedSiblingsCurrentIndex ] . SelfOrNextElementSibling ( li => li . FirstElementChild ! . GetAttribute ( "href" ) . IsEmpty ) ;
246-
247- Debug . Assert ( currentIdx > 0 ) ;
248- Debug . Assert ( previousLi is not null ) ;
249-
250- if ( TryResolveHref ( sourceDir , $ "../{ files [ currentIdx - 1 ] } ", out var url , out var _ ) )
251- {
252- previousLi . FirstElementChild ! . SetAttribute ( "href" , url ) ;
253- }
254-
255- previousLi . ClassName = null ;
256-
257- var currentLi = previousLi . NextElementSibling ! ;
258- currentLi . FirstElementChild ! . SetAttribute ( "href" , null ) ;
259- currentLi . ClassName = "disabled" ;
260-
261- if ( ul . ChildElementCount < files . Length )
262- {
263- var li = document . CreateElement < IHtmlListItemElement > ( ) ;
264- var a = document . CreateElement < IHtmlAnchorElement > ( ) ;
265-
266- if ( TryResolveHref ( sourceDir , $ "../{ files [ ^ 1 ] } ", out var endUrl , out var _ ) )
207+ else
267208 {
268- a . SetAttribute ( "href" , endUrl ) ;
269- a . TextContent = titles [ files [ ^ 1 ] ] ;
209+ a . SetAttribute ( "href" , $ "../{ pathSpan } ") ;
270210 }
271211
212+ a . TextContent = titles . GetAlternateLookup < ReadOnlySpan < char > > ( ) [ pathSpan ] ;
213+
272214 li . AppendChild ( a ) ;
273215 ul . AppendChild ( li ) ;
274216 }
275- else if ( currentIdx == MaxSiblingNodes / 2 && currentIdx != files . Length - 1 && currentIdx == CachedSiblingsCurrentIndex )
276- {
277- var li = ( IHtmlElement ) ul . RemoveChild ( ul . FirstElementChild ! ) ;
278-
279- if ( TryResolveHref ( sourceDir , $ "../{ files [ ^ 1 ] } ", out var endUrl , out var _ )
280- && endUrl != ul . LastElementChild ! . FirstElementChild ! . GetAttribute ( "href" ) )
281- {
282- var a = li . FirstElementChild ! ;
283-
284- a . SetAttribute ( "href" , endUrl ) ;
285- a . TextContent = titles [ files [ ^ 1 ] ] ;
286-
287- ul . AppendChild ( li ) ;
288- }
289- }
290217
291- CachedSiblingsCurrentIndex = currentIdx ;
292218 return ul ;
293219 }
294220 }
0 commit comments