Hello
I am building an advanced table based on a table of icons by colours from Available colours in Suru++ 25 that I built in pure HTML.
But only the tbody part is missed. I spent 5 hours, trying to find several alternatives solutions, but no luck.
First, look at a file data/themes.yaml:
icons:
- name: adwaita-plus
title: Adwaita++
table:
thead:
- tr:
- th: Name
- th: Preview
tbody:
- tr:
- th: "90ssummer"
td:
- apps
- documents
- downloads
- tr:
- th: aubergine
td:
- apps
- documents
- downloads
- tr:
- th: aurora
td:
- apps
- documents
- downloads
- name: suru-plus
title: Suru++
table:
thead:
- tr:
- th: Name
- th: Preview
tbody:
- tr:
- th: "90ssummer"
td:
- apps
- documents
- downloads
- tr:
- th: aubergine
td:
- apps
- documents
- downloads
- tr:
- th: aurora
td:
- apps
- documents
- downloads
I created a shortcode on the folder layouts/shortcodes/themes.html, it looks like:
{{ range .Site.Data.themes.icons }}
<h2>{{ .title }}</h2>
{{ range .table.thead }}
<table>
<thead>
<tr>
{{ range .tr }}
<th>{{ .th }}</th>
{{ end }}
</tr>
</thead>
{{ range .table.tbody }}
<tbody>
{{ range .tr }}
{{ range .th }}
<tr>
<th>{{ . }}</th>
<td>
{{ range .td }}
<img alt="folder-{{ .th }}-{{ . }}" src="folder-{{ .th }}-{{ . }}.svg">
{{ end }}
</td>
</tr>
{{ end }}
{{ end }}
</tbody>
{{ end }}
</table>
{{ end }}
{{ end }}
Expected result:
<h2>Adwaita++</h2>
<table>
<thead>
<tr>
<th>Name</th>
<th>Preview</th>
</tr>
</thead>
</table>
<h2>Suru++</h2>
<table>
<thead>
<tr>
<th>Name</th>
<th>Preview</th>
</tr>
</thead>
</table>
But in this code, the part tbody went missed.
The output should be like:
<h2>Adwaita++</h2>
<table>
<thead>
<tr>
<th>Name</th>
<th>Preview</th>
</tr>
</thead>
<tbody>
<tr>
<th>90ssummer</th>
<td>
<img alt="folder-90ssummer-apps" src="folder-90ssummer-apps.svg">
<img alt="folder-90ssummer-documents" src="folder-90ssummer-documents.svg">
<img alt="folder-90ssummer-downloads" src="folder-90ssummer-downloads.svg">
</td>
</tr>
<tr>
<th>aubergine</th>
<td>
<img alt="folder-aubergine-apps" src="folder-aubergine-apps.svg">
<img alt="folder-aubergine-documents" src="folder-aubergine-documents.svg">
<img alt="folder-aubergine-downloads" src="folder-aubergine-downloads.svg">
</td>
</tr>
<tr>
<th>aurora</th>
<td>
<img alt="folder-aurora-apps" src="folder-aurora-apps.svg">
<img alt="folder-aurora-documents" src="folder-aurora-documents.svg">
<img alt="folder-aurora-downloads" src="folder-aurora-downloads.svg">
</td>
</tr>
</tbody>
</table>
<h2>Suru++</h2>
<table>
<thead>
<tr>
<th>Name</th>
<th>Preview</th>
</tr>
</thead>
<tbody>
<tr>
<th>90ssummer</th>
<td>
<img alt="folder-90ssummer-apps" src="folder-90ssummer-apps.svg">
<img alt="folder-90ssummer-documents" src="folder-90ssummer-documents.svg">
<img alt="folder-90ssummer-downloads" src="folder-90ssummer-downloads.svg">
</td>
</tr>
<tr>
<th>aubergine</th>
<td>
<img alt="folder-aubergine-apps" src="folder-aubergine-apps.svg">
<img alt="folder-aubergine-documents" src="folder-aubergine-documents.svg">
<img alt="folder-aubergine-downloads" src="folder-aubergine-downloads.svg">
</td>
</tr>
<tr>
<th>aurora</th>
<td>
<img alt="folder-aurora-apps" src="folder-aurora-apps.svg">
<img alt="folder-aurora-documents" src="folder-aurora-documents.svg">
<img alt="folder-aurora-downloads" src="folder-aurora-downloads.svg">
</td>
</tr>
</tbody>
</table>
You can check my original Markdowm code in pure HTML whose link I gave above.
Important
Not all themes have the available colours (for example, 90ssummer, aubergine and aurora are colours). And not all available colour folders have available categories (for example, apps, documents and downloads are categories). Or at the JavaScript file, you can check getColorsBasedOnTheStyle and getCategoriesBasedOnTheStyle containing indexOf and slice, what means some inexistent categories and icons are excluded from each theme.
Thank you a lot for your attention, help, patience and understanding!


