diff --git a/src/components/GlossaryPortalCta.astro b/src/components/GlossaryPortalCta.astro new file mode 100644 index 0000000..98d04fa --- /dev/null +++ b/src/components/GlossaryPortalCta.astro @@ -0,0 +1,87 @@ +--- +export interface Props { + href: string; + label: string; + icon?: string; + className?: string; +} + +const { + href, + label, + icon = "↗", + className, +} = Astro.props; +--- + + + {label} + + + + \ No newline at end of file diff --git a/src/components/GlossaryPortalPanel.astro b/src/components/GlossaryPortalPanel.astro new file mode 100644 index 0000000..6a75f5d --- /dev/null +++ b/src/components/GlossaryPortalPanel.astro @@ -0,0 +1,96 @@ +--- +export interface Props { + id?: string; + title: string; + count?: string; + intro?: string; + surface?: boolean; + className?: string; +} + +const { + id, + title, + count, + intro, + surface = false, + className, +} = Astro.props; +--- + +
+
+

{title}

+ {count && {count}} +
+ + {intro &&

{intro}

} + + +
+ + \ No newline at end of file diff --git a/src/pages/glossaire/dynamiques-archicratiques.astro b/src/pages/glossaire/dynamiques-archicratiques.astro index 54044f4..cfc05eb 100644 --- a/src/pages/glossaire/dynamiques-archicratiques.astro +++ b/src/pages/glossaire/dynamiques-archicratiques.astro @@ -4,6 +4,7 @@ import GlossaryPortalAside from "../../components/GlossaryPortalAside.astro"; import GlossaryPortalHero from "../../components/GlossaryPortalHero.astro"; import GlossaryPortalSection from "../../components/GlossaryPortalSection.astro"; import GlossaryPortalStickySync from "../../components/GlossaryPortalStickySync.astro"; +import GlossaryPortalPanel from "../../components/GlossaryPortalPanel.astro"; import { getCollection } from "astro:content"; import { buildGlossaryBySlug, @@ -246,20 +247,14 @@ const prolongerLinks = [ intro="Ces diagnostics entrent en résonance avec d’autres notions et paradigmes qui permettent de préciser les mécanismes de fermeture, de capture, d’opacification ou de désajustement de la régulation." > {otherEntries.length > 0 && ( -
-
-

Notions et diagnostics liés

- - {otherCount} entrée{otherCount > 1 ? "s" : ""} - -
- -

- Ces entrées prolongent l’analyse des dérives archicratiques vers - des questions d’empêchement, d’invisibilisation, de fermeture ou - de capture de la scène régulatrice. -

- + 1 ? "s" : ""}`} + intro="Ces entrées prolongent l’analyse des dérives archicratiques vers des questions d’empêchement, d’invisibilisation, de fermeture ou de capture de la scène régulatrice." + surface={true} + className="dyna-block" + >
{otherEntries.map((entry) => ( @@ -274,24 +269,18 @@ const prolongerLinks = [ ))}
-
+ )} {paradigmEntries.length > 0 && ( -
-
-

Paradigmes mobilisés

- - {paradigmCount} paradigme{paradigmCount > 1 ? "s" : ""} - -
- -

- Ces paradigmes servent de ressources comparatives pour penser les - processus de rigidification, d’autonomisation et d’opacification - des régimes de régulation. -

- + 1 ? "s" : ""}`} + intro="Ces paradigmes servent de ressources comparatives pour penser les processus de rigidification, d’autonomisation et d’opacification des régimes de régulation." + surface={true} + className="dyna-block" + >
{paradigmEntries.map((entry) => ( @@ -306,7 +295,7 @@ const prolongerLinks = [ ))}
-
+ )} )} @@ -419,52 +408,6 @@ const prolongerLinks = [ margin-top: 22px; } - .dyna-block--panel{ - padding: 18px 18px 16px; - border: 1px solid rgba(127,127,127,0.18); - border-radius: 18px; - background: - linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01)), - rgba(127,127,127,0.035); - } - - .dyna-block__head{ - display: flex; - align-items: baseline; - justify-content: space-between; - gap: 12px; - flex-wrap: wrap; - margin-bottom: 8px; - } - - .dyna-block h3{ - margin: 0; - font-size: 15px; - line-height: 1.3; - scroll-margin-top: calc(var(--sticky-offset-px, 96px) + 36px); - } - - .dyna-block__count{ - display: inline-flex; - align-items: center; - min-height: 24px; - padding: 0 10px; - border: 1px solid rgba(127,127,127,0.22); - border-radius: 999px; - font-size: 12px; - line-height: 1.2; - opacity: .78; - white-space: nowrap; - } - - .dyna-block__intro{ - max-width: 78ch; - margin: 0 0 12px; - font-size: 14px; - line-height: 1.5; - opacity: .9; - } - .dyna-cards{ display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); diff --git a/src/pages/glossaire/index-complet.astro b/src/pages/glossaire/index-complet.astro index 85080bb..f6ef194 100644 --- a/src/pages/glossaire/index-complet.astro +++ b/src/pages/glossaire/index-complet.astro @@ -8,7 +8,6 @@ import { getCollection } from "astro:content"; import { hrefOfGlossaryEntry } from "../../lib/glossary"; const entries = await getCollection("glossaire"); -const hrefOf = hrefOfGlossaryEntry; const collator = new Intl.Collator("fr", { sensitivity: "base", numeric: true }); @@ -79,8 +78,7 @@ const prolongerLinks = [ { href: "/glossaire/", title: "Accueil du glossaire", - text: - "Revenir à la cartographie générale du système archicratique.", + text: "Revenir à la cartographie générale du système archicratique.", }, { href: "/glossaire/concepts-fondamentaux/", @@ -109,13 +107,39 @@ const prolongerLinks = [ stickyMode="glossary-portal" > - 1 ? "s" : ""} · ${totalLetters} lettre${totalLetters > 1 ? "s" : ""}`} - pageItems={pageItems} - usefulLinks={usefulLinks} - /> +
+ 1 ? "s" : ""} · ${totalLetters} lettre${totalLetters > 1 ? "s" : ""}`} + pageItems={pageItems} + usefulLinks={usefulLinks} + /> + +
+

Repères de lecture

+ +
+ + {paradigmesCount} paradigme{paradigmesCount > 1 ? "s" : ""} + + + {doctrinesCount} doctrine{doctrinesCount > 1 ? "s" : ""} + + + {verbesCount} verbe{verbesCount > 1 ? "s" : ""} + + + {casIaCount} entrée{casIaCount > 1 ? "s" : ""} cas IA + +
+ +

+ Cet index complète les portails thématiques : il permet de retrouver + rapidement une fiche, puis de repartir vers les grandes cartographies du glossaire. +

+
+
@@ -138,21 +162,6 @@ const prolongerLinks = [ count={`${totalEntries} entrée${totalEntries > 1 ? "s" : ""}`} intro="Naviguer par lettre permet de retrouver rapidement chaque fiche du glossaire, tout en conservant ses principaux marqueurs de lecture." > -
- - {paradigmesCount} paradigme{paradigmesCount > 1 ? "s" : ""} - - - {doctrinesCount} doctrine{doctrinesCount > 1 ? "s" : ""} - - - {verbesCount} verbe{verbesCount > 1 ? "s" : ""} - - - {casIaCount} entrée{casIaCount > 1 ? "s" : ""} cas IA - -
-