Skip to content

Commit 67d84f5

Browse files
committed
Merge branch 'better_software_overview'
2 parents 6dce96c + 3105c86 commit 67d84f5

File tree

10 files changed

+354
-159
lines changed

10 files changed

+354
-159
lines changed
Lines changed: 133 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,133 @@
1+
/*
2+
* CSS sytlesheet for software overview, see docs/available_software/
3+
*/
4+
5+
.software-name {
6+
font-size: 0.9rem;
7+
font-weight: 700;
8+
color: var(--md-primary-fg-color);
9+
}
10+
11+
.software-versions {
12+
font-size: 0.6rem;
13+
font-style: italic;
14+
margin-left: 0.2rem;
15+
}
16+
17+
.software-link a {
18+
font-size: 0.6rem;
19+
color: var(--md-typeset-a-color);
20+
}
21+
22+
.software-more-info a {
23+
float: right;
24+
font-size: 0.6rem;
25+
font-style: italic;
26+
}
27+
28+
.software-description {
29+
font-size: 0.7rem;
30+
}
31+
32+
.software-cpus {
33+
font-size: 0.65rem;
34+
font-style: italic;
35+
}
36+
37+
.software-gpus {
38+
font-size: 0.65rem;
39+
font-style: italic;
40+
}
41+
42+
.software-cpu-amd {
43+
display: inline-block;
44+
padding: 0.15em 0.5em;
45+
border-radius: 0.8em;
46+
font-size: 0.8em;
47+
font-style: normal;
48+
background-color: rgb(0,0,0); /* https://www.brandcolorcode.com/advanced-micro-devices-amd */
49+
color: var(--md-primary-bg-color);
50+
margin-right: 0.3em;
51+
}
52+
53+
.software-cpu-arm {
54+
display: inline-block;
55+
padding: 0.15em 0.5em;
56+
border-radius: 0.8em;
57+
font-size: 0.8em;
58+
font-style: normal;
59+
background-color: rgb(0,145,189); /* https://www.brandcolorcode.com/arm-company */
60+
color: var(--md-primary-bg-color);
61+
margin-right: 0.3em;
62+
}
63+
64+
.software-cpu-intel {
65+
display: inline-block;
66+
padding: 0.15em 0.5em;
67+
border-radius: 0.8em;
68+
font-size: 0.8em;
69+
font-style: normal;
70+
background-color: rgb(0,199,253); /* https://www.brandcolorcode.com/intel */
71+
color: rgb(0,0,0);
72+
margin-right: 0.3em;
73+
}
74+
75+
.software-cpu-riscv {
76+
display: inline-block;
77+
padding: 0.15em 0.5em;
78+
border-radius: 0.8em;
79+
font-size: 0.8em;
80+
font-style: normal;
81+
background-color: rgb(253,181,21); /* https://riscv.org/about/brand-guidelines */
82+
color: rgb(0,50,98);
83+
margin-right: 0.3em;
84+
}
85+
86+
.software-gpu-amd {
87+
display: inline-block;
88+
padding: 0.15em 0.5em;
89+
border-radius: 0.8em;
90+
font-size: 0.8em;
91+
font-style: normal;
92+
background-color: rgb(0,0,0); /* https://www.brandcolorcode.com/advanced-micro-devices-amd */
93+
color: var(--md-primary-bg-color);
94+
margin-right: 0.3em;
95+
}
96+
97+
.software-gpu-nvidia {
98+
display: inline-block;
99+
padding: 0.15em 0.5em;
100+
border-radius: 0.8em;
101+
font-size: 0.8em;
102+
font-style: normal;
103+
background-color: rgb(118,185,0); /* https://www.brandcolorcode.com/nvidia */
104+
color: rgb(0,0,0);
105+
margin-right: 0.3em;
106+
}
107+
108+
.software-eessi-versions {
109+
font-size: 0.65rem;
110+
font-style: italic;
111+
}
112+
113+
.software-eessi-version-202306 {
114+
display: inline-block;
115+
padding: 0.15em 0.5em;
116+
border-radius: 0.8em;
117+
font-size: 0.8em;
118+
font-style: normal;
119+
background-color: darkslateblue; /* https://www.w3schools.com/cssref/css_colors.php */
120+
color: var(--md-primary-bg-color);
121+
margin-right: 0.3em;
122+
}
123+
124+
.software-eessi-version-202506 {
125+
display: inline-block;
126+
padding: 0.15em 0.5em;
127+
border-radius: 0.8em;
128+
font-size: 0.8em;
129+
font-style: normal;
130+
background-color: darkslategrey; /* https://www.w3schools.com/cssref/css_colors.php */
131+
color: var(--md-primary-bg-color);
132+
margin-right: 0.3em;
133+
}

docs/available_software/css/style_table.css

Lines changed: 0 additions & 29 deletions
This file was deleted.

docs/available_software/index.md

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
{% set data = load_json_eessi_software() %}
2+
{% set software = data.software %}
3+
4+
# Software available in EESSI
5+
6+
Overview of software available in [EESSI's production repository `software.eessi.io`](../repositories/software.eessi.io.md).
7+
8+
<em>{{ data.n_software }} unique software projects (+ {{ data.n_extensions }} unique extensions)</em>
9+
10+
!!! warning "Details on GPU installations not included yet"
11+
12+
The overview currently doesn't expose information about GPU installations of software yet.
13+
14+
This will be resolved soon.
15+
16+
<!-- see also docs/available_software/javascripts/software-filter.js -->
17+
<input type="search" id="software-search" class="md-input"
18+
placeholder="Filter software..."
19+
style="width:100%; margin-bottom:1rem;">
20+
21+
<div class="grid cards" markdown>
22+
23+
{% for pkg in software %}
24+
{% set pkg_slug = pkg.name | replace(' ', '-') %}
25+
{% if pkg.is_extension -%}
26+
- <span class="software-item software-card"
27+
data-search="name:{{ pkg.name }} extension ext_type:{{ pkg.type }}" >
28+
<span class="software-name"><a href="https://eessi.io/docs/available_software/detail/{{ pkg_slug }}">{{ pkg.name }}</a></span>
29+
<span class="software-more-info"><small>(extension)</small></span>
30+
<br/>
31+
<p class="software-description">
32+
{{ pkg.name }} is a {% if pkg.type == "python" -%} Python package{% elif pkg.type == "r" -%}R library{% elif pkg.type == "perl" -%}Perl module{% endif %}
33+
that is included as extension in the following software installations:
34+
<ul>
35+
{% for parent in pkg.all_parent_names %}
36+
{% set parent_slug = parent | replace(' ', '-') %}
37+
<li><a href="https://eessi.io/docs/available_software/detail/{{ parent_slug }}">{{ parent }}</a></li>
38+
{% endfor %}
39+
</p>
40+
</ul>
41+
</span>
42+
{% else -%}
43+
- <span class="software-item software-card"
44+
data-search="name:{{ pkg.name }} {{ pkg.homepage }} {{ pkg.description }} {{ pkg.cpu_families }} {{ pkg.eessi_versions }} ">
45+
46+
<span class="software-name"><a href="https://eessi.io/docs/available_software/detail/{{ pkg_slug }}">{{ pkg.name }}</a></span>
47+
<!-- <span class="software-versions">{% if pkg.n_versions == 1 -%}({{ pkg.n_versions }} version){% else -%}({{ pkg.n_versions }} versions){% endif %}</span> -->
48+
<span class="software-more-info"><a href="https://eessi.io/docs/available_software/detail/{{ pkg_slug }}">(more details)</a></span>
49+
<br/>
50+
<span class="software-link">{{ pkg.homepages }}</span>
51+
<br/>
52+
<p class="software-description">
53+
{{ pkg.description }}
54+
</p>
55+
<span class="software-eessi-versions">Available in EESSI versions: {% if '2023.06' in pkg.eessi_versions -%}<span class="software-eessi-version-202306">2023.06</span>{% endif %}{% if '2025.06' in pkg.eessi_versions -%}<span class="software-eessi-version-202506">2025.06</span>{% endif %}</span>
56+
<br/>
57+
<span class="software-cpus">Supported CPU families: {% if 'AMD' in pkg.cpu_families -%}<span class="software-cpu-amd">AMD</span>{% endif %}{% if 'Intel' in pkg.cpu_families -%}<span class="software-cpu-intel">Intel</span>{% endif %}{% if 'Arm' in pkg.cpu_families -%}<span class="software-cpu-arm">Arm</span>{% endif %}{% if 'RISC-V' in pkg.cpu_families -%}<span class="software-cpu-riscv">RISC-V</span>{% endif %}</span>
58+
<br/>
59+
<span class="software-gpus">Supported GPU families: {% if pkg.gpu_families == '' -%}<em>(none)</em>{% else -%}{% if 'AMD' in pkg.gpu_families -%}<span class="software-gpu-amd">AMD</span>{% endif %}{% if 'NVIDIA' in pkg.gpu_families -%}<span class="software-gpu-nvidia">NVIDIA</span>{% endif %}{% endif %}</span>
60+
<br/>
61+
</span>
62+
{% endif %}
63+
{% endfor %}
64+
65+
</div>
66+
67+
---
68+
69+
<small><em>Last update: {{ data.timestamp }}</em></small>

docs/available_software/javascripts/populate_overview.js

Lines changed: 0 additions & 72 deletions
This file was deleted.
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
/*
2+
* Javascript for search box in software overview page (see docs/available_software/index.md)
3+
*/
4+
document.addEventListener("DOMContentLoaded", () => {
5+
const input = document.getElementById("software-search");
6+
const cards = document.querySelectorAll(".software-card");
7+
8+
input.addEventListener("input", () => {
9+
const q = input.value.toLowerCase();
10+
11+
cards.forEach(card => {
12+
const li = card.closest("li");
13+
const text = card.dataset.search.toLowerCase();
14+
li.style.display = text.includes(q) ? "" : "none";
15+
});
16+
});
17+
});
18+

0 commit comments

Comments
 (0)