93 votes

Bloc de code dans une liste numérotée (syntaxe Wiki)

Dans la syntaxe wiki de MediaWiki (wikipedia), existe-t-il un moyen d'avoir une liste numérotée avec un bloc de code au milieu ?

Par exemple :

\# Number 1
# Number 2
  Indented section that will become a code block
# Number 3
# Number 4

Ce qui se passe dans MediaWiki, c'est que vous vous retrouvez avec quelque chose comme ça :

1\. Number 1
2. Number 2
   Indented section that will become a code block
1. Number 3
2. Number 4

(Notez comment "Numéro 3" et "Numéro 4" sont réinitialisés comme 1 et 2...) Il semble que StackOverflow soit beaucoup plus intelligent que MediaWiki, j'ai dû mettre mon exemple dans des balises PRE pour qu'il se plante).

Je sais que tu peux indentation texte utilisant la syntaxe "# :"...

\# Number 1
# Number 2
#: Indented section that will merely be indented
# Number 3
# Number 4

...mais j'aimerais vraiment obtenir la même classe CSS visuelle pour mon code, même s'il se trouve dans une liste numérotée.

Cela devient encore plus amusant avec les listes imbriquées. Cette syntaxe...

\# MainEntry 1
## Number 1
## Number 2
# MainEntry 2
## Number 1
## Number 2
  Indented section that will become a code block
## Number 3
## Number 4

...devient...

1\. MainEntry 1
   1. Number 1
   2. Number 2
2. MainEntry 2
   1. Number 1
   2. Number 2
      Indented section that will become a code block
1. 1. Number 3
   2. Number 4

(Notez comment "Numéro 3" est maintenant "1. 1.")

0 votes

J'ai fait un exemple de ce problème ici : fr.wikipedia.org/w/

80voto

Kyle Points 191

Vous pouvez essayer la syntaxe wiki suivante, elle fonctionne pour moi sur 1.17

# one
#:<pre>
#::some stuff
#::some more stuff</pre>
# two

Ce n'est pas parfait, car on se retrouve avec un retrait plus important, mais cela permet d'utiliser la syntaxe wiki pour des pré-blocs correctement formatés sur plusieurs lignes.

Comme indiqué précédemment, l'autre approprié Le moyen le plus simple serait d'utiliser le balisage HTML.

<ol>
<li>one</li>
<li>two</li>
<pre>some stuff
some more stuff</pre>
<li>three</li>
</ol>

1 votes

Cette syntaxe wiki a fonctionné pour moi sur MediaWiki 1.15.1. Elle met un peu plus d'espace autour des lignes de code, mais elle fonctionne.

1 votes

J'ai utilisé la même syntaxe que vous avez suggérée pour les images dans les listes numérotées : #:[[File:image.jpg]] entre les articles numérotés. Cela aide beaucoup.

0 votes

Cela a fonctionné pour moi sur MediaWiki 1.17 ; Merci !

36voto

Adrian Archer Points 1812

Utilisez le html :

<ol>
  <li>Coffee</li>
  <li>Tea</li>
  <li>Milk</li>
</ol>

cela fonctionnera dans mediawiki.

Notez que dans l'exemple que j'ai posté ci-dessous, c'est l'élément </li> qui le fait fonctionner correctement.

0 votes

J'ai modifié votre exemple pour montrer comment cela fonctionnerait : fr.wikipedia.org/w/

0 votes

C'est un problème connu de la syntaxe wiki.

0 votes

La réponse de Kyle devrait être acceptée. Si vous faites des listes imbriquées, il sera difficile d'utiliser le langage html. De plus, la réponse ci-dessus est enterrée dans une ancienne page wikipedia sandbox. Le texte actuel de la réponse de Stackoverflow ci-dessus ne résout pas le problème de l'OP.

19voto

John Points 31

Cela fonctionne bien dans MediaWiki 1.17.0 :

===Alternative way of using pre in numbered lists.===    
# Numbered line 1.
# Numbered line 2.<pre>code line 1&#10;code line 2</pre>
# Numbered line 3.

Le secret consiste à remplacer les nouvelles lignes par les caractères suivants et de tout écrire sur une seule ligne.

5 votes

Correct, mais cela ne fonctionne pas si vous ne voulez pas écrire tout votre code de bloc dans une ligne

15voto

Votre problème fait l'objet de deux bogues remplis dans le système de suivi des bogues de MediaWiki à la fin de 2004 et en 2005 :

Bogue 1115 - Le saut de ligne comme terminaison d'élément de liste est gênant.

Bogue 1584 - Besoin d'une méthode pour les éléments de liste multiparagraphes, les listes numérotées continues et l'attribution de numéros spécifiques aux éléments de liste.

En les lisant, vous constaterez que la solution consiste à ne pas utiliser la syntaxe MediaWiki mais à s'appuyer sur du HTML "pur".

1 votes

Nous avons également une section entière Aide:Newlines et espaces et une discussion spécifique sur cette question à Insertion de balises dans les listes .

2voto

Kory Lovre Points 96

Dans l'exemple ci-dessus, le deuxième alinéa (: :) n'est pas nécessaire.

Une seule indentation fonctionne bien ( :) comme suit :

# one
#:<pre>
#:some stuff
#:some more stuff</pre>
# two

Produit :

  • 1. un some stuff (just one indent level, not two) some more stuff
  • 2. deux

8 votes

J'ai trouvé la réponse de @Kyle avec : : <pre> sur les lignes entre </pre> EST NECESSAIRE pour moi. Juste 1 : comme vous dites, ne fonctionne pas pour moi...

1 votes

Cette réponse n'a pas fonctionné pour moi dans Mediawiki 1.17. Je trouve aussi la réponse de @Kyle nécessaire.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X