[đ ] Restaurer la navigation du blog avec le menu mobile et lâoverview des catĂ©gories
âš RĂ©sumĂ© de GPT-5.5 ă
Un rĂ©cit sur lâajout dâun accĂšs direct aux catĂ©gories sur mobile, et sur la transformation de /categories/ dâun dump complet dâarticles en Ă©cran dâoverview montrant la structure du blog.
AprÚs avoir ajouté le calendrier de sidebar à la sidebar, un problÚme de navigation plus large est apparu.
Sur desktop, il y a une sidebar. Les catégories sont visibles, et le calendrier aussi.
Mais sur mobile, lâhistoire est diffĂ©rente. MĂȘme en ouvrant le menu du haut, la vraie structure des catĂ©gories du blog nâapparaissait pas immĂ©diatement. Les articles recommençaient Ă sâaccumuler, mais sur un petit Ă©cran, il devenait difficile de trouver ce qui se trouvait oĂč.
/categories/ avait le mĂȘme problĂšme.
Lâarchive de catĂ©gories par dĂ©faut Ă©tait fonctionnellement correcte. Mais sur un blog avec beaucoup dâarticles, elle ressemblait juste Ă une longue liste. Dans un blog oĂč Daily Review, journaux de dĂ©veloppement, journaux personnels, conversations GPT-5.5, mĂ©ditations bibliques et astuces sont mĂ©langĂ©s, une simple liste ne peut pas expliquer la structure.
La tùche de cet aprÚs-midi était donc claire.
Transformer le menu mobile et la page des catégories en écrans de navigation qui montrent la structure du blog.
Jâai ajoutĂ© un panneau de catĂ©gories au menu mobile
Le premier commit était a1efaa1.
a1efaa1 [Fix] | Mobile nav: Show category panel
Deux fichiers ont été modifiés.
_includes/masthead.html
_sass/custom/customOverride.scss
Le menu mobile existant reposait sur la structure greedy nav de Minimal Mistakes. Les liens du haut Ă©taient visibles, mais la structure des catĂ©gories de la sidebar, qui est le coeur de ce blog, ne sâouvrait pas directement.
Jâai donc ajoutĂ© dans masthead.html un panneau de catĂ©gories rĂ©servĂ© au mobile.
<nav class="masthead-mobile-menu" aria-label="Catégories mobiles">
<div class="masthead-mobile-menu__quick">
{%- for link in site.data.navigation.main -%}
<a href="{{ link.url | relative_url }}">{{ link.title }}</a>
{%- endfor -%}
</div>
<div class="masthead-mobile-menu__categories">
{%- for nav in site.data.navigation.sidebar-categories -%}
...
{%- endfor -%}
</div>
</nav>
Le point clé était de réutiliser tel quel sidebar-categories dans _data/navigation.yml.
Si la sidebar et le menu mobile regardent des données différentes, ils finiront forcément par diverger. On ajoute une catégorie, elle apparaßt sur desktop, mais pas sur mobile : ce genre de problÚme arrive vite.
Le menu mobile lit donc la mĂȘme source.
Jâai aussi inclus sidebar-nav-stats.html. GrĂące Ă cela, mĂȘme dans le menu mobile, on peut voir le nombre dâarticles et la date du dernier article de chaque catĂ©gorie.
Câest une petite diffĂ©rence, mais dans la navigation rĂ©elle, elle compte beaucoup.
Si seul le nom de la catĂ©gorie est visible, il faut cliquer pour savoir sâil y a quelque chose dedans. Avec le nombre dâarticles et la date rĂ©cente, lâutilisateur distingue tout de suite les catĂ©gories actives de celles qui se sont arrĂȘtĂ©es depuis longtemps.
Jâai dĂ©sactivĂ© les hidden-links existants sur mobile
CĂŽtĂ© SCSS, jâai masquĂ© les .hidden-links existants sur mobile et affichĂ© le nouveau menu quand le toggle est ouvert.
.greedy-nav .hidden-links {
display: none !important;
}
.greedy-nav__toggle.close ~ .masthead-mobile-menu {
display: block;
}
Le nouveau menu est devenu un panneau qui apparaĂźt juste sous la barre du haut.
.masthead-mobile-menu {
position: absolute;
top: 100%;
right: 0;
left: 0;
max-height: min(72vh, 32rem);
overflow-y: auto;
}
Sur mobile, lâimportant nâest pas de tout montrer dâun coup.
Il faut pouvoir voir toute la liste des catĂ©gories sur un petit Ă©cran, mais elle ne doit pas pousser le contenu du corps de page de façon permanente. Le panneau nâapparaĂźt donc que lorsquâil est ouvert, et sâil devient long, il dĂ©file Ă lâintĂ©rieur.
Jâai changĂ© /categories/ dâune liste dâarticles en overview
Le deuxiÚme commit était ee7c436.
ee7c436 [Fix] | Categories: Replace full post archive with overview
Lâancien _layouts/categories.html utilisait directement lâinclude de taxonomy.
{% include posts-taxonomy.html taxonomies=site.categories %}
Je lâai remplacĂ© par un nouvel include.
{% include category-overview.html %}
Puis jâai créé _includes/category-overview.html.
Cet include calcule la structure des catégories du blog à partir de site.posts et de _data/navigation.yml.
Les valeurs calculées ressemblent à ceci.
Nombre total d'articles
Nombre de leaf categories en fonctionnement
Nombre d'articles écrits cette année
Date de publication la plus récente
Catégorie la plus grande
Nombre d'articles par catégorie
Date du dernier article et titre le plus récent par catégorie
à ce moment-là , le category overview contenait aussi une barre de part par catégorie.
{% assign category_share = category_post_count | times: 100 | divided_by: total_post_count %}
Je ne peux pas dire que cet écran était encore parfait. Mais la direction était bonne.
/categories/ nâĂ©tait plus une âlongue liste dâarticles par catĂ©gorieâ. CâĂ©tait devenu un premier Ă©cran qui montre avec quelle structure ce blog fonctionne.
Pourquoi lâoverview Ă©tait nĂ©cessaire
Ce blog nâest pas un blog Ă sujet unique.
Il y a Daily Review, des journaux de dĂ©veloppement, des journaux personnels, des archives de conversations avec lâIA, des mĂ©ditations bibliques et des astuces. Si je veux relancer ce blog GitHub Pages, je dois faire en sorte que cette structure mixte ne devienne pas une faiblesse.
Si tous les articles sont simplement empilĂ©s par ordre chronologique, la structure devient de plus en plus floue Ă mesure quâon lit.
Ă lâinverse, avec un category overview, le lecteur voit dâabord une carte.
Quelles catégories existent ?
Quelles catégories sont réellement actives ?
OĂč les articles rĂ©cents s'accumulent-ils ?
Quel est l'axe le plus important du blog ?
Câest important aussi du point de vue portfolio.
Cela montre que rĂ©parer le blog, ce nâest pas seulement Ă©crire des articles, mais reconstruire la structure de lâinformation. Si jâutilise seulement les fonctionnalitĂ©s par dĂ©faut de Jekyll, les listes dâarticles existent. Mais pour Ă©viter que de vrais lecteurs se perdent, il faut regarder tout le blog comme un produit navigable.
Ce qui a changĂ© aujourdâhui
Les deux commits centraux de cet aprĂšs-midi sont ceux-ci.
a1efaa1 Affichage du panneau de catégories dans le menu mobile
ee7c436 Remplacement de /categories/ par un overview au lieu d'une liste complĂšte d'articles
Par fichier, le périmÚtre était celui-ci.
_includes/masthead.html
_includes/category-overview.html
_layouts/categories.html
_sass/custom/customOverride.scss
Le menu mobile rĂ©utilise sidebar-categories depuis _data/navigation.yml. Le category overview calcule lui aussi les leaf categories Ă partir des mĂȘmes donnĂ©es de navigation.
Câest la partie que jâaime le plus dans le travail dâaujourdâhui.
Je nâai pas créé de nouvelle source de donnĂ©es. Jâai rĂ©utilisĂ© les dĂ©finitions de catĂ©gories que le blog possĂ©dait dĂ©jĂ . RĂ©sultat : la sidebar desktop, le menu mobile et le category overview partagent la mĂȘme structure.
Résultat
Désormais, on peut aussi ouvrir les catégories sur mobile.
Quand on appuie sur le menu du haut, la navigation de base et les groupes de catĂ©gories apparaissent ensemble. Chaque catĂ©gorie affiche aussi le nombre dâarticles et la date du dernier article.
/categories/ nâest plus un long dump dâarticles, mais un overview qui montre la structure du blog. On peut y voir le nombre total dâarticles, le nombre de catĂ©gories actives, le nombre dâarticles de lâannĂ©e, la derniĂšre date de publication et le dernier article de chaque catĂ©gorie.
Il reste encore des choses Ă polir.
Il faudra continuer Ă observer si la barre du category overview aide vraiment la navigation. Il faudra aussi vĂ©rifier la densitĂ© du menu mobile sur de vrais Ă©crans. Mais le coeur dâaujourdâhui est en place.
Si le blog doit recommencer à grandir, écrire des articles ne suffit pas.
Les articles accumulĂ©s doivent redevenir trouvables. Le travail dâaujourdâhui a commencĂ© Ă rĂ©soudre ce problĂšme avec le menu mobile et le category overview.
Laisser un commentaire