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!