Numaralandırılmış listede kod bloğu (Wiki sözdizimi)


86

MediaWiki (wikipedia's) wiki sözdiziminde, ortasında bir kod bloğu olan numaralı bir listeye sahip olmanın bir yolu var mı?

Örneğin:

# 1 numara
# 2 numara
  Kod bloğu haline gelecek girintili bölüm
# 3 numara
# 4 numara

MediaWiki'de olan şudur: Sonunda şuna benzer bir şey elde edersiniz:

1. 1 numara
2. 2 numara
   Kod bloğu haline gelecek girintili bölüm
1. 3 numara
2. 4 numara

("Sayı 3" ve "Sayı 4" ün nasıl 1 ve 2 olarak sıfırlandığına dikkat edin ... StackOverflow MediaWiki'den çok daha akıllı gibi görünüyor, batırmak için örneğimi PRE etiketlerine koymak zorunda kaldım!)

"#:" Sözdizimini kullanarak metnin girintisini artırabileceğinizi biliyorum ...

# 1 numara
# 2 numara
#: Yalnızca girintili olacak girintili bölüm
# 3 numara
# 4 numara

... ancak numaralandırılmış bir listede olsa bile kodum için aynı görsel CSS sınıfını almak istiyorum.

İç içe geçmiş listelerle daha da eğlenceli hale geliyor. Bu sözdizimi ...

# Ana Giriş 1
## 1 numara
## 2 numara
# Ana Giriş 2
## 1 numara
## 2 numara
  Kod bloğu haline gelecek girintili bölüm
## 3 numara
## 4 numara

... olur ...

1. Ana Giriş 1
   1. 1 numara
   2. 2 numara
2. Ana Giriş 2
   1. 1 numara
   2. 2 numara
      Kod bloğu haline gelecek girintili bölüm
1. 1. 3 numara
   2. 4 numara

("3 Numara" nın artık "1. 1" olduğuna dikkat edin)


Burada konuya bir örnek verdim: en.wikipedia.org/w/…
inanutshellus

Yanıtlar:


72

Aşağıdaki wiki sözdizimini deneyebilirsiniz, benim için çalışıyor 1.17

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

Mükemmel değildir, çünkü daha fazla girintiye sahip olursunuz, ancak birden çok satır üzerinde doğru biçimlendirilmiş ön bloklar için wiki sözdizimini kullanmanıza izin verir.

Daha önce belirtildiği gibi, diğer uygun yol HTML biçimlendirmesi kullanmaktır.

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

1
O wiki sözdizimi MediaWiki 1.15.1'de benim için çalıştı. Kod satırlarının etrafına biraz fazladan boşluk koyar, ancak işe yarar.
Nick Chammas

1
Numaralı listelerdeki resimler için önerdiğiniz söz diziminin aynısını kullandım: #:[[File:image.jpg]]numaralı öğeler arasında. Bu bir ton yardımcı olur.
Michael Plautz

MediaWiki 1.17'de benim için çalıştı; Teşekkürler!
Hayır

MediaWiki'nin hangi sürümünü kullandığımızdan emin değilim, ancak bu işe yarıyor. Sadece bir uyarı var: Eğer 'ön' satırlarının önünde başka bir #: girintili satır varsa, mesela bir başlık veya başka bir şey için, 'pre' doğru şekilde işlenmez.
anuragw

GitHub tarafından kullanılan mediawiki'de çalışmaz ( Buradaki örneğe bakın ). Bunun yerine HTML sürümünü kullanın.
Jonathan Çapraz

34

Html kullanın:

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

mediawiki'de çalışacak.

Aşağıda yayınladığım örnekten not edin, </li>düzgün çalışmasını sağlayan şey budur .


Nasıl çalışacağını göstermek için örneğinizi düzenledim: en.wikipedia.org/w/…
Adrian Archer

Bu, wiki sözdizimiyle ilgili bilinen bir sorundur.
Adrian Archer

Kyle'ın cevabı kabul edilmelidir. İç içe geçmiş listeler yapıyorsanız, html kullanmak zor olacaktır. Ek olarak, yukarıdaki cevap eski wikipedia sandbox sayfasına gömülüdür. Yukarıdaki Stackoverflow cevabındaki gerçek metin, OP'nin problemini çözmez.
Hayır

16

Bu MediaWiki 1.17.0'da gayet iyi çalışıyor:

===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.

İşin sırrı, yeni satırları varlıkla değiştirmek ve her şeyi tek satırda yazmaktır.


5
doğru, ancak tüm blok kodunuzu tek satırda yazmak istemiyorsanız işe yaramaz
RockScience

13

Sorununuz, 2004'ün sonlarında ve 2005'te MediaWiki hata izleyicisine doldurulan iki hatanın konusudur:

Hata 1115 - Liste öğesi sonlandırıcı olarak Newline zahmetli

Bug 1584 - Çok paragraflı liste öğeleri için yöntem gerekli, numaralandırılmış listeler devam ediyor ve öğeleri listelemek için belirli numaralar atanıyor

Bunları okuyarak, çözümün MediaWiki sözdizimini kullanmak değil, "saf" HTML'ye güvenmek olduğunu göreceksiniz.


1
Ayrıca tam bir Yardım: Yeni satırlar ve boşluklar sayfamız ve Listeden bağımsız biçimlendirme eklerinde bu konuyla ilgili özel bir tartışmamız var .
Nemo

3

Farklı bir cevap öneriyorum: Yapma.

Bu temel Mediawiki sorunu için tüm geçici çözümleri kullanmaya çalıştım ve hepsinin çok kusurlu olduğunu gördüm. Sayılar olmadan yaşamayı öğrendim ve bunun yerine:

  • Tüm listelerim için (#) yerine uyarıyı (*) kullanın
  • Tüm kod bloklarım için baştaki boşluğu kullanmaya devam et

Bu, herhangi bir geçici çözümden çok daha basit ve bakımı yapılabilir. Ayrıca, bir numaraya yapılan herhangi bir referansın kullanımı, adımlar düzenlendikçe değişebilir - ve bu daha sonra başka bir bakım sorunu haline gelir.


1

Yukarıdaki örnekte ikinci girinti (: :) gerekli değildir.

Aşağıdaki gibi yalnızca bir girinti iyi çalışır (:):

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

Üretir:

  • 1 bir
       bazı şeyler (sadece bir girinti seviyesi, iki değil)
       biraz daha şeyler
  • 2. iki


  • 6
    @ Kyle'ın yanıtını :: <pre> ile aradaki satırlarda </pre> buldum benim için GEREKLİDİR. Sadece 1: dediğin gibi, benim için çalışmadım ...
    cellepo

    Bu cevap Mediawiki 1.17'de benim için işe yaramadı. Ben de @Kyle cevabını gerekli buluyorum.
    Hayır

    -3

    Ayrıca "pre" etiketini çevreleyen bir "blok alıntı" etiketi eklemeyi deneyebilirsiniz, bu etiketin biraz daha gösterişli görünmesini sağlar.

    == HAProxy Configuration ==
    #'''File:''' /etc/haproxy/haproxy.cfg
    <blockquote>
    <pre>
    global
      log 127.0.0.1 local1 notice
      maxconn 4096
      #daemon
      debug
      crt-base /usr/local/haproxy/ssl
    </pre>
    </blockquote>
    

    Bu, iki nokta üst üste kullanmadan madde işaretleriniz / numaralarınız doğrultusunda gri kutuyu girintiler.


    1
    Kapanış etiketlerinin sırasını düzeltsem bile bu benim için çalışmıyor. Listenin numaralandırmasını bozar.
    P.Péter

    Sırasız listelerle (*) aynı. İç içe geçmişlerse, blok alıntıdan sonraki yuvalama doğru şekilde devam etmez.
    Hayır
    Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
    Licensed under cc by-sa 3.0 with attribution required.