Composants
Tous les composants Ardo dans la véritable mise en page, avec exemples MDX et props.
Sur cette page
Ardo fournit encadrés, badges, cartes, onglets, accordéons, étapes, blocs de code, icônes et éléments de page d’accueil. Ils suivent les thèmes clair et sombre et fonctionnent au clavier. Les exemples utilisent la véritable mise en page : changez le thème ou la taille de fenêtre pour les examiner.
En MDX, utilisez Tip, Card et Tabs sans import. En TSX, importez leurs variantes préfixées par Ardo depuis ardo/ui, par exemple ArdoTip, ArdoCard et ArdoTabs. Les composants de page d’accueil nécessitent un import explicite dans les deux formats.
Encadrés
Choisissez la variante adaptée. Les cinq utilisent les tokens du thème et acceptent un titre personnalisé.
Regrouper les instructions liées
Placez les conseils courts à côté de la tâche dans un encadré.
Sortie statique
Ardo prérend les routes pendant le build de production.
Configuration facultative
Le frontmatter peut remplacer le titre et l’ordre dans la barre latérale.
Vérifier la destination
Vérifiez le chemin de base avant de publier un site versionné.
Exemple destructif
Exportez vos données avant de remplacer un dossier contenant du travail à conserver.
<Tip title="Keep related instructions together">Put the guidance next to the task.</Tip>
Ces variantes existent aussi comme alertes GitHub en Markdown simple.
Badges
Les badges ajoutent un statut compact dans le texte : Nouveau Stable Aperçu Obsolète Référence Avec icône.
<Badge variant="success">Stable</Badge>
<Badge icon="✦">With icon</Badge>
Cartes
Utilisez les cartes liées pour naviguer et les cartes statiques pour résumer. La grille passe à une colonne sur petit écran.
Bien démarrer
Créez votre documentation avec un assistant ou manuellement.
Configuration
Configurez routes, référence API, métadonnées et sortie.
Composants locaux
Importez les composants du projet ou d’un paquet installé.
Code source
Examinez l’implémentation et contribuez sur GitHub.
<CardGroup cols={2}>
<Card title="Getting Started" icon="Rocket" href="/guide/getting-started">
Set up a documentation site.
</Card>
<Card title="Local components" icon="Code">
Import components into your MDX routes.
</Card>
</CardGroup>
| Composant | Prop | Type | Usage |
|---|---|---|---|
CardGroup | cols | 1 | 2 | 3 | 4 | Nombre de colonnes sur grand écran. Défaut : 2. |
CardGroup | children | ReactNode | Cartes de la grille responsive. |
Card | title | string | Titre obligatoire. |
Card | href | string | Destination interne ou externe facultative. Rend la carte cliquable. |
Card | icon | string | ReactNode | Nom d’icône enregistré ou contenu React. |
Card | children | ReactNode | Contenu de la carte. |
Card | className | string | Classe CSS supplémentaire. |
Onglets
Les onglets conviennent aux choix équivalents, tels les gestionnaires de paquets. Sélectionnez-en un ou utilisez Gauche, Droite, Début et Fin après l’avoir ciblé.
pnpm add ardo<Tabs defaultValue="pnpm">
<TabList>
<Tab value="pnpm">pnpm</Tab>
<Tab value="npm">npm</Tab>
</TabList>
<TabPanels>
<TabPanel value="pnpm">pnpm add ardo</TabPanel>
<TabPanel value="npm">npm install ardo</TabPanel>
</TabPanels>
</Tabs>
Si vos composants créent les onglets en interne, définissez defaultValue sur Tabs et des valeurs value explicites correspondantes sur chaque paire.
| Composant | Prop | Type | Usage |
|---|---|---|---|
Tabs | defaultValue | string | Onglet initial. Défaut : le premier. |
Tabs | children | ReactNode | TabList et TabPanels correspondants. |
Tab | value | string | Valeur stable associée au TabPanel. Facultative si l’ordre est stable. |
Tab | children | ReactNode | Libellé de l’onglet. |
TabPanel | value | string | Valeur du contenu. Facultative si l’ordre correspond. |
TabPanel | children | ReactNode | Contenu du panneau. |
Accordéons
Placez les explications facultatives dans un accordéon. Avec onlyOneOpen, ouvrir un élément ferme l’autre. Espace et Entrée ouvrent ou ferment ; Haut et Bas déplacent le focus.
Oui. Importez un composant dans MDX et affichez-le à côté du texte.
Oui. Le build contient du HTML prérendu et des fichiers statiques.
<AccordionGroup onlyOneOpen>
<Accordion title="Can I use React components?" icon="Code">
Yes. Import a component into an MDX route.
</Accordion>
<Accordion title="Does it work without a server?" icon="Server">
Yes. The production build contains static files.
</Accordion>
</AccordionGroup>
Un accordéon indépendant peut être ouvert initialement :
Étapes
Entourez une liste ordonnée avec Steps. Chaque étape accepte texte, liens et blocs de code.
- Créez une route d’accueil dans
app/routes. - Rédigez un guide et liez-le depuis l’accueil.
- Construisez le site et corrigez les liens internes cassés.
<Steps>
<ol>
<li>Create a home route.</li>
<li>Write a guide.</li>
<li>Build the site.</li>
</ol>
</Steps>
Blocs de code
Le bouton de copie prend le code sans titre ni numéros de ligne. Les blocs Markdown sont colorés au build ; CodeBlock accepte aussi directement une chaîne.
pnpm add ardo<CodeBlock language="bash" title="terminal" code="pnpm add ardo" />
CodeGroup regroupe les extraits liés avec leur nom de fichier :
import { defineArdoConfig } from "ardo/config"
export default defineArdoConfig({ title: "My docs" })Les blocs Markdown acceptent titres, lignes mises en évidence, numéros et retours à la ligne pour les prompts ; voir Coloration syntaxique.
Dans les routes TSX
Utilisez ArdoCodeBlock directement dans les routes .tsx. Écrivez le code comme contenu enfant, sans littéral de gabarit ni échappement particulier :
import { ArdoCodeBlock } from "ardo/ui"
export default function MyPage() {
return (
<ArdoCodeBlock language="tsx">
export function Hello() {
return <div>Hello world!</div>
}
</ArdoCodeBlock>
)
}
Le plugin ardo:codeblock-highlight traite ArdoCodeBlock avant l’analyse JSX. Le contenu accepte donc <, {, > et toute autre syntaxe. L’indentation commune est retirée.
La prop code et les littéraux de gabarit fonctionnent aussi :
<ArdoCodeBlock code="const x = 42" language="typescript" />
Si language est dynamique, la coloration au build est ignorée et le code s’affiche en texte brut.
Icônes
Ardo inclut 50 icônes Streamline Core Line. Elles partagent la grille 14×14, les traits arrondis et currentColor des contrôles de navigation.
Les icônes enregistrées apparaissent en 14 et 28 pixels. Utilisez leur nom avec Icon ou importez le composant depuis ardo/icons.
ArchiveArrowRightBookOpenBookmarkBranchBugCheckClockCloudCodeCopyDatabaseDownloadExternalLinkFileCodeFileTextFlagFolderGlobeHelpHistoryImageInfoLanguagesLayersLayoutGridLightbulbLinkListListChecksLockMessageCirclePackagePencilPlugRocketSearchServerSettingsShieldCheckTableTerminalTestTubeTriangleAlertUploadUserUsersWorkflowWrenchZap
Utiliser dans MDX
Les 50 icônes Core sont disponibles sans import ni enregistrement :
<Icon name="Zap" size={20} />
<Card title="Deploy your site" icon="Rocket">
Build the static output and publish it to your host.
</Card>
| Composant | Prop | Type | Usage |
|---|---|---|---|
Icon | name | string | Nom d’icône enregistré. |
Icon | size | number | Taille d’affichage facultative. |
Icon | SVG props | SVGAttributes<SVGSVGElement> | Transmises au composant SVG enregistré. |
Utiliser dans React
import { BookOpen, Rocket, ShieldCheck } from "ardo/icons"
<BookOpen size={20} />
<Rocket size={28} className="launch-icon" />
<ShieldCheck size={20} aria-label="Security checks passed" />
La taille par défaut est 24 px. size accepte un nombre ou une longueur CSS ; vous pouvez aussi définir width et height. Les icônes héritent de la couleur du texte et sont décoratives par défaut. Ajoutez aria-label ou aria-labelledby si elles transmettent une information sans texte.
ArdoIcon affiche une icône enregistrée par son nom, par exemple dans un lien :
import { ArdoIcon, ArdoLink } from "ardo/ui"
export function LaunchLink() {
return (
<ArdoLink to="/guide/getting-started">
<ArdoIcon name="Rocket" aria-hidden /> Get started
</ArdoLink>
)
}
Ajouter ou remplacer des icônes
Enregistrez d’autres composants SVG React et icônes de marque avec registerIcons() dans app/root.tsx:
import { Github } from "ardo/icons"
import { registerIcons } from "ardo/ui"
registerIcons({ Github })
Utilisez ensuite <Icon name="Github" /> dans MDX. Un nom existant remplace son icône intégrée. Déclarez les autres bibliothèques comme dépendances directes et importez-les dans le module d’enregistrement.
getRegisteredIconNames() renvoie les noms intégrés et personnalisés pour valider la configuration.
Choisir une icône
Utilisez ces noms dans les imports ardo/icons ou dans MDX. Les icônes ci-dessous font 20 px.
Contenu et navigation
| Icon | Export | Usage suggéré |
|---|---|---|
Archive | Archives et anciennes versions | |
ArrowRight | Étapes suivantes et actions | |
Bookmark | Références et informations enregistrées | |
BookOpen | Guides et tutoriels | |
Copy | Copie de code et de valeurs | |
Download | Téléchargements et exports | |
ExternalLink | Ressources externes | |
FileText | Documents et textes | |
Folder | Dossiers et collections | |
Image | Captures et images | |
Link | Renvois et ressources liées | |
List | Listes et sommaires | |
Table | Données structurées et comparaisons | |
Upload | Envois et imports |
Développement et livraison
| Icon | Export | Usage suggéré |
|---|---|---|
Branch | Branches, forks et gestion de versions | |
Bug | Problèmes connus et débogage | |
Code | Exemples de code et référence API | |
FileCode | Sources et configuration | |
Package | Paquets et dépendances | |
Plug | Intégrations et connexions | |
Rocket | Lancements et déploiement | |
Terminal | Outils CLI et exemples shell | |
TestTube | Tests et expériences | |
Zap | Vitesse et actions rapides |
Infrastructure et sécurité
| Icon | Export | Usage suggéré |
|---|---|---|
Cloud | Hébergement cloud et services gérés | |
Database | Stockage et persistance | |
Globe | Sites et disponibilité mondiale | |
Layers | Architecture et couches | |
Lock | Authentification et accès | |
Server | Serveurs et services backend | |
ShieldCheck | Sécurité et qualité |
Personnes et communication
| Icon | Export | Usage suggéré |
|---|---|---|
Languages | Traduction et localisation | |
MessageCircle | Communauté, retours et discussions | |
User | Comptes et profils | |
Users | Équipes et collaboration |
Conseils et découverte
| Icon | Export | Usage suggéré |
|---|---|---|
Flag | Démarrage et jalons | |
Help | FAQ et assistance | |
Info | Contexte et explications | |
Lightbulb | Concepts et conseils | |
Search | Recherche et dépannage | |
TriangleAlert | Avertissements et limites |
Planification et maintenance
| Icon | Export | Usage suggéré |
|---|---|---|
Check | Étapes terminées et résultats réussis | |
Clock | Temps et changements récents | |
History | Journaux de modifications | |
LayoutGrid | Composants et fonctionnalités | |
ListChecks | Listes de contrôle et prérequis | |
Pencil | Édition et contributions | |
Settings | Réglages et configuration | |
Workflow | Processus et automatisation | |
Wrench | Configuration et maintenance |
Icônes de marque et licence
Github, Linkedin, Npm, Twitter et Youtube sont également disponibles depuis ardo/icons, avec des alias Icon tels GithubIcon. Les marques conservent leurs proportions et les couleurs suivent currentColor.
Les icônes Core sont © Streamline Design Inc., utilisées sous Streamline Premium License au sein d’Ardo. La licence MIT d’Ardo ne les couvre pas. Consultez ICONS-LICENSE.md pour la redistribution et l’attribution.
Hero et fonctionnalités
Hero et Features composent les pages d’accueil. Ce hero compact présente texte secondaire et actions. Sur l’accueil, name fournit le titre principal ; image et badge de version sont facultatifs.
Votre projet, expliqué clairement.
Guides, référence API et exemples React. Un point de départ clair pour vos lecteurs.
image={{ light, dark, alt }} fournit une image par thème. Une URL ou { light, alt } utilise la même image ; un élément React peut afficher une illustration intégrée.
Écrire en MDX
Réunissez documentation et exemples React dans une route.
Publier des fichiers statiques
Générez le HTML et les ressources pour votre hébergeur.
import { ArdoHero as Hero } from "ardo/ui"
<Hero
name="My project"
text="Documentation for your team"
actions={[{ text: "Read the guide", link: "/guide/getting-started" }]}
/>
Mise en page et navigation
Cette page montre la véritable mise en page : en-tête, sections, barre latérale, fil d’Ariane, article, sommaire, actions et pied de page. Sur petit écran, ouvrez menu et sommaire. Testez la recherche et le thème dans l’en-tête.
Mise en page et navigation décrit la composition et Thèmes la palette. Les exemples héritent des réglages sans thème d’aperçu distinct.