Fusion du blog et du site

C'est fait :D

12 minutes

Comme je l'avais dis dans mon article précédante, j'ai pour projet de supprimer ma dépendance à 11ty depuis leur récupération par font-awesome. Pour cela, j'ai décidé (entre autre) de refusionner kazhnuz.space et blog.kazhnuz.space en un seul site. Tout les liens du blog vont donc rediriger vers des liens du site de manière transparente, et le blog sera installé sur le site (ça utilise le moteur du blog, koblog).

Je vais ici donc présenter les modifications qui ont été faite pour créer cette nouvelle version.

L'histoire du blog

J'ai ce blog sous une forme ou d'une autre depuis 2011, avec la forme actuelle datant de ~2017 je crois. La première version était un blog wordpress hébergé sur mon vieux compte free, dont j'ai perdu une partie du contenu (celui qui reste est celui qui était dupliqué avec mon compte deviantART, ou qui provient de ma "vault" précédante).

La forme actuelle a eu de nombreuses formes, ayant été en partie fusionnée avec Quarante-Douze par moment, avant que je sépare vraiment les deux en 2017, quand j'ai acheté le domaine kazhnuz.space.

Le site a depuis eut les périodes suivantes :

  • Un site sous PluXML
  • Un site sous Hexo
  • Un site sous wordpress
  • Deux sites sous eleventy + bludit (puis Koblog)
  • Un seul site sous Koblog (maintenant :D)

En plus de cela, j'ai eu les sous-sites (hors sites de projets) suivants :

  • Une veille sous shaarli (toujours existante)
  • Une "vault" sous son propre site eleventy, puis ensuite transféré au site principal, et désormais à la fusion site-blog

A travers le temps, j'ai souvent hésiter sur les bonnes manières de présenter les choses, ce que j'ai fais, etc. J'espère que cette fois c'est la bonne, déjà le fait que j'ai du contrôle et toutes les fonctionnalités que je veux devraient aider :3

Le problème

Le but est donc d'intégrer tout le contenu du site au blog, de manière simple et transparente, puis d'utiliser le blog sur le site. Cela concerne donc les contenus suivants :

  • Toutes mes slashpages (dont certaines étaient générées dynamiquement à partir d'un gros todo en json)
    • Une page listant dynamiquement tout mes avatars à partir d'un json
  • Une section "fandom" pouvant avoir des pages relativement différentes (les shrines)
  • Une petite page recensant tout mes outils
  • Une page nommé la "grotte du kobold" avec une sous-pages ou je met différent centre d'intérêts du moment
    • Des pages pour tout les dessins qu'on m'a fait
  • Une section "cachée" nommée la vault, ou je remet pleins de mes vieux projets, souvent avec des sous-pages.
  • Des pages pour toutes les anciennes versions du site, classée chronologiquements.

En plus de cela, je voulais intégrer au blog mon système pélican plutôt que de l'avoir sur un site séparé. Le soucis dans tout ça c'est que. Le site et le blog fonctionne de manière différente :

  • Le blog est relativement simple, utilisant des designs peu complexe et permettant d'afficher rapidement pas mal de trucs avec le même design, et une organisation temporelle des éléments.
  • Le site est hautement hiérarchie, avec des pages parents/enfants qui peuvent aller jusqu'à l'infini, et la possibilité de customiser le design par page.

Pour certains sujets, c'est au contraire mieux de pouvoir les gérer de manière chronologique (par exemple les anciennes version ou les cadeaux). Pour d'autres, ce n'est pas l'idéal. En plus de cela, kspace supportaient pas mal d'autres petits trucs. En regardant la liste des éléments, cela m'a donné les trucs suivant à devoir gérer :

  • Pouvoir avoir des catégories "cachée", hors de la liste principale (utiles pour les anciennes versions, les cadeaux, etc).
  • Pouvoir afficher leur contenu facilement dans une page pour positionner correctement l'information.
  • Pouvoir gérer la navigation hiérarchique, accéder facilement aux pages parents et filles.
  • Gérer : le schema fursona, les human.txt, IndieLogin, le schema button 88x31.
  • Améliorer l'adaptation du design aux différents cas de figures.

Cependant, on va commencer par voir là ou j'ai décidé de m'accomoder plutôt des contraintes

Mieux gérer les contraintes

J'avais principalement quatres pages gérées dynamiquement :

J'ai décidé de rendre ces quatre pages des pages "normales" écrites en markdown. La raison en particulier pour cela est que pour les avatars et les réseaux sociaux, ça change peu. Je change rarement d'avatar, étant heureuxe avec ceux que j'ai déjà. Les réseaux sociaux, y'a plus de chance que la liste baisse que monte, ahah.

Pour la page maintenant, je l'ai revu pour plutôt que de montrer les tâches que je fais "là en ce moment-même", plutôt présenter mes grands projets du moments, ce que je fais (notamment je liste plus chaque livre que je suis en train de lire, de toute façon on peut revoir mes lectures sur mon blog). Pour la page todo, j'ai décidé de lister moins de tâches, histoire de pouvoir mieux gérer ça.

Et je trouve que cela fait des pages un peu meilleurs, parce que je dump moins d'informations dessus.

Améliorer la hiérarchie

Koblog est un moteur de blog. Cependant, étant hérité de bludit, il a déjà une fonctionnalité qui va beaucoup servir : les pages parents et enfants. Dans le kazhnuz.space sous eleventy, j'avais une forte hiérarchie de page, avec les pages principales ayant des pages enfant.

Cependant, dans cette hiérarchie, j'avais vraiment deux grands types de pages "enfants"

  • Certaines contenaient des éléments pouvant avoir une date et représentant un moment précis. Un exemple étant la vault, la liste des dessins faits pour moi, ou les anciennes versions.
  • D'autres étaient des sous-pages plus habituelle, par exemple dans la page "grotte" plusieurs des types de trucs que je voulaient présenter.

On va commencer par les secondes ! Pour celles-là, j'ai donc utiliser des pages-filles habituelles. Par exemple, ma page sur GNOME est une page fille de ma page "la grotte du kobold" ou je présente un peu tout mes trucs. Cependant, il me fallait des moyens de naviguer. Pour cela, j'ai rajouté trois systèmes :

  • Dans la sidebar, on a des navigations spéciales vers les pages parents, ayant le même parent, ou enfant. Cela permet de naviguer rapidement dans la hiérarchie, comme c'était possible dans la version eleventy.
  • J'ai rajouté un système de shortcodes, et le shortcode "subpages" permet d'afficher rapidement les pages filles.

Pour les premières, j'ai décidé de rajouter des catégories cachées. Elles sont accessibles et présentées dans différentes des pages où elles sont liées. Pour cela, j'ai rajouté des catégories qui ne sont pas visible, et j'ai rajouté un shortcode qui me permet d'afficher les pages dans un tag ou une catégorie, ce qui permet un accès rapide.

A noter que ces deux fonctionnalités m'en ont permis d'en avoir des nouvelles !

  • Grace à tout ça, c'est possible maintenant d'avoir facilement des dossiers ou des histoires multi-chapitres, en utilisant juste les sous-pages. Je l'ai utilisé en exemple pour ma petite uchronie de SF (dans /vault) ou dans ma fanfic Dawn Chorus (pour gérer les deux fins).
  • Cela m'a aussi permis de faire des liens dynamiques vers les derniers textes écrits dans mes univers !

Autres fonctionnalités

J'ai rajouté pleins d'autres fonctionnalités dont j'avais besoin :

  • Je peux facilement utiliser le markdown non-standard >! pour marquer des spoilers.
  • J'ai rajouté des plugins intégré à koblog pour le protocole 88x31 (qui permet d'avoir un bouton 88x31 associé à son site), les redirections de pages (pour passer des noms anglais de slashpages à ceux français), le IndieLogin (ou j'ai déjà rajouté Codeberg, Gitlab et BlueSky en réseaux supportés), human.txt
  • J'ai créé un plugin custom pour le protocole fursona :3

Et pas mal d'autres trucs qui seront visible dans koblog 1.1 ou disponible en tant que plugins sur ma forge git.

Redesign et nouveaux trucs

Comme vous pouvez voir, j'ai aussi fait un léger redesign, avec une nouvelle topbar et un nouveau footer. Le design possède aussi trois types de design pour les listes d'articles :

  • Les listes de pages simple, qui maintenant peuvent afficher la description et si l'article est un chapitre, ce qui les rends plus pratiques
  • Les listes de miniatures, utilisé dans la catégorie "création graphiques"
  • Les listes de "post de blog", utilisé dans les autres catégories.

J'en ai aussi profité pour rajouter pleins de mes vieux contenus que j'avais pas encore mis sur le blog, pour vraiment faire de mon site l'espace central pour tout ce que je fais ! J'ai donc de nouveaux trucs dans la vault, et remis des vieux poèmes (dont je suis pas forcément fiær mais qui font partie de mon évolution) et dessins.

J'ai aussi intégré ma page sur la bienveillance dans le JDR au blog.

Ce qu'il me reste à faire

Ce n'est pas encore fini ! Déjà, la peinture est un peu fraiche, donc faut que je mette à jour des trucs (genre je vois que toutes les traductions ne sont pas faites #oups)

J'ai aussi les trucs suivants que je veux faire :

  • Fouiller mes disques dur pour remettre d'autres vieux trucs pontentiellement intéressant dans la Vault (idem pour des vieux trucs dA que j'aurais oublié)
  • Ajouter la catégorie "Roman et Recueils" pour mes formats longs.
  • Rajouter la V1 d'Ailleurs dans la vault, pour être 100% indépendant de mon deviantART. Peut-être aussi rajouter dedans les V1 de Thermidor et La fin d'un clan ?
  • Peut-être split la catégorie "Texte courts" ? Peut-être en genre "nouvelles et oneshots", "poésies", "contes et légendes" ?
  • Une fois que la version 1.2 de pélican sera faite, remplacer le site pélican par un article sur le blog.
  • Remettre un petit widget calendrier révolutionnaire comme sur les anciennes versions du blog.

Et maintenant, je vais m'attaquer à un second gros site à faire : la nouvelle version de Sonic Garden, mon fansite Sonic.