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