Thème starter
Un départ net, accessible dès le premier commit
Kaishi est un thème starter qui emprunte la retenue d'Apple — en-tête translucide fixe, contrôles en pastille, typographie généreuse — et tient chaque paire de couleurs au niveau WCAG AAA plutôt qu'AA.
Fait pour publier vite
Aucune chaîne de construction
Pas de npm install, pas de bundler, pas de fichier de verrouillage. Vous éditez du Markdown, lancez un binaire et déployez le dossier.
Rien ne téléphone à la maison
Aucun CDN, hébergeur de polices, mesure d'audience ou gestionnaire de balises. Il n'y a rien à déclarer dans un bandeau de consentement.
Accessible par défaut
Les jetons de couleur sont validés au niveau AAA pour le texte ; les parcours clavier et les états de focus sont vérifiés en intégration continue.
Recherche incluse
Le générateur injecte une boîte de dialogue de recherche accessible, avec un compte de résultats en région live. Le thème se contente de l'habiller.
Flux inclus
RSS, Atom et JSON Feed sont générés depuis le même contenu et référencés dans l'en-tête du document.
Un seul fichier à redécliner
Toute la palette tient dans un bloc de jetons en tête de styles.css. Change it, run the gate.
À qui cela s'adresse
Kaishi convient à un premier site : une page personnelle, un petit produit ou la vitrine publique d'un projet libre. Il vous donne la retenue visuelle d'Apple sans le travail de recherche, et un plancher d'accessibilité sous lequel vous ne pouvez pas tomber par accident.
Pour un portfolio d'études de cas, utilisez Apex. Pour des textes longs ou de la recherche, utilisez Atlas. Pour de la documentation, utilisez Lucid.
Ce qui fait Kaishi
L'allure repose sur trois détails, tous portés par des jetons plutôt que par le balisage :
- Un en-tête translucide. Le bandeau floute la page derrière lui, mais seulement là où
backdrop-filterest pris en charge. Partout ailleurs il reste opaque, de sorte que la paire de contraste vérifiée par la porte de qualité est bien celle qui est livrée. - Des contrôles en pastille. Les boutons utilisent un rayon de 980 px plutôt que
50%: un bouton large garde donc des extrémités en demi-cercle au lieu de se déformer en ellipse. - Des cartes douces. Un angle de 24 px et une ombre à peine perceptible, plutôt qu'une bordure qui ferait tout le travail.
Accessibilité
Chaque paire de couleurs de ce thème est vérifiée au niveau AAA (7:1) pour le texte par scripts/contrast.py en intégration continue — pas AA, et pas à l'œil. Le mode sombre est vérifié comme une palette à part entière, et c'est précisément là que les thèmes échouent d'ordinaire : un gris atténué qui se lit bien sur blanc devient souvent invisible sur noir.
Ce que « sans étape de build » signifie
Il n'y a pas de package.json. La feuille de style est écrite à la main, en CSS, avec des couches de cascade et des propriétés personnalisées que tous les navigateurs visés prennent en charge nativement. Les deux fichiers JavaScript totalisent moins de 4 Ko en ES5 : pas de transpileur, pas de polyfill, pas de graphe de modules.
Pour travailler sur le thème, vous lancez le générateur et vous rafraîchissez. C'est toute la boucle.
L'étendre
Ajouter une page, c'est deux fichiers : un fichier Markdown dans content/ et une mise en page dans _layouts/ qui commence par {{#extends "base"}}. L'en-tête, le pied de page et la coque du document suivent automatiquement, si bien qu'une nouvelle page démarre à environ huit lignes.