File tree Expand file tree Collapse file tree 1 file changed +18
-5
lines changed Expand file tree Collapse file tree 1 file changed +18
-5
lines changed Original file line number Diff line number Diff line change @@ -320,21 +320,34 @@ auto genChangelogVersion(string fileName, string fileText)
320
320
321
321
// inject the changelog footer
322
322
auto fileBaseName = fileName.baseName;
323
- auto r = changelogFiles.enumerate.find! (a => a.value.baseName == fileBaseName);
323
+ auto r = changelogFiles.chain( " pending.dd " .only). enumerate.find! (a => a.value.baseName == fileBaseName);
324
324
if (r.length != 0 )
325
325
{
326
326
auto el = r.front;
327
327
macros ~= " \n CHANGELOG_NAV_INJECT=" ;
328
328
auto versions = changelogFiles.map! (a => a.baseName.until(" .dd" ));
329
+ auto hasPrerelease = versions[$ - 1 ].canFind(" _pre" );
329
330
// mapping for the first and last page is different
330
331
if (el.index == 0 )
332
+ {
331
333
macros ~= " \n $(CHANGELOG_NAV_FIRST %s)" .format(versions[1 ]);
332
- else if (el.index == changelogFiles.length - 1 ||
333
- // prerelease pages shouldn't be linked to from the released versions
334
- el.index == changelogFiles.length - 2 && versions[$ - 1 ].canFind(" _pre" ))
335
- macros ~= " \n $(CHANGELOG_NAV_LAST %s)" .format(versions[el.index - 1 ]);
334
+ }
335
+ else if (
336
+ // latest version + nightlies (pending.dd)
337
+ el.index >= versions.length ||
338
+ // prerelease pages
339
+ el.index == versions.length - 1 && hasPrerelease)
340
+ {
341
+ macros ~= " \n $(CHANGELOG_NAV_LAST %s)" .format(versions.retro.find! (v => ! v.canFind(" _pre" , " pending" )).front);
342
+ }
343
+ else if (el.index == versions.length - 1 && ! hasPrerelease)
344
+ {
345
+ macros ~= " \n $(CHANGELOG_NAV_LAST %s)" .format(versions[$ - 2 ]);
346
+ }
336
347
else
348
+ {
337
349
macros ~= " \n $(CHANGELOG_NAV %s, %s)" .format(versions[el.index - 1 ], versions[el.index + 1 ]);
350
+ }
338
351
macros ~= " \n _=" ;
339
352
}
340
353
fileText ~= macros;
You can’t perform that action at this time.
0 commit comments