Outils pour utilisateurs

Outils du site


wiki:syntaxe:extraits_de_code

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
wiki:syntaxe:extraits_de_code [2022/09/27 21:50] – supprimée - modification externe (Unknown date) 127.0.0.1wiki:syntaxe:extraits_de_code [2022/09/27 21:50] (Version actuelle) – ↷ Nom de la page changé de wiki:syntaxe:mise_en_forme_extraits_de_code à wiki:syntaxe:extraits_de_code yoann
Ligne 1: Ligne 1:
 +{{tag>wiki syntax code line number}}
  
 +====== Mise en forme des extraits de code ======
 +
 +**Dokuwiki** s'appuie sur **Geshi** pour la mise en forme des blocs de codes ou des extraits de fichiers (balises %%<code></code>%% et %%<file></file>%%. Les options de mise en forme peuvent être transmises en utilisant la syntaxe suivante:
 +
 +<code>
 +<code languagecode [key="value", ...]>
 +</code>
 +
 +
 +^ Description                         ^ Option                        |
 +| Activer la numérotation des lignes  | enable_line_numbers="true"    |
 +| Démarrer la numérotation en décalé  | start_line_numbers_at="42"    |
 +| Surligner un ou plusieurs lignes    | highlight_lines_extra="2,5"   |
 +| Désactiver la création des liens de documentation liés a certains mots clés | enable_keyword_links="false" |
 +
 +
 +===== Exemples =====
 +
 +Un extrait de code C, ici sans mise en forme ''%%<code none>...</code>%%''
 +
 +<code none>
 +// main function -
 +// where the execution of program begins
 +int main()
 +{
 +  
 +    // prints hello world
 +    printf("Hello World");
 +  
 +    return 0;
 +}
 +</code>
 +
 +
 +==== Afficher la numérotation ====
 +
 +Pour afficher le code avec la numérotation des lignes:
 +<code>
 +<code c hello.c [enable_line_numbers="true"]>
 +</code>
 +
 +On obtient alors:
 +<code c hello.c [enable_line_numbers="true"]>
 +// main function -
 +// where the execution of program begins
 +int main()
 +{
 +  
 +    // prints hello world
 +    printf("Hello World");
 +  
 +    return 0;
 +}
 +</code>
 +
 +En survolant la fonction **printf()** on peut voir qu'un lien a été automatiquement créé vers la documentation. Ce comportement par défaut peut être désactivé:
 +
 +<code>
 +<code c hello.c [enable_line_numbers="true", enable_keyword_links="false"]>
 +</code>
 +
 +==== Décaler la numérotation ====
 +
 +Dans cet exemple on utilise la balise file, les options sont passées de la même manière via un tableau  clé=valeur
 +<code>
 +<file txt [enable_line_numbers="true", start_line_numbers_at="8534"]>
 +</code>
 +
 +<file txt [enable_line_numbers="true", start_line_numbers_at="8534"]>
 +août 11 16:25:13 node-7c87 kernel: [UFW ALLOW] IN= OUT=enp0s31f6 SRC=192.9.200.14 DST=172.16.1.17 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=40472 DF PROTO=TCP SPT=55396 DPT=443 WINDOW=64240 RES=0>
 +août 11 16:25:13 node-7c87 kernel: [UFW BLOCK] IN= OUT=enp0s31f6 SRC=192.9.200.14 DST=192.168.1.57 LEN=1824 TOS=0x00 PREC=0x00 TTL=64 ID=59350 PROTO=UDP SPT=1716 DPT=1716 LEN=1804 
 +août 11 16:25:14 node-7c87 kernel: [UFW ALLOW] IN= OUT=enp0s31f6 SRC=192.9.200.14 DST=192.9.200.231 LEN=87 TOS=0x00 PREC=0x00 TTL=64 ID=16840 DF PROTO=UDP SPT=48723 DPT=53 LEN=67 
 +août 11 16:25:33 node-7c87 kernel: [UFW BLOCK] IN= OUT=enp0s31f6 SRC=192.9.200.14 DST=192.168.1.57 LEN=1824 TOS=0x00 PREC=0x00 TTL=64 ID=62427 PROTO=UDP SPT=1716 DPT=1716 LEN=1804 
 +</file>
 +
 +==== Surligner ====
 +
 +Pour surligne une ou plusieurs lignes, on peut utiliser l'o
 +
 +<code>
 +<code c hello.c [enable_line_numbers="true", highlight_lines_extra="2,5"]>
 +</code>
 +
 +<code c hello.c [enable_line_numbers="true", highlight_lines_extra="3,6"]>
 +// main function -
 +// where the execution of program begins
 +int main()
 +{
 +  
 +    // prints hello world
 +    printf("Hello World");
 +  
 +    return 0;
 +}
 +</code>
 +
 +===== Références =====
 +
 +  * https://www.dokuwiki.org/syntax_highlighting