Skip to content

Commit 8e9d987

Browse files
authored
Added warning box for EOL versions (#2378)
1 parent 633ed4c commit 8e9d987

File tree

6 files changed

+51
-3
lines changed

6 files changed

+51
-3
lines changed

docs/css/custom.css

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -592,3 +592,11 @@ div.pills {
592592
font-weight: bolder;
593593
padding-bottom: 4px;
594594
}
595+
596+
#older-versions {
597+
cursor: pointer;
598+
}
599+
600+
[hidden] {
601+
display: none !important;
602+
}

docs/js/custom.js

Lines changed: 32 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,21 @@ let jquery = jQuery;
33

44
$(document).ready(function() {
55
// replace edit url
6-
var branchName = 'master',
7-
branchNameRegexp = /\/en\/([a-z0-9-_.]*)\//g.exec(document.location.href);
6+
let branchName = 'master';
7+
const branchNameRegexp = /\/en\/([a-z0-9-_.]*)\//g.exec(document.location.href);
8+
const eolVersions = window.eol_versions ?? [];
89

910
if (branchNameRegexp !== null && branchNameRegexp.hasOwnProperty(1) && branchNameRegexp[1].length) {
1011
branchName = branchNameRegexp[1];
1112
}
1213

14+
// Show warning box for versions that have reached End Of Life
15+
if (eolVersions.includes(branchName)) {
16+
const warningBox = document.querySelector('#eol-warning-box');
17+
18+
warningBox.hidden = false;
19+
}
20+
1321
$('.md-content a.md-icon').each(function() {
1422
$(this).attr(
1523
'href',
@@ -37,7 +45,7 @@ $(document).ready(function() {
3745
var update = setInterval(function() {
3846
let ready = false, version = '';
3947
if ($('readthedocs-flyout').length) {
40-
$('dl.versions', $('readthedocs-flyout').prop('shadowRoot')).appendTo('.version-switcher .switcher__list');
48+
$('dl.versions', $('readthedocs-flyout').prop('shadowRoot')).prependTo('.version-switcher .switcher__list');
4149
$('readthedocs-flyout').remove();
4250
version = $('.switcher__list dl.versions dd strong a').text();
4351
ready = true;
@@ -61,6 +69,27 @@ $(document).ready(function() {
6169
if ('master' !== (vl = $('.rst-other-versions.switcher__list dl.versions')).find('dd:first').text()) {
6270
vl.find('dd').each(function() {$(this).detach().prependTo(vl)});
6371
}
72+
73+
const allVersions = [...document.querySelectorAll('.switcher__list .versions dd')];
74+
const olderVersions = document.querySelector('#older-versions');
75+
76+
if (eolVersions.includes(branchName)) {
77+
olderVersions.hidden = false;
78+
}
79+
80+
allVersions
81+
.filter((versionNode) => eolVersions.includes(versionNode.textContent))
82+
.forEach((versionNode) => {
83+
versionNode.hidden = true;
84+
});
85+
86+
olderVersions.addEventListener('click', (event) => {
87+
event.stopPropagation();
88+
allVersions.forEach((versionNode) => {
89+
versionNode.hidden = false;
90+
});
91+
olderVersions.hidden = true;
92+
});
6493
}
6594
}, 300);
6695
setTimeout(function() {

mkdocs.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -394,6 +394,9 @@ extra:
394394
product_name_connect: 'Ibexa Connect'
395395
product_name_cloud: 'Ibexa Cloud'
396396
product_name_oss: 'Ibexa OSS'
397+
398+
eol_versions: ['2.5']
399+
397400
# Global variables - latest tag versions
398401
latest_tag_2_5: '2.5.32'
399402
latest_tag_3_3: '3.3.37'

theme/main.html

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
{% extends "base.html" %}
22
{% block extrahead %}
33
<meta name="google-site-verification" content="zttxcBm_blrd3kCAsNlGZqvzga_-8ovH4IxSHw2l5OQ" />
4+
<script>window.eol_versions = {{ config.extra.eol_versions|tojson }};</script>
45
<!-- Google Tag Manager --> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-KKQR5LG');</script> <!-- End Google Tag Manager -->
56
{% endblock %}
67
{% block site_nav %}
@@ -57,6 +58,7 @@
5758
{% endif %}
5859
</div>
5960
{% endif %}
61+
{% include "partials/eol_warning.html" %}
6062
{{ page.content }}
6163
{% include "partials/tags.html" %}
6264
</div>

theme/partials/eol_warning.html

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<div id="eol-warning-box" class="admonition caution" hidden>
2+
<div class="admonition-title">
3+
This documentation is for a version that has reached its <a href="https://support.ibexa.co/Public/service-life">End Of Life</a>. Such versions are no longer supported and don't receive security updates. Consider <a href="https://doc.ibexa.co/en/latest/update_and_migration/update_ibexa_dxp/">updating to a newer version</a>.
4+
</div>
5+
</div>

theme/partials/version_switcher.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,6 @@
55
</div>
66
</div>
77
<div class="rst-other-versions switcher__list">
8+
<dd id="older-versions" hidden><a>Older versions</a></dd>
89
</div>
910
</div>

0 commit comments

Comments
 (0)