Jamdesk Documentation logo

Blocs de code

Ajoutez des blocs de code avec coloration syntaxique, numéros de ligne, noms de fichiers et surlignage. Les CodeGroups gèrent les exemples multilingues.

Utilisez des blocs de code pour montrer des commandes, des fichiers de configuration et des extraits avec coloration syntaxique.

Coloration syntaxique de base

const greeting = "Hello, Jamdesk!";
console.log(greeting);

Ajouter un nom de fichier

Affichez le chemin du fichier avec l'attribut title :

src/config.ts
export const config = {
  name: "My Docs",
  theme: "jam"
};

Surbrillance des lignes

Attirez l'attention sur des lignes spécifiques avec la syntaxe {1,3-5} :

// This line is highlighted
const config = {
  apiKey: process.env.API_KEY,
  baseUrl: 'https://api.example.com', // highlighted
  timeout: 5000,                       // highlighted
  retries: 3,                          // highlighted
};

Numéros de ligne

Ajoutez des numéros de ligne avec showLineNumbers :

def fibonacci(n):
    if n <= 1:
        return n
    return fibonacci(n - 1) + fibonacci(n - 2)

Ligne de départ personnalisée

Commencez la numérotation à partir d'une ligne spécifique :

func processRequest(ctx context.Context) error {
    // This is line 42
    return nil
}

Fonctionnalités combinées

Utilisez plusieurs fonctionnalités ensemble :

api/client.ts showLineNumbers {3-5}
import axios from 'axios';

const client = axios.create({
  baseURL: process.env.API_URL,
  timeout: 10000,
});

export default client;

Masquer le bouton de copie

Ajoutez nocopy pour supprimer le bouton de copie d'un bloc spécifique :

$ jamdesk build
Building 128 pages...
Done in 4.2s

Utilisez-le partout où copier le bloc donnerait au lecteur quelque chose qui ne fonctionne pas : une transcription de terminal mêlant invites et résultats, un exemple expurgé, ou un extrait « à ne pas faire ».

nocopy se combine avec toutes les autres options :

broken.js
const config = loadConfig();
config.apiKey = "sk-live-REDACTED";

Groupes de code

Affichez le même code dans plusieurs langages :

curl -X POST https://api.example.com/posts \
  -H "Authorization: Bearer $API_KEY"

Thèmes disponibles

Configurez les thèmes de coloration syntaxique dans docs.json :

docs.json
{
  "styling": {
    "codeblocks": {
      "theme": {
        "light": "github-light",
        "dark": "github-dark"
      }
    }
  }
}

Thèmes populaires :

  • GitHub : github-dark, github-light, github-dark-default, github-light-default
  • Thèmes sombres : tokyo-night, one-dark-pro, dracula, nord, vitesse-dark
  • Thèmes clairs : vitesse-light, min-light
  • Catppuccin : catppuccin-mocha, catppuccin-latte

Thème de variables CSS

Pour un contrôle total sur les couleurs de la coloration syntaxique, utilisez le thème de variables CSS :

docs.json
{
  "styling": {
    "codeblocks": {
      "theme": "css-variables"
    }
  }
}

Personnalisez ensuite les couleurs dans votre style.css :

style.css
:root {
  --jd-token-keyword: #ff7b72;
  --jd-token-string: #a5d6ff;
  --jd-token-comment: #8b949e;
  --jd-token-function: #d2a8ff;
  --jd-token-constant: #79c0ff;
  --jd-token-parameter: #ffa657;
}
VariableDescription
--jd-color-textCouleur du texte par défaut
--jd-color-backgroundArrière-plan du bloc de code
--jd-token-keywordMots-clés (if, const, function)
--jd-token-stringLittéraux de chaîne
--jd-token-commentCommentaires
--jd-token-functionNoms de fonctions
--jd-token-constantConstantes
--jd-token-parameterParamètres de fonction
--jd-token-punctuationCrochets, virgules
--jd-token-linkURL et liens

Et ensuite ?

Optimisation SEO

Améliorez la découvrabilité et les métadonnées

Frontmatter

Définissez les titres, descriptions et champs SEO