|
7 | 7 | <div class="releases-table-content"> |
8 | 8 | <div class="releases-table-header"> |
9 | 9 | <div class="releases-table-header-item">Version</div> |
10 | | - <div class="releases-table-header-item">Release Date</div> |
11 | | - <div class="releases-table-header-item">Latest Tag</div> |
12 | | - <div class="releases-table-header-item">Last Updated</div> |
13 | | - <div class="releases-table-header-item">Status</div> |
14 | | - <div class="releases-table-header-item">Release Notes</div> |
15 | | - <div class="releases-table-header-item">Upgrade Instructions</div> |
| 10 | + <div class="releases-table-header-item">First Released</div> |
| 11 | + <div class="releases-table-header-item cur-patch">Current Patch</div> |
| 12 | + <div class="releases-table-header-item">Support</div> |
| 13 | + <div class="releases-table-header-item">End of Life</div> |
| 14 | + <div class="releases-table-header-item">Release Notes & Highlights</div> |
| 15 | + <div class="releases-table-header-item">Instructions</div> |
16 | 16 | </div> |
17 | 17 |
|
18 | 18 | <div class="releases-table-row"> |
19 | 19 | {% for page in releases %} |
20 | 20 | {% if page.name != "index.md" %} |
21 | 21 | {% assign version = page.name | split: "." | first %} |
22 | 22 | <div class="releases-table-content-wrapper" |
23 | | - onclick="window.location='{{ page.url }}'" |
| 23 | + onclick="window.open('{{ page.url }}', '_blank')" |
24 | 24 | style="cursor:pointer;"> |
25 | 25 | <div class="releases-table-content"> |
| 26 | + |
| 27 | + {%- assign month_map = "January:Jan,February:Feb,March:Mar,April:Apr,May:May,June:Jun,July:Jul,August:Aug,September:Sep,October:Oct,November:Nov,December:Dec" | split: "," -%} |
| 28 | + |
| 29 | + {%- assign release_month_full = page.release-date | date: "%B" -%} |
| 30 | + |
| 31 | + {%- for pair in month_map -%} |
| 32 | + {%- assign parts = pair | split: ":" -%} |
| 33 | + {%- if parts[0] == release_month_full -%} |
| 34 | + {%- assign release_month_short = parts[1] -%} |
| 35 | + {%- endif -%} |
| 36 | + {%- endfor -%} |
| 37 | + |
26 | 38 | <div class="releases-table-content-item"> |
27 | | - {{ version | replace: "-", "." }}{% if docsPrefix == "pe/" %}PE{% endif %} |
| 39 | + {{ version | replace: "-", "." | replace: ".x", "" }}{% if docsPrefix == "pe/" %}PE{% endif %} |
28 | 40 | </div> |
29 | 41 |
|
30 | 42 | <div class="releases-table-content-item"> |
31 | 43 | <time datetime="{{ page.release-date | date: '%Y-%m-%d' }}"> |
32 | | - {{ page.release-date | date: "%B %-d, %Y" }} |
| 44 | + {{ page.release-date | date: "%-d" }} {{ release_month_short }} {{ page.release-date | date: "%Y" }} |
33 | 45 | </time> |
34 | 46 | </div> |
35 | 47 |
|
36 | | - <div class="releases-table-content-item"> |
37 | | - {{ page.latest-tag }}{% if docsPrefix == "pe/" %}PE{% endif %} |
| 48 | + <div class="releases-table-content-item cur-patch"> |
| 49 | + {{ page.latest-patch }} |
38 | 50 | </div> |
39 | 51 |
|
40 | | - <div class="releases-table-content-item"> |
41 | | - <time datetime="{{ page.last-updated | date: '%Y-%m-%d' }}"> |
42 | | - {{ page.last-updated | date: "%B %-d, %Y" }} |
43 | | - </time> |
44 | | - </div> |
45 | 52 |
|
46 | 53 | {% if page.lts %} |
47 | | - <a href="/docs/{{ docsPrefix }}releases/release-policy/" class="releases-table-content-item version-link version-link-lts"> |
| 54 | + <a href="/docs/{{ docsPrefix }}releases/release-policy/" |
| 55 | + class="releases-table-content-item version-link version-link-lts"> |
48 | 56 | <span style="font-weight: 500; color: {% if docsPrefix == "pe/" %}#1F8B4D{% else %}#2a7dec{% endif %}"> |
49 | | - LTS ({{ page.lts }}) |
| 57 | + Active LTS |
50 | 58 | </span> |
51 | 59 | <i class="fas fa-external-link-alt" |
52 | 60 | style="color: {% if docsPrefix == "pe/" %}#1F8B4D{% else %}#2a7dec{% endif %}"></i> |
53 | 61 | </a> |
54 | 62 | {% else %} |
55 | | - <div class="releases-table-content-item">non-LTS</div> |
| 63 | + <div class="releases-table-content-item">Standard</div> |
| 64 | + {% endif %} |
| 65 | + |
| 66 | + {% assign release_ts = page.release-date | date: "%s" %} |
| 67 | + |
| 68 | + {% if page.lts %} |
| 69 | + {% assign target_ts = release_ts | plus: 46656000 %} |
| 70 | + {% else %} |
| 71 | + {% assign target_ts = release_ts | plus: 15552000 %} |
56 | 72 | {% endif %} |
57 | 73 |
|
58 | | - <a href="{{ page.url }}" class="releases-table-content-item version-link"> |
59 | | - <span>{{ version | replace: "-", "." }}</span> |
| 74 | + {% assign now_ts = "now" | date: "%s" | plus: 0 %} |
| 75 | + |
| 76 | + {%- assign target_month_full = target_ts | date: "%B" -%} |
| 77 | + |
| 78 | + {%- for pair in month_map -%} |
| 79 | + {%- assign parts = pair | split: ":" -%} |
| 80 | + {%- if parts[0] == target_month_full -%} |
| 81 | + {%- assign target_month_short = parts[1] -%} |
| 82 | + {%- endif -%} |
| 83 | + {%- endfor -%} |
| 84 | + |
| 85 | + <div class="releases-table-content-item{% if target_ts < now_ts %} old-date{% endif %}"> |
| 86 | + {% if page.lts %} |
| 87 | + {{ target_month_short }} {{ target_ts | date: "%Y" }} |
| 88 | + {% else %} |
| 89 | + {{ target_ts | date: "%-d" }} {{ target_month_short }} {{ target_ts | date: "%Y" }} |
| 90 | + {% endif %} |
| 91 | + </div> |
| 92 | + |
| 93 | + <a href="{{ page.url }}" class="releases-table-content-item version-link" target="_blank"> |
| 94 | + <span>{{ page.release-note-label }}</span> |
60 | 95 | <i class="fas fa-external-link-alt" style="opacity: 0.54; color: #000"></i> |
61 | 96 | </a> |
62 | 97 |
|
|
68 | 103 |
|
69 | 104 | </div> |
70 | 105 | </div> |
71 | | - {% endif %} |
| 106 | + {% endif %} |
72 | 107 | {% endfor %} |
73 | 108 | </div> |
74 | 109 | </div> |
75 | 110 | </div> |
| 111 | +<ul class="legend{% if docsPrefix == "pe/" %} pe{% endif %}"> |
| 112 | + <li class="list-link"><a href="/docs/{{ docsPrefix }}releases/release-policy/">Active LTS</a> - releases supported for 18 months from initial release date</li> |
| 113 | + <li>Standard - releases supported for 6 months from initial release date</li> |
| 114 | +</ul> |
76 | 115 | <div class="fixed-upgrade-scrollbar" id="fixedScrollbar"> |
77 | 116 | <div class="scrollbar-inner"></div> |
78 | 117 | </div> |
|
152 | 191 | syncFromBar = true; |
153 | 192 | table.scrollLeft = bar.scrollLeft; |
154 | 193 | }); |
| 194 | +
|
| 195 | + const rowLinks = document.querySelectorAll('.releases-table-content-wrapper a'); |
| 196 | + rowLinks.forEach(link => { |
| 197 | + link.addEventListener('click', function (event) { |
| 198 | + event.stopPropagation(); |
| 199 | + }); |
| 200 | + }); |
155 | 201 | }); |
156 | 202 | </script> |
0 commit comments