Add blogroll feature with CSV support and shortcode implementation
This commit is contained in:
parent
39651412c6
commit
44ae47f5b9
6 changed files with 124 additions and 7 deletions
82
layouts/shortcodes/blogroll.html
Normal file
82
layouts/shortcodes/blogroll.html
Normal file
|
@ -0,0 +1,82 @@
|
|||
{{ $csvFile := readFile "content/liens/blogroll.csv" }}
|
||||
{{ $lines := split $csvFile "\n" }}
|
||||
{{ $headers := split (index $lines 0) ";" }}
|
||||
|
||||
<style>
|
||||
.blogroll {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); /* Responsive grid */
|
||||
gap: 10px; /* Space between grid items */
|
||||
margin: 0 0;
|
||||
}
|
||||
.blogroll-item {
|
||||
padding: 0;
|
||||
border-radius: 8px;
|
||||
background-color: var(--entry);
|
||||
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
|
||||
margin: 0;
|
||||
padding: 10px;
|
||||
transition: transform 0.2s, box-shadow 0.2s;
|
||||
}
|
||||
.blogroll-item:hover {
|
||||
transform: translateY(-3px);
|
||||
box-shadow: 0 5px 15px rgba(0,0,0,0.1);
|
||||
}
|
||||
.blogroll-name {
|
||||
font-weight: bold;
|
||||
font-size: 1.1rem;
|
||||
margin-bottom: 0.5rem;
|
||||
text-decoration: none;
|
||||
color: var(--primary);
|
||||
}
|
||||
.blogroll-name a:hover {
|
||||
color: var(--tertiary);
|
||||
}
|
||||
.blogroll-desc {
|
||||
flex-grow: 1; /* Allow description to take available space */
|
||||
font-size: 0.9rem;
|
||||
color: var(--secondary);
|
||||
}
|
||||
.blogroll-desc p {
|
||||
margin: 0;
|
||||
}
|
||||
.blogroll-feed {
|
||||
align-self: flex-end;
|
||||
font-size: 0.9rem;
|
||||
|
||||
}
|
||||
.blogroll-feed *{
|
||||
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
<div class="blogroll">
|
||||
{{ range $i, $line := $lines }}
|
||||
{{ if and (ne $i 0) (ne $line "") }}
|
||||
{{ $cells := split $line ";" }}
|
||||
{{ $rowData := dict }}
|
||||
|
||||
{{ range $j, $header := $headers }}
|
||||
{{ $cellValue := index $cells $j | default "" }}
|
||||
{{ $rowData = merge $rowData (dict $header $cellValue) }}
|
||||
{{ end }}
|
||||
|
||||
<div class="blogroll-item">
|
||||
<div class="blogroll-name">
|
||||
<a href="{{ index $rowData "url-site" }}" target="_blank">{{ index $rowData "nom" }}</a>
|
||||
</div>
|
||||
<div class="blogroll-feed">
|
||||
{{ if isset $rowData "url-feed" }}
|
||||
<a href="{{ index $rowData "url-feed" }}" target="_blank">🛜 Feed</a>
|
||||
{{ end }}
|
||||
</div>
|
||||
<div class="blogroll-desc">
|
||||
<p>{{ index $rowData "description" }}</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
</div>
|
Loading…
Add table
Add a link
Reference in a new issue