Documentation - Installation.
Découvrez Marssel : un framework CSS intelligent, configuration minimale, conçu pour des interfaces rapides et une expérience développeur simplifiée.
Démarrage
Concepts de base
Utilitaires
Installation
Installez Marssel en quelques étapes simples et commencez à construire des interfaces modernes en un clin d'œil.
Via NPM (Recommandé)
La méthode recommandée pour installer Marssel est via npm :
npm install @marssel-vb/marssel
Via Yarn
Si vous préférez Yarn :
yarn add @marssel-vb/marssel
Initialisation de base
Importez et initialisez Marssel dans votre fichier JavaScript principal :
import { MarsselBundle } from '@marssel-vb/marssel';
const { Marssel } = MarsselBundle;
// Initialiser avec la configuration par défaut
const app = new Marssel();
Génération des fichiers manifest
Après l'installation via npm, vous pouvez générer automatiquement les fichiers manifest pour les fonts et les icons :
# Générer le manifest des fonts
node node_modules/@marssel-vb/marssel/generators/generate-fonts-manifest.mjs
# Générer le manifest des icons
node node_modules/@marssel-vb/marssel/generators/generate-icons-manifest.mjs
Par défaut, ces commandes génèrent les manifests dans :
- public/js/fonts-manifest.json
- public/js/icons-manifest.json
Vous pouvez personnaliser les chemins avec des options :
# Options pour les fonts
node node_modules/@marssel-vb/marssel/generators/generate-fonts-manifest.mjs \
--fonts public/fonts \
--manifest public/js/fonts-manifest.json \
--pretty
# Options pour les icons
node node_modules/@marssel-vb/marssel/generators/generate-icons-manifest.mjs \
--icons public/images/icons \
--manifest public/js/icons-manifest.json \
--pretty
Options disponibles :
- --fonts : Chemin du dossier contenant les fonts
- --icons : Chemin du dossier contenant les icons
- --manifest : Chemin de sortie du fichier manifest
- --pretty : Formater le JSON de manière lisible
Configuration des fichiers manifest
Pour que Marssel fonctionne correctement, vous devez créer deux fichiers de configuration dans votre dossier public/js :
//fonts-manifest.json
{
"fonts": []
}
//icons-manifest.json
{
"icons": []
}
Ces fichiers permettent à Marssel de gérer efficacement le chargement des polices et icônes utilisées dans votre projet.
Prévention du FOUC (Flash of Unstyled Content)
Parce que Marssel génère les styles dynamiquement en JavaScript, il y a un court instant où le HTML est affiché avant que les styles ne soient prêts. Cela provoque un "flash de contenu non stylisé" (FOUC).
Pour éviter cela, la solution la plus performante est d'insérer un petit bloc de CSS "critique" directement dans le <head> de votre page.
Copiez l'intégralité du bloc <style> ci-dessous et collez-le dans le <head> de votre document, avant tout autre lien CSS :
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Mon projet Marssel</title>
<style>
* {
box-sizing: border-box;
}
*::before,
*::after {
box-sizing: border-box;
}
body:not(.marssel-ready) {
opacity: 0;
visibility: hidden;
}
body:not(.marssel-ready) .cookies-wrapper {
opacity: 0;
visibility: hidden;
display: none;
}
body:not(.marssel-ready) header,
body:not(.marssel-ready) footer {
opacity: 0;
visibility: hidden;
}
body.marssel-ready {
opacity: 1;
visibility: visible;
transition: opacity 0.2s ease-in;
}
body.marssel-ready header,
body.marssel-ready footer {
opacity: 1;
visibility: visible;
transition: opacity 0.15s ease-in;
}
p,h1,h2,h3,h4,h5,h6,span {
margin-block-start: 0;
margin-block-end: 0;
}
</style>
<script type="module" src="/js/app.js"></script>
</head>
<body>
// Votre contenu HTML ici
</body>
</html>
Téléchargement direct
Si vous préférez ne pas utiliser de gestionnaire de paquets, vous pouvez télécharger directement les fichiers sources :
Télécharger le ZIP de la sourcePour parcourir le code ou signaler un bug, visitez la page GitHub officielle.
votre-projet/
├── public/
│ ├── js/
│ │ ├── marssel/ # Dossier extrait
│ │ ├── fonts-manifest.json
│ │ └── icons-manifest.json
│ └── index.html
└── ...
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<title>Mon projet Marssel</title>
<script type="module">
import { MarsselBundle } from '@marssel-vb/marssel';
const { Marssel } = MarsselBundle;
const app = new Marssel({
lazyload: true
});
</script>
</head>
<body>
// Votre contenu HTML ici
</body>
</html>
Utilisation de composants spécifiques
Si vous souhaitez utiliser uniquement certains composants sans initialiser tout le framework :
import { CarouselManager, ModalManager } from '@marssel-vb/marssel';
const carousel = new CarouselManager();
const modal = new ModalManager();