Add blogroll feature with CSV support and shortcode implementation

This commit is contained in:
gribse 2025-05-24 12:01:54 +02:00
parent 39651412c6
commit 44ae47f5b9
6 changed files with 124 additions and 7 deletions

View file

@ -1 +0,0 @@
En construction

View file

@ -0,0 +1,24 @@
nom;description;url-site;url-feed
Bartosz Ciechanowski;;;
Maggie Appleton;;;
Zuma;;;
Fonts In Use ;;;
what if?;;;
A spinner weaver;Annie MacHale est spécialisée dans le tissage Inkle;https://aspinnerweaver.blogspot.com/;https://aspinnerweaver.blogspot.com/feeds/posts/default
Bison Rimant;Un sculpteur breton qui crée des animaux en bois;https://bisonrimant.fr/;https://bisonrimant.fr/feed
Kurisquare;Coni Yovaniniz écrit des BD;https://blog.kurisquare.com/;https://blog.kurisquare.com/feed/
Cotswold Diary;On suit Chris présenter avec une fréquence redoutable ses travaux de conservation de la nature dans les Cotswolds, au Royaume-Uni.;https://diary.uncountable.uk/;https://diary.uncountable.uk/feed/
Emily F. Gorcenski;"""I am passionate about good technological citizenship and believe strongly in building an equitable internet that fosters collaboration, community, and autonomy""";https://emilygorcenski.com/;https://emilygorcenski.com/post/index.xml
Fraens Engineering;Des machines complexes imprimées en 3D;https://fraensengineering.com/;https://fraensengineering.com/feed/
;;https://gersande.com/blogue/;
;;https://maya.land/;
;;https://mitxela.com/projects;
;;;https://www.blogger.com/feeds/1342049528869683702/posts/default
Ploum;;https://ploum.net/;
Save it for parts;;https://saveitforparts.wordpress.com/;
Tambouille;;https://www.tambouille.me/;
The Satyr's garden;;https://satyrs.eu/garden/feed;
Tien Chiu;Tisserande, ;https://tienchiu.com/;
A Weaver's life;Une tisserande canadienne qui parle de tissage, et de sa vie aussi.;https://laurasloom.blogspot.com/;https://laurasloom.blogspot.com/feeds/posts/default
;;https://cinni.bearblog.dev/feed/;
;;https://www.thisiscolossal.com/;
1 nom description url-site url-feed
2 Bartosz Ciechanowski
3 Maggie Appleton
4 Zuma
5 Fonts In Use
6 what if?
7 A spinner weaver Annie MacHale est spécialisée dans le tissage Inkle https://aspinnerweaver.blogspot.com/ https://aspinnerweaver.blogspot.com/feeds/posts/default
8 Bison Rimant Un sculpteur breton qui crée des animaux en bois https://bisonrimant.fr/ https://bisonrimant.fr/feed
9 Kurisquare Coni Yovaniniz écrit des BD https://blog.kurisquare.com/ https://blog.kurisquare.com/feed/
10 Cotswold Diary On suit Chris présenter avec une fréquence redoutable ses travaux de conservation de la nature dans les Cotswolds, au Royaume-Uni. https://diary.uncountable.uk/ https://diary.uncountable.uk/feed/
11 Emily F. Gorcenski "I am passionate about good technological citizenship and believe strongly in building an equitable internet that fosters collaboration, community, and autonomy" https://emilygorcenski.com/ https://emilygorcenski.com/post/index.xml
12 Fraens Engineering Des machines complexes imprimées en 3D https://fraensengineering.com/ https://fraensengineering.com/feed/
13 https://gersande.com/blogue/
14 https://maya.land/
15 https://mitxela.com/projects
16 https://www.blogger.com/feeds/1342049528869683702/posts/default
17 Ploum https://ploum.net/
18 Save it for parts https://saveitforparts.wordpress.com/
19 Tambouille https://www.tambouille.me/
20 The Satyr's garden https://satyrs.eu/garden/feed
21 Tien Chiu Tisserande, https://tienchiu.com/
22 A Weaver's life Une tisserande canadienne qui parle de tissage, et de sa vie aussi. https://laurasloom.blogspot.com/ https://laurasloom.blogspot.com/feeds/posts/default
23 https://cinni.bearblog.dev/feed/
24 https://www.thisiscolossal.com/

View file

@ -27,7 +27,10 @@ ShowReadingTime: false
- [Mitxela](https://mitxela.com/)
- [Fills](https://frills.dev/)
# Blogroll
# Trucs cool
Une liste non exhaustive de blogs que je suis, et que je conseille.
-
{{< blogroll >}}
[Télécharger la liste en .csv](/liens/blogroll.csv)

View file

@ -25,13 +25,13 @@
<p> · </p>
<li>📠<a href="/collection">Machines</a></li>
<p> · </p>
<li>🔗<a href="/liens">Liens</a></li>
<p> · </p>
<li>📖<a href="/livres">Lectures</a></li>
<p> · </p>
<li>🌐<a href="/blogroll">Blogroll</a></li>
<li>🔗<a href="/liens">Liens</a></li>
<p> · </p>
<li><a href="/a-propos">A propos</a></li>
<p> · </p>
<li>✉️<a href="/contact">Contact</a></li>
<p> · </p>
<li>🛜<a href="/feed.xml">RSS</a></li>
</ul>

View 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>

View file

@ -16,16 +16,24 @@
- [ ] La taille de l'image est un paramètre du shortcode
- [x] revoir le css des galleries pour les rendre moins moches
## Blogroll
- [x] créer un csv
- [x] shortcode parse le csv
- [ ] styler le shortcode
## Contenu
- [x] Ecrire contact page
- [x] ecrire à propos page
- [ ] Liens
- [ ] Blogroll csv
## RSS
- [ ] Exclure contact & colophon du flux rss
- [x] Include images in rss feed
- [ ] enlever le code de photoswipe en haut de l'article rss
- [ ] exclure les drafts
## Autres
- [x] réhéberger TPE & PEM2T (et autres trucs chez OVH) en local
@ -64,7 +72,8 @@
- [ ] Choper automatiquement les infos pour le livre en partant de l'ISBN
### MàE
- [ ] also rezize images in maec-encadre
### Blogroll
- [ ] auto-fetch favicons at build
## Contenu
- [ ] Ecrire blogroll
- [x] Ajouter un colophon