| function maybeAddWarning () { |
| // DOCUMENTER_NEWEST is defined in versions.js, DOCUMENTER_CURRENT_VERSION and DOCUMENTER_STABLE |
| // in siteinfo.js. |
| // If either of these are undefined something went horribly wrong, so we abort. |
| if ( |
| window.DOCUMENTER_NEWEST === undefined || |
| window.DOCUMENTER_CURRENT_VERSION === undefined || |
| window.DOCUMENTER_STABLE === undefined |
| ) { |
| return |
| }; |
| |
| // Current version is not a version number, so we can't tell if it's the newest version. Abort. |
| if (!/v(\d+\.)*\d+/.test(window.DOCUMENTER_CURRENT_VERSION)) { |
| return |
| }; |
| |
| // Current version is newest version, so no need to add a warning. |
| if (window.DOCUMENTER_NEWEST === window.DOCUMENTER_CURRENT_VERSION) { |
| return |
| }; |
| |
| // Add a noindex meta tag (unless one exists) so that search engines don't index this version of the docs. |
| if (document.body.querySelector('meta[name="robots"]') === null) { |
| const meta = document.createElement('meta'); |
| meta.name = 'robots'; |
| meta.content = 'noindex'; |
| |
| document.getElementsByTagName('head')[0].appendChild(meta); |
| }; |
| |
| const div = document.createElement('div'); |
| div.classList.add('outdated-warning-overlay'); |
| const closer = document.createElement('button'); |
| closer.classList.add('outdated-warning-closer', 'delete'); |
| closer.addEventListener('click', function () { |
| document.body.removeChild(div); |
| }); |
| const href = window.documenterBaseURL + '/../' + window.DOCUMENTER_STABLE; |
| div.innerHTML = 'This documentation is not for the latest stable release, but for either the development version or an older release.<br><a href="' + href + '">Click here to go to the documentation for the latest stable release.</a>'; |
| div.appendChild(closer); |
| document.body.appendChild(div); |
| }; |
| |
| if (document.readyState === 'loading') { |
| document.addEventListener('DOMContentLoaded', maybeAddWarning); |
| } else { |
| maybeAddWarning(); |
| }; |