');
// Load and print markdown
var curJsonVerRaw = '1.5.3';
ldtkMarkdownParser( "/files/CHANGELOG.md?v="+curJsonVerRaw, jHtmlTarget, ()=>{
jMenu.show();
var defaultVer = null;
// Select a specific version
function showVersion(ver) {
// Filter out patch version
var discardPatchReg = /^([0-9]+\.[0-9]+)/;
var result = ver.match( discardPatchReg );
ver = result[1];
console.log(ver);
var jAllVersions = jHtmlTarget.find(".versions>.version");
jAllVersions.hide();
jAllVersions.filter('[data-major="'+ver+'"]').show();
jMenu.find("a").removeClass("active").filter('[data-major="'+ver+'"]').addClass("active");
jAllVersions.removeClass("expanded");
}
// List all major versions
var majorsExtractReg = /(([0-9]+\.[0-9]+)\.[0-9]+)/;
var isMajorReg = /([0-9]+\.[0-9]+)\.0/;
var jGroupedVersions = $('');
jGroupedVersions.prependTo(jHtmlTarget);
var jTitles = jHtmlTarget.find("h1");
jTitles.each( function (idx,e) {
var result = this.innerHTML.match(majorsExtractReg);
if( result==null )
return;
// Add major version attr to the title
var fullVer = result[1];
var majorVer = result[2];
var isMajor = this.innerHTML.match(isMajorReg);
var jTitle = $(e);
// Register major titles in menu
if( isMajor ) {
if( defaultVer==null )
defaultVer = majorVer;
// Add an entry to the menu
var jMenuElem = $('');
jMenuElem.attr("data-major", majorVer);
jMenuElem.text(majorVer);
jMenuElem.click( (ev)=>{
// ev.preventDefault();
showVersion(majorVer);
});
jMenuElem.wrapAll("
").parent().appendTo( jMenu );
}
// Group HTML elements per major versions
var jBlock = jTitle.nextUntil("h1");
var jVersion = $('
');
jGroupedVersions.append(jVersion);
jVersion.attr("data-full", fullVer);
jVersion.attr("data-major", majorVer);
jVersion.attr("data-type", isMajor?"major":"patch");
jTitle.detach().appendTo(jVersion);
jBlock.detach().appendTo(jVersion);
// Click to expand patch notes
if( !isMajor ) {
jVersion.addClass("expanded");
jVersion.find("h1").first().click( ()=>{
jVersion.toggleClass("expanded");
});
}
});
// Move patch versions after major title
$( jGroupedVersions.find('.version[data-type="patch"]').get().reverse() ).each( (idx,e)=>{
var jVersion = $(e);
var majorVer = jVersion.attr("data-major");
var jMajor = jGroupedVersions.find('.version[data-type=major][data-major="'+majorVer+'"]');
jVersion.detach().insertAfter(jMajor.find("h1").first());
});
// Read URL hash
if( window.location.hash!="" ) {
var v = window.location.hash.substring(1);
showVersion(v);
}
else {
// Pick first version from menu
showVersion(defaultVer);
}
// Update preview links
checkPreview();
});