blog_tech/src/pages/index.tsx
Tellsanguis 4cb45361df Improve Docusaurus configuration and i18n implementation
- 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.
2025-11-15 15:00:45 +01:00

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>
);
}