Ce bloc-notes mdBook vous est proposé avec passion par Marc JESTIN — Happy Numeric.
À votre service pour vous accompagner dans vos projets numériques.
Contact : https://happynumeric.fr/me-contacter.


mdBook : Markdown : Blocs de codes

Le caractère ` est obtenu avec la combinaison de touches « ALTGR » + « 7 » suivi d'un appui sur « ESPACE » (ou deux fois « 7 » en maintenant « ALTGR » enfoncée).

Pour insérer un bloc de code, le langage Markdown propose d'utiliser ``` pour identifier le début et la fin du bloc de code.

Les délimiteurs sont placés sur la ligne au-dessus et la ligne en dessous du contenu du bloc code.

Par exemple :

```
> « Ceci est une citation. »
```

affiche :

> « Ceci est une citation. »

Nous pouvons indiquer le langage utilisé dans le bloc code (pour la mise en relief des éléments syntaxiques, réalisée par highlight.js).

C'est le cas ici :

```rust
#![allow(unused)]
#![deny(missing_docs)]

fn main() {
use log::{debug, trace, warn};
use serde::{Deserialize, Deserializer, Serialize, Serializer};
use std::collections::HashMap;
use std::env;
use std::fs::File;
use std::io::Read;
use std::path::{Path, PathBuf};
use std::str::FromStr;
use toml::value::Table;
use toml::{self, Value};

use crate::errors::*;
use crate::utils::{self, toml_ext::TomlExt};

/// The overall configuration object for MDBook, essentially an in-memory
/// representation of `book.toml`.
#[derive(Debug, Clone, PartialEq)]
pub struct Config {
    /// Metadata about the book.
    pub book: BookConfig,
    /// Information about the build environment.
    pub build: BuildConfig,
    /// Information about Rust language support.
    pub rust: RustConfig,
    rest: Value,
}
}
```

qui affiche :

#![allow(unused)]
#![deny(missing_docs)]

fn main() {
use log::{debug, trace, warn};
use serde::{Deserialize, Deserializer, Serialize, Serializer};
use std::collections::HashMap;
use std::env;
use std::fs::File;
use std::io::Read;
use std::path::{Path, PathBuf};
use std::str::FromStr;
use toml::value::Table;
use toml::{self, Value};

use crate::errors::*;
use crate::utils::{self, toml_ext::TomlExt};

/// The overall configuration object for MDBook, essentially an in-memory
/// representation of `book.toml`.
#[derive(Debug, Clone, PartialEq)]
pub struct Config {
    /// Metadata about the book.
    pub book: BookConfig,
    /// Information about the build environment.
    pub build: BuildConfig,
    /// Information about Rust language support.
    pub rust: RustConfig,
    rest: Value,
}
}

(Il s'agit d'un extrait du fichier config.rs du code source de mdBook).

Fonctions associées aux blocs de code

Comme vous pouvez vous en apercevoir en passant la souris au dessus du bloc de code ci-avant, les blocs de code bénéficient de fonctions particulières, comme la fonction « copier » pour copier le contenu du bloc dans le presse-papiers.

Exclusivités Rust

Les codes Rust bénéficient de fonctions supplémentaires pour les tester dans un outil mis à disposition de la communauté :

  • le « Run this code » pour compiler le code et le compiler puis (éventuellement) l'exécuter, via un outil de la communauté Rust, directement dans la page : très intéressant pour réaliser des documentations et tutoriels Rust donc ! ;
  • le « Show hidden » pour afficher des parties de code qui peuvent être masquées pour améliorer la lisibilité. C'est le cas dans notre exemple ici, si vous voulez tester.

D'autres fonctions avancées sont possibles moyennant quelques options comme :

  • la modification du code par l'internaute directement dans le bloc de code ;
  • la numérotation automatique des lignes ainsi le masquage de parties du code ;
  • etc.

Position des ```

Note : je vous ai indiqué de disposer les ``` au dessus et en dessous du contenu car nous cherchons à afficher un bloc de code.

Il est possible d'utiliser les ``` dans la même ligne pour affiche un code dans un paragraphe (et non un bloc de code).

Par exemple :

J'ai envie d'écrire ```Ceci est un code``` et je le fais.

affiche :

J'ai envie d'écrire Ceci est un code et je le fais.

Nombre de `

Comme nous avons vu qu'il est possible de doubler le ` dans le cas de l'insertion d'un code dans un paragraphe, nous pouvons en ajouter un quatrième pour encadrer un bloc de code dans lequel nous souhaitons afficher ```.

Par exemple :

````
```
Ceci est un code
```
````

Affiche :

```
Ceci est un code
```

Ou encore :

J'ai envie d'écrire ```` ``` ````.

affiche :

J'ai envie d'écrire ```.

Alternative Markdown : la tabulation

Nous pouvons utiliser une tabulation pour indiquer qu'un texte est un bloc de code.

Par exemple

	Ceci est un code

affiche :

Ceci est un code

Je recommande d'utiliser la notation explicite avec les ``` avant et après le texte car c'est la méthode décrite dans la documentation mdBook officielle et que c'est la méthode la plus lisible, sûre, et extensible.


Ce bloc-notes mdBook vous est proposé par Marc JESTIN — Happy Numeric.
Formation, rédaction de documentations techniques ou organisationnelles, mise en place de solutions documentaires internes et externes, assistance à maîtrise d'ouvrage, etc.
Contact : https://happynumeric.fr/me-contacter

N'hésitez pas à me faire votre feedback, me signaler des erreurs ou des compléments que vous souhaiteriez que j'ajoute à ce bloc-notes mdBook.
Cliquez ici pour me contacter


À propos de cette page

Création : 17 mars 2023

Dernière à jour : 23 mars 2023 22:07