Amélioration configuration Docusaurus et implémentation i18n

- 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.
This commit is contained in:
Tellsanguis 2025-11-15 14:57:36 +01:00
parent fda75fdd28
commit aba46f671c
13 changed files with 558 additions and 85 deletions

View file

@ -0,0 +1,60 @@
---
sidebar_position: 2
---
# Example
This is an example page in the Current Homelab category.
## Description
This page demonstrates how to document a service or configuration of the current homelab.
## Docker Compose Configuration
Example service configuration:
```yaml
version: '3.8'
services:
example-service:
image: nginx:latest
container_name: example
ports:
- "8080:80"
volumes:
- ./config:/etc/nginx/conf.d
restart: unless-stopped
```
## Ansible Playbook
Deployment example with Ansible:
```yaml
---
- name: Deploy example service
hosts: homelab
become: yes
tasks:
- name: Copy docker-compose file
copy:
src: docker-compose.yml
dest: /opt/example/docker-compose.yml
- name: Start the service
command: docker-compose up -d
args:
chdir: /opt/example
```
## Maintenance
Important maintenance points:
- Regular backups
- Docker image updates
- Log monitoring
- Restore testing

View file

@ -0,0 +1,153 @@
---
sidebar_position: 2
---
# Example
This is an example page in the Future Homelab category.
## Description
This page demonstrates how to document Kubernetes configurations and deployments for the future homelab.
## Kubernetes Deployment
Example deployment manifest:
```yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: example-app
namespace: production
spec:
replicas: 3
selector:
matchLabels:
app: example
template:
metadata:
labels:
app: example
spec:
containers:
- name: app
image: nginx:latest
ports:
- containerPort: 80
resources:
limits:
cpu: 100m
memory: 128Mi
requests:
cpu: 50m
memory: 64Mi
---
apiVersion: v1
kind: Service
metadata:
name: example-service
namespace: production
spec:
selector:
app: example
ports:
- port: 80
targetPort: 80
type: ClusterIP
```
## OpenTofu Configuration
Example infrastructure resource:
```hcl
resource "kubernetes_namespace" "production" {
metadata {
name = "production"
labels = {
environment = "production"
managed-by = "opentofu"
}
}
}
resource "kubernetes_deployment" "example" {
metadata {
name = "example-app"
namespace = kubernetes_namespace.production.metadata[0].name
}
spec {
replicas = 3
selector {
match_labels = {
app = "example"
}
}
template {
metadata {
labels = {
app = "example"
}
}
spec {
container {
image = "nginx:latest"
name = "app"
resources {
limits = {
cpu = "100m"
memory = "128Mi"
}
requests = {
cpu = "50m"
memory = "64Mi"
}
}
}
}
}
}
}
```
## GitOps with ArgoCD
ArgoCD Application configuration:
```yaml
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: example-app
namespace: argocd
spec:
project: default
source:
repoURL: https://forgejo.tellserv.fr/Tellsanguis/k8s-manifests.git
targetRevision: HEAD
path: apps/example
destination:
server: https://kubernetes.default.svc
namespace: production
syncPolicy:
automated:
prune: true
selfHeal: true
syncOptions:
- CreateNamespace=true
```
## Observability
Monitoring points for this service:
- Prometheus metrics exposed on `/metrics`
- Logs aggregated in Loki
- Distributed traces with Tempo
- Alerts configured in Prometheus AlertManager

View file

@ -1,32 +0,0 @@
---
sidebar_position: 1
---
# Introduction
Welcome to **TellServ Tech Blog**!
This technical blog documents my research, thoughts and solutions to technical challenges encountered in my projects. The goal is to:
- 📚 **Document** my learnings and discoveries
- 🔍 **Share** my analyses and solutions
- 💡 **Demonstrate** my technical skills
- 🤝 **Contribute** to the community
## Site Structure
### Documentation
The documentation section contains in-depth technical guides, tutorials and references for my projects.
### Blog
The blog features articles on:
- Technical problem solving
- Architecture analysis
- Experience feedback
- New technologies and tools
## About
This site is built with [Docusaurus](https://docusaurus.io/), hosted on Cloudflare Pages and the source code is available on [GitHub](https://github.com/Tellsanguis/blog_technique) and [Forgejo](https://forgejo.tellserv.fr).

View file

@ -0,0 +1,34 @@
---
sidebar_position: 2
---
# Example
This is an example page in the Concepts category.
## Description
This page demonstrates how to structure content in a category. It can contain:
- Detailed explanations
- Code examples
- Diagrams
- References
## Usage
You can duplicate this page to create new articles in this category.
### Configuration
To add a new page, create a `.md` file in the `docs/notions/` folder with the appropriate front matter:
```yaml
---
sidebar_position: 3
---
```
### Content
Content can be written in Markdown or MDX to include custom React components.

View file

@ -1,7 +1,3 @@
---
sidebar_position: 1
---
# About Me
Coming soon.