Vous pouvez ajouter du code en ligne ou des blocs de code. Les blocs de code prennent en charge des options méta pour la coloration syntaxique, les titres, la mise en évidence de lignes, les icônes, et plus encore.
Utilisez des blocs de code délimités en entourant le code de trois accents graves. Les blocs de code sont copiables et, si vous avez activé l’Assistant, les utilisateurs peuvent demander à l’IA d’expliquer le code.Indiquez le langage de programmation pour la coloration syntaxique et pour activer les options méta. Ajoutez ensuite les options méta, comme un titre ou une icône, après le langage.
HelloWorld.java
Report incorrect code
Copy
Ask AI
class HelloWorld { public static void main(String[] args) { System.out.println("Bonjour le monde !"); }}
Report incorrect code
Copy
Ask AI
```java HelloWorld.java lines icon="java"class HelloWorld { public static void main(String[] args) { System.out.println("Bonjour le monde !"); }}```
Activez la coloration syntaxique en indiquant le langage de programmation après les backticks ouvrants d’un bloc de code.Nous utilisons Shiki pour la coloration syntaxique et prenons en charge tous les langages disponibles. Consultez la liste complète des langages dans la documentation de Shiki.Personnalisez globalement les thèmes des blocs de code avec styling.codeblocks dans votre fichier docs.json. Définissez des thèmes simples comme system ou dark, ou configurez des thèmes Shiki personnalisés pour les modes clair et sombre. Consultez Settings pour des options de configuration détaillées.
Report incorrect code
Copy
Ask AI
class HelloWorld { public static void main(String[] args) { System.out.println("Bonjour le monde !"); }}
Report incorrect code
Copy
Ask AI
```javaclass HelloWorld { public static void main(String[] args) { System.out.println("Bonjour, le monde !"); }}```
Mettez en surbrillance des lignes spécifiques dans vos blocs de code en utilisant highlight avec les numéros de ligne ou les plages de lignes à mettre en surbrillance.
Line Highlighting Example
Report incorrect code
Copy
Ask AI
const greeting = "Bonjour, le monde !";function sayHello() { console.log(greeting);}sayHello();
Report incorrect code
Copy
Ask AI
```javascript Exemple de surlignage de lignes highlight={1-2,5}const greeting = "Hello, World!";function sayHello() { console.log(greeting);}sayHello();```
Mettez en évidence des lignes spécifiques dans vos blocs de code à l’aide de focus avec des numéros de ligne ou des plages.
Line Focus Example
Report incorrect code
Copy
Ask AI
const greeting = "Bonjour, le monde !";function sayHello() { console.log(greeting);}sayHello();
Report incorrect code
Copy
Ask AI
```javascript Exemple de mise en évidence de ligne focus={2,4-5}const greeting = "Bonjour, le monde !";function sayHello() { console.log(greeting);}sayHello();```
Permettez aux utilisateurs d’ouvrir et de fermer de longs blocs de code à l’aide de expandable.
Expandable Example
Report incorrect code
Copy
Ask AI
from datetime import datetime, timedeltafrom typing import Dict, List, Optionalfrom dataclasses import dataclass@dataclassclass Book: title: str author: str isbn: str checked_out: bool = False due_date: Optional[datetime] = Noneclass Library: def __init__(self): self.books: Dict[str, Book] = {} self.checkouts: Dict[str, List[str]] = {} # usager -> liste des ISBN def add_book(self, book: Book) -> None: if book.isbn in self.books: raise ValueError(f"Un livre avec l'ISBN {book.isbn} existe déjà") self.books[book.isbn] = book def checkout_book(self, isbn: str, patron: str, days: int = 14) -> None: if patron not in self.checkouts: self.checkouts[patron] = [] book = self.books.get(isbn) if not book: raise ValueError("Livre introuvable") if book.checked_out: raise ValueError("Le livre est déjà emprunté") if len(self.checkouts[patron]) >= 3: raise ValueError("L'usager a atteint la limite d'emprunt") book.checked_out = True book.due_date = datetime.now() + timedelta(days=days) self.checkouts[patron].append(isbn) def return_book(self, isbn: str) -> float: book = self.books.get(isbn) if not book or not book.checked_out: raise ValueError("Livre introuvable ou non emprunté") late_fee = 0.0 if datetime.now() > book.due_date: days_late = (datetime.now() - book.due_date).days late_fee = days_late * 0.50 book.checked_out = False book.due_date = None # Remove from patron's checkouts # Retirer des emprunts de l'usager if isbn in books: books.remove(isbn) break return late_fee def search(self, query: str) -> List[Book]: query = query.lower() return [ book for book in self.books.values() if query in book.title.lower() or query in book.author.lower() ]def main(): library = Library() # Ajouter quelques livres books = [ Book("The Hobbit", "J.R.R. Tolkien", "978-0-261-10295-4"), Book("1984", "George Orwell", "978-0-452-28423-4"), ] for book in books: library.add_book(book) # Exemple d'emprunt et de retour library.checkout_book("978-0-261-10295-4", "patron123") late_fee = library.return_book("978-0-261-10295-4") print(f"Frais de retard : {late_fee:.2f} $")if __name__ == "__main__": main()
Activez le retour à la ligne pour les lignes longues avec wrap. Cela évite le défilement horizontal et facilite la lecture des lignes longues.
Wrap Example
Report incorrect code
Copy
Ask AI
const greeting = "Bonjour, le monde ! Je suis une longue ligne de texte qui va se replier à la ligne suivante.";function sayHello() { console.log(greeting);}sayHello();
Report incorrect code
Copy
Ask AI
```javascript Exemple de retour à la ligne wrapconst greeting = "Bonjour, le monde ! Je suis une longue ligne de texte qui va passer à la ligne suivante.";function sayHello() { console.log(greeting);}sayHello();```
Affichez un diff visuel des lignes ajoutées ou supprimées dans vos blocs de code. Les lignes ajoutées sont surlignées en vert et les lignes supprimées en rouge.Pour créer des diffs, ajoutez ces commentaires spéciaux à la fin des lignes dans votre bloc de code :
// [!code ++] : marque une ligne comme ajoutée (surlignage vert).
// [!code --] : marque une ligne comme supprimée (surlignage rouge).
Pour plusieurs lignes consécutives, indiquez le nombre de lignes après un deux-points :
// [!code ++:3] : marque la ligne actuelle et les deux lignes suivantes comme ajoutées.
// [!code --:5] : marque la ligne actuelle et les quatre lignes suivantes comme supprimées.
La syntaxe des commentaires doit correspondre à votre langage de programmation (par exemple, // pour JavaScript ou # pour Python).
Diff Example
Report incorrect code
Copy
Ask AI
const greeting = "Bonjour, le monde !"; function sayHello() { console.log("Bonjour, le monde !"); console.log(greeting); }sayHello();
Report incorrect code
Copy
Ask AI
```js Exemple de Diff icon="code" linesconst greeting = "Bonjour, le monde !"; // [!code ++]function sayHello() { console.log("Bonjour, le monde !"); // [!code --] console.log(greeting); // [!code ++]}sayHello();```