- Add language switcher to navbar for bilingual site (FR/EN) - Remove intro page, use presentation as entry point - Add example pages to all documentation categories - Configure categories with generated-index for page listings - Update footer and homepage links to reference presentation - Enhance configuration with best practices: - Add metadata and SEO keywords - Enable RSS/Atom feeds for blog - Configure sitemap generation - Add syntax highlighting for YAML, HCL, Docker - Enable Mermaid diagram support - Configure table of contents settings - Respect user color scheme preferences - Add last update metadata to docs - Fix deprecated onBrokenMarkdownLinks configuration - Create bilingual example pages with practical code examples - Update all i18n translations for consistency This update brings the site in line with Docusaurus 3.x best practices and provides a solid foundation for documentation growth.
71 lines
2.2 KiB
TypeScript
71 lines
2.2 KiB
TypeScript
import React from 'react';
|
|
import clsx from 'clsx';
|
|
import Link from '@docusaurus/Link';
|
|
import useDocusaurusContext from '@docusaurus/useDocusaurusContext';
|
|
import Layout from '@theme/Layout';
|
|
import Heading from '@theme/Heading';
|
|
|
|
import styles from './index.module.css';
|
|
|
|
function HomepageHeader() {
|
|
const {siteConfig} = useDocusaurusContext();
|
|
return (
|
|
<header className={clsx('hero hero--primary', styles.heroBanner)}>
|
|
<div className="container">
|
|
<Heading as="h1" className="hero__title">
|
|
{siteConfig.title}
|
|
</Heading>
|
|
<p className="hero__subtitle">{siteConfig.tagline}</p>
|
|
<div className={styles.buttons}>
|
|
<Link
|
|
className="button button--secondary button--lg"
|
|
to="/docs/presentation">
|
|
Découvrir la documentation
|
|
</Link>
|
|
<Link
|
|
className="button button--secondary button--lg margin-left--md"
|
|
to="/blog">
|
|
Lire le blog
|
|
</Link>
|
|
</div>
|
|
</div>
|
|
</header>
|
|
);
|
|
}
|
|
|
|
export default function Home(): JSX.Element {
|
|
const {siteConfig} = useDocusaurusContext();
|
|
return (
|
|
<Layout
|
|
title={`Accueil`}
|
|
description="Blog technique pour documenter mes recherches et réflexions sur des défis techniques">
|
|
<HomepageHeader />
|
|
<main>
|
|
<section className={styles.features}>
|
|
<div className="container">
|
|
<div className="row">
|
|
<div className="col col--4">
|
|
<h3>Documentation Technique</h3>
|
|
<p>
|
|
Documentation approfondie de mes projets et solutions techniques.
|
|
</p>
|
|
</div>
|
|
<div className="col col--4">
|
|
<h3>Articles de Blog</h3>
|
|
<p>
|
|
Réflexions et analyses sur les défis techniques rencontrés.
|
|
</p>
|
|
</div>
|
|
<div className="col col--4">
|
|
<h3>Partage de Connaissances</h3>
|
|
<p>
|
|
Partage d'expériences et de solutions pour la communauté.
|
|
</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
</main>
|
|
</Layout>
|
|
);
|
|
}
|