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
|
@ -1 +0,0 @@
|
|||
En construction
|
24
content/liens/blogroll.csv
Normal file
24
content/liens/blogroll.csv
Normal 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/;
|
|
|
@ -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)
|
|
@ -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>
|
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>
|
11
readMe.md
11
readMe.md
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue