Vous pouvez ajouter des extraits de code en ligne ou des code blocks. Les code blocks prennent en charge des options méta pour la coloration syntaxique, les titles, la mise en évidence de lignes, les icons, et plus encore.
Utilisez des fenced code blocks en entourant le code de trois backticks. Les code blocks 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 toutes les options méta, comme un title ou un icon, après le langage.
HelloWorld.java
Report incorrect code
Copy
Ask AI
class HelloWorld { public static void main(String[] args) { System.out.println("Bonjour, 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 code block.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 les thèmes des code blocks à l’échelle du site 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 Paramètres 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, 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 code blocks en utilisant highlight avec les numéros de lignes ou les plages que vous souhaitez mettre en évidence.
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 mise en évidence de lignes highlight={1-2,5}const greeting = "Hello, World!";function sayHello() { console.log(greeting);}sayHello();```
Concentrez-vous sur des lignes spécifiques dans vos code block en utilisant focus avec des numéros de ligne ou des intervalles.
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 = "Hello, World!";function sayHello() { console.log(greeting);}sayHello();```
Permettez aux utilisateurs d’ouvrir et de replier de longs code block à 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"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 # Retirer des emprunts de l'usager for patron, books in self.checkouts.items(): 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 l’habillage du texte 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 passer à la ligne suivante.";function sayHello() { console.log(greeting);}sayHello();
Report incorrect code
Copy
Ask AI
```javascript Exemple de retour à la ligneconst greeting = "Bonjour, le monde ! Je suis une longue ligne de texte qui va se retourner à la ligne suivante.";function sayHello() { console.log(greeting);}sayHello();```
Affichez un diff visuel des lignes ajoutées ou supprimées dans vos code blocks. Les lignes ajoutées sont mises en évidence 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 code block :
// [!code ++] : Marquez une ligne comme ajoutée (mise en évidence en vert).
// [!code --] : Marquez une ligne comme supprimée (mise en évidence en rouge).
Pour plusieurs lignes consécutives, indiquez le nombre de lignes après un deux-points :
// [!code ++:3] : Marquez la ligne actuelle plus les deux suivantes comme ajoutées.
// [!code --:5] : Marquez la ligne actuelle plus les quatre 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();