|
2 | 2 | layout: default
|
3 | 3 | title: Release Archives
|
4 | 4 | ---
|
| 5 | + |
5 | 6 | {%- comment -%}
|
6 |
| -`site.data.release` an object and unordered. |
7 |
| -Liquid lacks any ability to sort it, or convert it to an array for sorting. |
8 |
| -This following monstrosity is to work around that. |
9 |
| -{%- endcomment -%} |
10 |
| -{%- assign versionsList="" -%} |
11 |
| -{%- for major in (0..999) -%} |
12 |
| - {%- assign probe1=major | append: "_1_0" -%} |
13 |
| - {%- if site.data.release[probe1] -%} |
14 |
| - {%- for minor in (1..999) -%} |
15 |
| - {%- assign probe2=major | append: "_" | append: minor | append: "_0" -%} |
16 |
| - {%- if site.data.release[probe2] -%} |
17 |
| - {%- for micro in (0..999) -%} |
18 |
| - {%- assign key=major | append: "_" | append: minor | append: "_" | append: micro -%} |
19 |
| - {%- if site.data.release[key] -%} |
20 |
| - {%- assign versionsList=versionsList | append: "," | append: key -%} |
21 |
| - {%- else -%} |
22 |
| - {%- break -%} |
23 |
| - {%- endif -%} |
24 |
| - {%- endfor -%} |
25 |
| - {%- else -%} |
26 |
| - {%- break -%} |
27 |
| - {%- endif -%} |
28 |
| - {%- endfor -%} |
29 |
| - {%- else -%} |
30 |
| - {%- break -%} |
31 |
| - {%- endif -%} |
32 |
| -{%- endfor -%} |
33 |
| -{%- assign versionsList=versionsList | remove_first: "," | split: "," | reverse -%} |
34 |
| -{%- comment -%} |
35 |
| -endmonstrosity |
| 7 | +`sort_by_semver_key` is a custom filter in _plugins. |
36 | 8 | {%- endcomment -%}
|
| 9 | +{%- assign sorted_releases = site.data.release | sort_by_semver_key -%} |
37 | 10 |
|
38 | 11 | <div class="row align-items-start justify-content-center my-5">
|
39 | 12 | <div class="col-lg-3 mb-5" role="complementary" aria-labelledby="page-title">
|
40 | 13 | <div class="card shadow px-2 mx-2">
|
41 | 14 | <div class="card-body">
|
42 | 15 | <h1 id="page-title" class="fs-3">{{ page.title }}</h1>
|
43 | 16 | <ul>
|
44 |
| -{%- for relKey in versionsList -%} |
45 |
| -{%- assign releaseVersion=relKey | replace: '_', '.' -%} |
| 17 | +{% for rel_entry in sorted_releases %} |
| 18 | +{%- assign releaseVersion=rel_entry[0] | replace: '_', '.' -%} |
46 | 19 | <li><a href="#{{ releaseVersion }}">{{ releaseVersion }}</a></li>
|
47 | 20 | {%- endfor -%}
|
48 | 21 | </ul>
|
49 | 22 | </div>
|
50 | 23 | </div>
|
51 | 24 | </div>
|
52 | 25 | <div class="col-lg-6" role="main">
|
53 |
| -{%- for relKey in versionsList -%} |
54 |
| -{%- assign releaseVersion=relKey | replace: '_', '.' -%} |
| 26 | +{% for rel_entry in sorted_releases %} |
| 27 | +{%- assign releaseVersion=rel_entry[0] | replace: '_', '.' -%} |
55 | 28 | {%- assign release=site.data.release | map: relKey -%}
|
56 | 29 | <div class="card shadow mb-4">
|
57 | 30 | <div class="card-body mx-3 my-2">
|
|
0 commit comments