From ced08fcb574a62ab7acac2d328eb1ad59011e35c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johan=20Andr=C3=A9n?= Date: Tue, 26 Jun 2018 14:09:28 +0200 Subject: [PATCH] Return of the old docs banner (#25254) --- .../_template/projectSpecificFooter.st | 1 + .../src/main/paradox/assets/js/warnOldDocs.js | 186 ++++++++++++++++++ project/plugins.sbt | 2 +- 3 files changed, 188 insertions(+), 1 deletion(-) create mode 100644 akka-docs/src/main/paradox/_template/projectSpecificFooter.st create mode 100644 akka-docs/src/main/paradox/assets/js/warnOldDocs.js diff --git a/akka-docs/src/main/paradox/_template/projectSpecificFooter.st b/akka-docs/src/main/paradox/_template/projectSpecificFooter.st new file mode 100644 index 0000000000..a10db6f4e7 --- /dev/null +++ b/akka-docs/src/main/paradox/_template/projectSpecificFooter.st @@ -0,0 +1 @@ + diff --git a/akka-docs/src/main/paradox/assets/js/warnOldDocs.js b/akka-docs/src/main/paradox/assets/js/warnOldDocs.js new file mode 100644 index 0000000000..afa64c4e19 --- /dev/null +++ b/akka-docs/src/main/paradox/assets/js/warnOldDocs.js @@ -0,0 +1,186 @@ +jQuery(document).ready(function ($) { + + function initOldVersionWarnings($) { + $.get("//akka.io/versions.json", function (akkaVersionsData) { + var site = extractCurrentPageInfo(); + if (site.v === 'snapshot') { + showSnapshotWarning(site) + } else { + var matchingMinor = + Object.keys(akkaVersionsData[site.p]) + .find(function(s) { return site.v.startsWith(s) }) + if (matchingMinor) { + showVersionWarning(site, akkaVersionsData, matchingMinor) + } + } + }) + } + + function getInstead(akkaVersionsData, project, instead) { + if (Array.isArray(instead)) { + var found = akkaVersionsData[instead[0]][instead[1]] + var proj = instead[0] + } else { + var found = akkaVersionsData[project][instead] + var proj = project + } + return {"latest": found.latest, "project": proj} + } + + function targetUrl(samePage, site, instead) { + var page = site.r + if (samePage !== true) { + // FIXME not valid anymore + if (page.substring(0, 5) == 'scala') { + page = 'scala.html' + } else if (page.substring(0, 4) == 'java') { + page = 'java.html' + } else { + page = 'index.html' + } + } + var project = instead.project + if (!project) { + project = site.p + } + return site.b + project + '/' + instead.latest + '/' + page + } + + function showWarning(site, visitedVersion, text) { + // sneaking the style in here to make life simple + $('head').append('