WP Manifestindependent plugin directory
manifest / editor / mahii-blocks

Mahii Blocks

Antoher awesome wordpress gutenberg blocks plugin

★ 0stars

Install

Download source zip No release zip yet

This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/mahiiro/mahii-blocks/archive/refs/heads/main.zip
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

Plugin WordPress de blocs Gutenberg, scaffoldé avec @wordpress/create-block.

Prérequis

  • Node.js 20.10.0 ou supérieur
  • npm
  • Docker (pour @wordpress/env)
  • WordPress 6.8+ / PHP 7.4+ (cible de développement : PHP 8.5)

Démarrage rapide

npm install
npm start

Environnement WordPress local :

npm run env start

Site en général : http://localhost:8888 (admin / password).

Blocs

Bloc Nom technique Description
Navigation Mahii mahii/navigation Menu responsive mobile-first, overlay type core, burger configurable
Élément de navigation mahii/nav-item Page / URL / libellé + sous-menus récursifs + icône
Carousel de logos mahii/logo-carousel Défilement CSS pur, fondu latéral, pause au survol
FAQ mahii/faq Section FAQ SEO-friendly, items ouverts par défaut
Question FAQ mahii/faq-item Question / réponse (<details open>)

FAQ

  • Markup <section> + <details open> : contenu toujours dans le HTML (crawlable, utile aux LLM)
  • Pas de JSON-LD FAQPage : Google a retiré les rich results FAQ (mai 2026) ; le schema ne produit plus de résultat enrichi. Le contenu visible reste le signal utile.
  • Ouvert par défaut ; +/− à droite en CSS pur (traits 15×1 px), zone cliquable ~44×44 px
  • Aucun JS front (API native details/summary, clavier + lecteurs d’écran)
  • Couleur et taille de police des questions via les contrôles Gutenberg du bloc FAQ

Carousel de logos

  • Animation 100 % CSS (transform: translate3d, boucle fluide via piste dupliquée)
  • Aucun viewScript / pas de JS front
  • Fondu blanc → transparent sur les bords (couleur réglable)
  • Pause au survol / focus-within
  • Respect de prefers-reduced-motion (bandeau statique)
  • Images en loading="lazy" + decoding="async", taille média medium

Navigation Mahii

  • Breakpoint réglable (défaut 1024px) : burger + overlay en dessous
  • Burger : mode CSS (2 ou 3 traits, épaisseur, coins, taille) ou deux images SVG (ouvert / fermé)
  • Sous-menus : bouton d’ouverture, icône SVG configurable, popover desktop / accordéon mobile
  • Items :
    • lien page (ID → permalien dynamique)
    • lien URL http(s):
    • libellé sans lien (parent de sous-menu)
    • option Style bouton → classes is-style-button / wp-block-mahii-nav-item--button (à styler en CSS)
    • page courante : is-current + aria-current="page" ; parent d’un courant : has-current
    • niveau : is-level-1, is-level-2, … sur le <li> et le lien / bouton
  • Icône d’item : MediaUpload dans l’inspecteur

Structure

mahii-blocks/
├── mahii-blocks.php
├── src/
│   ├── navigation/
│   ├── nav-item/
│   ├── logo-carousel/
│   ├── faq/
│   └── faq-item/
├── build/                 # généré
├── .cursor/rules/         # bonnes pratiques Cursor
└── README.md

Scripts npm

Commande Description
npm start Build développement (watch)
npm run build Build production
npm run format Formatage
npm run lint:js / lint:css Linting
npm run plugin-zip Archive du plugin
npm run env start WordPress via Docker

Bonnes pratiques

Règles Cursor dans .cursor/rules/ : PHP 8.5, plugin WordPress, accessibilité, éco-conception.

Licence

GPL-2.0-or-later