feat: Ajouter des listes à puces personnalisées et optimiser le style CSS pour une meilleure présentation

This commit is contained in:
Boris Waaub
2026-03-16 14:45:21 +01:00
parent 225890236d
commit 419d9b4b08
8 changed files with 95 additions and 76 deletions

View File

@@ -22,3 +22,9 @@ RUN npm run build
EXPOSE 1313
CMD ["hugo", "server", "-D", "--bind", "0.0.0.0", "--baseURL", "http://localhost:1313", "--appendPort=false"]
# @TODO: Ajouter une étape de build pour générer les fichiers statiques de Hugo
# gunzippé et optimisé pour la production
# utilisé Nginx plutot que serveur
# créer des étapes de build pour la compilation et la copie des fichier sur le serveur nginx
# docker build -t hugo-site:latest .

View File

@@ -89,9 +89,11 @@ layout: "simple"
"price_unit": "perDay",
"description": "Deux options pour prendre en main l'outil",
"features": [
"Une journée ou demi-journée de formation en présentiel ou en visio pour vous former sur l'outil"
],
"button": {
"En présentiel",
"En distanciel",
"Courte ou longue",
"Contenu sur mesure"
], "button": {
"text": "Contactez-nous",
"url": "/contact?subject=training"
}
@@ -106,7 +108,7 @@ layout: "simple"
<p class="text-base text-slate-700">Tous les prix exprimés dans ce tableau sont indiqués HTVA.</p>
</div>
<div class="grid lg:justify-items-end">
<a href="#" >Téléchargez la grille tarifaire détaillée</a>
<a href="#" class="text-primary-500 underline font-semibold block mb-4" >Télécharger la grille tarifaire détaillée</a>
</div>
</div>
<div class="grid text-center">

View File

@@ -26,12 +26,11 @@ layout: "gradient-card"
{{< gradient-card-section title="Par Champs Libres coopérative" description="Faites appel à Champs Libres pour l'installation, l'hébergement et la maintenance de Chill." >}}
<div class="space-y-4">
<ul class="list-disc list-inside">
<li>Localisé en Belgique, à Namur</li>
<li>Hébergement sécurisé et maintenance</li>
<li>Support technique professionnel</li>
</ul>
{{< bullet-list class="text-lg list-disc list-inside space-y-2" icon="check" >}}
- Localisé en Belgique, à Namur
- Hébergement sécurisé et maintenance
- Support technique professionnel
{{< /bullet-list >}}
<a href="https://www.champs-libres.coop/page/social/" target="_blank" class="btn btn-primary mt-4">
Visiter le site de Champs-Libres
</a>

View File

@@ -33,11 +33,11 @@ bgColor: "activity-sector-associations"
{{< gradient-card-section title="Un outil adapté au terrain" description="CHILL permet aux équipes de :">}}
<ul class="text-lg">
<li>Suivre les <strong>bénéficiaires</strong></li>
<li>Structurer les <strong>accompagnements</strong></li>
<li>Centraliser les <strong>informations importantes</strong></li>
<li>Faciliter la <strong>collaboration entre professionnels</strong></li>
</ul>
{{< bullet-list class="mb-8 space-y-4 flex-grow" icon="check" >}}
- Suivre les **bénéficiaires**
- Structurer les **accompagnements**
- Centraliser les **informations importantes**
- Faciliter la **collaboration entre professionnels**
{{< /bullet-list >}}
<p class="text-lg mt-8 italic">Lobjectif est simple : permettre aux équipes de se concentrer sur leur mission sociale plutôt que sur la gestion administrative.</p>
{{< /gradient-card-section >}}

View File

@@ -12,26 +12,25 @@ client_logos:
---
{{< gradient-card-section title="Une expertise reconnue auprès des départements français" description="CHILL est déjà utilisé par de grandes collectivités françaises, notamment les départements de la **Haute-Vienne** et de la **Vendée**. Ces collaborations nous ont permis de développer une expertise solide dans :">}}
<ul class="text-lg">
<li>La gestion de structures comptant <strong>des centaines de travailleurs sociaux</strong></li>
<li>Le <strong>suivi de dispositifs sociaux complexes</strong></li>
<li>La <strong>coordination entre plusieurs services et territoires</strong></li>
<li>La <strong>gestion de volumes importants de dossiers</strong></li>
</ul>
{{< bullet-list class="text-lg list-disc list-inside space-y-2" icon="check" >}}
- La gestion de structures comptant **des centaines de travailleurs sociaux**
- Le **suivi de dispositifs sociaux complexes**
- La **coordination entre plusieurs services et territoires**
- La **gestion de volumes importants de dossiers**
{{< /bullet-list >}}
{{< /gradient-card-section >}}
{{< gradient-card-section title="Un accompagnement projet complet" description="Au-delà du logiciel, nous accompagnons les collectivités dans :">}}
<ul class="text-lg">
<li>La <strong> définition des besoins métiers</strong></li>
<li>La <strong> définition des besoins métiers</strong></li>
<li>Le <strong>structuration du projet</strong></li>
<li>La mise en place des <strong> outils adaptés</strong></li>
<li>La <strong>gestion de projet</strong></li>
<li>La <strong>formation des équipes</strong></li>
<li>L<strong>accompagnement au changement des équipes</strong></li>
</ul>
{{< bullet-list class="text-lg list-disc list-inside space-y-2" icon="check" >}}
- La **définition des besoins métiers**
- Le **structuration du projet**
- La mise en place des **outils adaptés**
- La **gestion de projet**
- La **formation des équipes**
- L**accompagnement au changement des équipes**
{{< /bullet-list >}}
<p class="text-lg mt-8 italic"> Notre objectif est de garantir une adoption efficace et durable de la solution.</p>
{{< /gradient-card-section >}}

View File

@@ -148,7 +148,6 @@ pagination = { pagerSize = 6, path = "page" }
[menu.main.params]
has_submenu = true
submenu = [
{ name = "Blog", url = "/resources/blog" },
{ name = "Manuels", url = "/resources/manuals" },
{ name = "Tutoriels", url = "/resources/tutorials" },
{ name = "Installation", url = "/resources/installation" },

View File

@@ -0,0 +1,40 @@
{{/*
Usage:
{{< bullet-list class="mb-8 space-y-2 list-disc list-inside" itemClass="text-base" >}}
- Premier point
- Deuxieme point avec **markdown**
{{< /bullet-list >}}
With check icon style:
{{< bullet-list class="mb-8 space-y-4 flex-grow" icon="check" >}}
- Suivre les **beneficiaires**
- Structurer les **accompagnements**
{{< /bullet-list >}}
*/}}
{{ $listClass := .Get "class" | default "mb-8 space-y-2 list-disc list-inside" }}
{{ $itemClass := .Get "itemClass" | default "" }}
{{ $icon := .Get "icon" | default "" }}
{{ $content := .Inner | strings.TrimSpace }}
{{ $lines := split $content "\n" }}
<ul class="{{ $listClass }}">
{{ range $lines }}
{{ $line := . | strings.TrimSpace }}
{{ if ne $line "" }}
{{ $text := $line | replaceRE "^[-*]\\s+" "" }}
{{ $rendered := $.Page.RenderString (dict "display" "inline") $text }}
{{ if eq $icon "check" }}
{{ $effectiveItemClass := $itemClass | default "flex items-center justify-center flex-nowrap" }}
<li class="{{ $effectiveItemClass }}">
<svg class="w-5 h-5 flex-shrink-0 text-green-500 mr-2" fill="currentColor" viewBox="0 0 20 20" style="width: 20px; height: 20px;">
<path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
</svg>
<span>{{ $rendered | safeHTML }}</span>
</li>
{{ else }}
<li{{ with $itemClass }} class="{{ . }}"{{ end }}>{{ $rendered | safeHTML }}</li>
{{ end }}
{{ end }}
{{ end }}
</ul>

View File

@@ -2399,10 +2399,6 @@ body {
margin-top: auto;
}
.mt-3 {
margin-top: 0.75rem;
}
.line-clamp-2 {
overflow: hidden;
display: -webkit-box;
@@ -2418,6 +2414,10 @@ body {
display: inline-block;
}
.inline {
display: inline;
}
.flex {
display: flex;
}
@@ -2665,10 +2665,6 @@ body {
grid-template-columns: repeat(1, minmax(0, 1fr));
}
.flex-row {
flex-direction: row;
}
.flex-col {
flex-direction: column;
}
@@ -3006,11 +3002,6 @@ body {
background-color: rgb(234 179 8 / var(--tw-bg-opacity, 1));
}
.bg-slate-50 {
--tw-bg-opacity: 1;
background-color: rgb(248 250 252 / var(--tw-bg-opacity, 1));
}
.bg-gradient-to-r {
background-image: linear-gradient(to right, var(--tw-gradient-stops));
}
@@ -3126,6 +3117,11 @@ body {
padding-bottom: 1rem;
}
.py-5 {
padding-top: 1.25rem;
padding-bottom: 1.25rem;
}
.py-6 {
padding-top: 1.5rem;
padding-bottom: 1.5rem;
@@ -3136,11 +3132,6 @@ body {
padding-bottom: 2rem;
}
.py-5 {
padding-top: 1.25rem;
padding-bottom: 1.25rem;
}
.pb-16 {
padding-bottom: 4rem;
}
@@ -3277,6 +3268,10 @@ body {
font-style: italic;
}
.leading-6 {
line-height: 1.5rem;
}
.leading-7 {
line-height: 1.75rem;
}
@@ -3293,10 +3288,6 @@ body {
line-height: 1.25;
}
.leading-6 {
line-height: 1.5rem;
}
.tracking-tight {
letter-spacing: -0.025em;
}
@@ -3305,10 +3296,6 @@ body {
letter-spacing: 0.05em;
}
.tracking-\[0\.12em\] {
letter-spacing: 0.12em;
}
.\!text-white {
--tw-text-opacity: 1 !important;
color: rgb(255 255 255 / var(--tw-text-opacity, 1)) !important;
@@ -3394,16 +3381,6 @@ body {
color: rgb(189 55 10 / var(--tw-text-opacity, 1));
}
.text-white {
--tw-text-opacity: 1;
color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.text-slate-500 {
--tw-text-opacity: 1;
color: rgb(100 116 139 / var(--tw-text-opacity, 1));
}
.text-slate-600 {
--tw-text-opacity: 1;
color: rgb(71 85 105 / var(--tw-text-opacity, 1));
@@ -3414,6 +3391,11 @@ body {
color: rgb(51 65 85 / var(--tw-text-opacity, 1));
}
.text-white {
--tw-text-opacity: 1;
color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.underline {
text-decoration-line: underline;
}
@@ -4831,14 +4813,6 @@ body {
align-items: center;
}
.lg\:justify-end {
justify-content: flex-end;
}
.lg\:justify-between {
justify-content: space-between;
}
.lg\:justify-items-end {
justify-items: end;
}