Markdown işaretlemesinde birkaç satırı girintilemek nasıl?


360

Birkaç satır metin yazmak istiyorum. Her satırın 6. sütundan başlaması dışında normal olarak biçimlendirilmelidirler. Yani, kod bloğu biçimlendirme kuralının, kalın yüz vb. Gibi diğer biçimlendirmeleri kullanacağım gibi, bu metin parçasının kod gibi görünmesini istemiyorum.


12
Markdown'un bunu desteklememesi utanç verici. Eksik olan temel bir özellik.
Josh Noe

5
Ne hakkında : ?
Frode Akselsen

4
Markdown uygulamalarında: for definition listelerinin kullanımı evrensel değildir, ancak Markdown varyantınız destekliyorsa, bu mükemmel çalışır. Bunu gerçek bir cevap yapmalısın.
Alex Dupuy

Yanıtlar:


383

Bunu markdown'un doğal özelliklerinde yapmanın bir yolu yok. Ancak işaretleme satır içi HTML'ye izin verir, bu nedenle yazma

      This will appear with six space characters in front of it

üretecek:

      Bu, önünde altı boşluk karakteri olacak

Sayfada CSS üzerinde kontrolünüz varsa, bir etiketi kullanabilir ve bunu satır içi veya CSS kurallarıyla stilize edebilirsiniz.

Her iki durumda da, işaretleme düzen için bir araç değildir, web için yazma sürecini basitleştirmek içindir, bu nedenle kendinizi ihtiyacınız olanı yapmak için özellik kümesini gererken bulursanız, burada doğru aracı kullanarak. Gruber'ın belgelerine göz atın:

http://daringfireball.net/projects/markdown/syntax#html


12
 Bir Markdown dosyasına (Unicode: \ 2002) eklemek mümkündür ve bunlar  kaynakta olduğu gibi görünmez - yalnızca dosyayı oluşturduğunuzda. Bu karakteri eklemek için işletim sisteminizdeki kısayol tuşunu kullanın.
vaughan

1
Blok alıntılar bunu yapmak için iyi bir yoldur (bkz. @ ChrisV'nin cevabı)
drevicko

Metni hizalamak için girintiyi kullanmak istersem ne olur? Örneğin, iki satırdaki 2. sözcüğün aynı yerde başlamasını istiyorum (Kodlayıcılar atama operatörü gibi =).
Royi

3
 basit ve basit girinti için mükemmeldir. Stil / yazı tipi değişikliği yok, sadece girinti 👍
Green

5
Uzun metindeki sarılmış satırlar, mizanpajınızda istemeyebileceğiniz girintili değildir. Test etmek için oluşturulan görünümünüzü yeniden boyutlandırın. Ayrıca,  sekmeye daha yakın.
dimmech

76

Bunu yapmanın bir yolu, birden fazla girinti seviyesi belirlemenizi sağlayan madde işaretleri kullanmaktır. Mermi noktaları, iki boşluğun katları kullanılarak eklenir, yıldız, başka bir boşluk Ör .:

this is a normal line of text
  * this is the first level of bullet points, made up of <space><space>*<space>
    * this is more indented, composed of <space><space><space><space>*<space>

Bu yöntem, ham metni görüntülerken de anlamlı olması bakımından büyük bir avantaja sahiptir.

Mermi noktalarını görmemeyi önemsiyorsanız , (işaretleme kullandığınız yere bağlı olarak) li {list-style-type: none;}tüm işaretleme alanı için css'yi ekleyebilmeniz gerekir.


5
Güzel hile, ama sadece bir Markdown (ve sonuç HTML) bir kısmı için görünür mermileri devre dışı bırakmak istiyorum ama bütün değil. Bunu yapmanın temiz bir yolu var mı?
Meng Lu

@MengLu Aynı gereksinime sahibim. Bunu hiç çözdün mü?
ömür

1
Kabul edilen cevaptan çok daha iyi bir yapı
irowe

İşaretlemenin HTML'yi kabul edebileceğini unutmayın - spesifikasyonun bir parçasıdır. Yani belirli bir liste için bu sorunu çözmek için HTML kullanmanızı engelleyecek bir şey yoktur. Markdown'da HTML olabileceğini, ancak HTML parçalarınızda Markdown olmadığını unutmayın. <ul> <li style = "list-style-type: none;"> Tamamı HTML olması gereken girintili içeriğiniz </li> </ul>
Hamish Willee

2
Bu benim için kabul edilen cevaptan çok daha iyi görünüyor. Girintili metniniz üzerinde daha hassas bir kontrol sağlar, daha okunabilir ve bakımı daha kolay değildir.
Arepo

36

Bu eski bir iş parçacığı , ama markdown'ın blockquotes ('>') bunun için en iyi olacağını düşünürdüm:


21
Belirli bir miktarı girintilemeniz gerekmiyorsa ve farklı bir arka plan rengi veya blok alıntılarla birlikte gidebilecek diğer stilleri almayı umursamıyorsanız bu iyi bir çözümdür. Nihayetinde, blok alıntıların anlamsal bir amacı vardır ve aslında bir şeyi teklif olarak çıkarmak istiyorsanız en iyisidir.
alegscogs

20
Yanlış. Blok tırnaklar (>), düz bir girinti değil, tırnak oluşturmak içindir. Tarzlarda tamamen farklı.
Yeşil

25

Bu ">" öğesinin yardımcı olup olmadığına bakın:

Line 1
> line 2 
>> line 3

lateks işaretleme kullanarak jupyter not defterlerinde bu tatlı bilet
vwvan

2
Yukarıdaki açıklamaya bakın: "Yanlış. Blockquotes (>) tırnak işaretleri oluşturmak içindir, düz bir girinti değildir. Bu tarzlar tamamen farklıdır"
Kullanıcı olmayan kullanıcı


13

Matematik ortamını aşağıdaki gibi kullanarak paragrafın başına belirli bir alan yerleştirmeye ne dersiniz:

$\qquad$ My line of text ...

Bu benim için çalışıyor ve umarım senin için de çalışır.


10

Gerçekten sekmeleri kullanmanız gerekiyorsa ve gri arka plan rengini ve dolgusunu önemsemiyorsanız, <pre>etiketler işe yarayabilir (destekleniyorsa):

<pre>
This        That        And             This
That        This        And             That    
</pre>
Bu Ve Bu
Bu Ve Bu    

7

Lütfen sert (kırılmayan) alanlar kullanın

Neden başka bir biçimlendirme dili kullanmalıyım? (Yukarıdaki @cz ile katılıyorum).
Markdown'un bir amacı, belgeleri düz bir metin düzenleyicide bile okunabilir hale getirmektir.

Aynı sonuç iki yaklaşım

Kod

Sample code
&nbsp;&nbsp;&nbsp;&nbsp;5th position in an really ugly code  
    5th position in a clear an readable code  
    Again using non-breaking spaces :)

Sonuç

Örnek kod
    5. pozisyonda gerçekten çirkin bir kodda
    5. pozisyonda net okunabilir bir kod
    Yine kırılmayan boşluklar kullanarak :)

Kesintisiz bir alanın (veya sert alanın) görsel gösterimi genellikle normal bir alan "", ancak Unicode gösterimi U + 00A0'dır.
Sıradan alanın Unicode gösterimi U + 0020'dir (ASCII Tablosunda 32).
Bu nedenle, görsel temsil aynı kalırken, metin işlemcileri farklı davranabilir.

Sert bir alan yerleştirin

| OS        | Input method                      |
|===========| ==================================|
| macOS     | OPTION+SPACE (ALT+SPACE)          |
| Linux     | Compose Space Space or AltGr+Space|
| Windows   | Alt+0+1+6+0                       |

Some text editor use Ctrl+Shift+Space.

Konu

Bazı metin editörleri, kopyalama ve yapıştırma işlemlerinde sert alanları ortak alanlara dönüştürebilir, bu yüzden dikkatli olun.


OPTION + SPACE etkin spotlight araması
wander95

Yalnızca varsayılan kısayolları değiştirdiyseniz olamaz. Spotlight arama alanı COMMAND-SPACE ile tetiklenir (COMMAND tuşu Windows Tuşunun analogudur).
Kesintisiz

Mac bilgisayarımda, Option + Space üzerinde kendime bir kısayol var, ancak Shift + Option + Space yerine iyi çalışıyor.
Dag Høidahl

Uzun cümleleri olan çizgi sararları bununla çirkin gözüküyor.
Mike Kormendy

4

İşaretlemenizle HTML kullanıp kullanamayacağınızı kontrol edin. Belki bu sizin için işe yarar:

  • Liste girişi bir <br/>
    Girintili çizgi <br/>
    <br/>
    Ve biraz daha ..
  • İkinci giriş
    • Subentry <br/>
      Merhaba!

6
Bunu yapmak için çizgiyi iki boşlukla bitirmeniz yeterlidir.
Pietro

4

Alıntılanan / girintili paragraflarda bu kesmek işe yarayabilir (render motoruna bağlı olarak):

| | | |
|-|-|-|
|  | _"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."_ | |
|

oluşturan:

resim açıklamasını buraya girin


2

Kesintisiz boş alan kullanın  (aynı değil !).

(HTML veya bazı ezoterik işaretleme kodu ekleyebilirsiniz, ancak standart işaretleme ile uyumluluğu kırmak için daha iyi nedenler düşünebilirim.)


2

SColvin'in cevabına yanıt olarak MengLu ve @ lifebalance'in sorularını cevaplamak için (sağladığı kontrol için kabul edilen cevaba çok tercih ederim), ekranı hiçbirine ayarlarken listelerin üst öğesini hedefleyebileceğiniz gibi ekleyerek, gerekirse bir çevre elemanı. Yani bunu bir içindekiler tablosu için yaptığımızı varsayarsak, SColvin'in cevabını uzatabiliriz:

HTML

<nav class="table-of-contents">
  this is a normal line of text
  * this is the first level of bullet points, made up of <space><space>*<space>
    * this is more indented, composed of <space><space><space><space>*<space>
</nav>

CSS

.table-of-contents ul {
  list-style-type: none;
}

2

Yorumlarda @AlexDupuy tarafından işaret edildiği gibi, bunun için tanım listeleri kullanılabilir.

Bu, tüm etiketleme işlemcileri tarafından desteklenmez, ancak yaygın olarak kullanılabilir: İşaretleme Kılavuzu - Tanım Listeleri

Term 1
: definition 1
: definition 2

Term 2
: definition 1
: definition 2

(Html) olarak işler:

<dl>
    <dt>Term 1</dt>
    <dd>definition 1</dd>
    <dd>definition 2</dd>
    <dt>Term 2</dt>
    <dd>definition 1</dd>
    <dd>definition 2</dd>
</dl>

Genellikle, DTbaşlık benzeri bir biçimde DDişlenir ve her biri bunun altında girintili metin olarak işlenir.

Bir başlık / terim istemiyorsanız, tanım teriminin yerine ara vermeyen bir boşluk kullanın:

&nbsp;
: This is the text that I want indented.  All text on the same line as the preceding colon will be included in this definition.
: If you include a second definition you'll get a new line; potentially separated by a space. <br />Some inline HTML may be supported within this too, allowing you to create new lines without spaces.
: Support for other markdown syntax varies; e.g. we can add a bullet list, but each one's wrapped in a separate definition term, so the spacing may be out.
: - item 1
: - item 2
: - item 3

Yukarıdaki örnekleri bu siteye kopyalayarak yapıştırarak bunu görebilirsiniz: Yığın Düzenleme Markdown Editor

Stack Edit'de DL rendering'in ekran görüntüsü


0

Bazı Markdown uygulamaları ~karakteri girinti için kullanıyor gibi görünmektedir .


0

Başka bir alternatif ise StackEdit gibi bir markdown editörü kullanmaktır . Html (veya metin) bir WYSIWYG editöründe markdown dönüştürür. Editörde girintiler, başlıklar, listeler oluşturabilirsiniz ve ilgili metni işaretleme formatında gösterir. Daha sonra dosyayı kaydedebilir, yayınlayabilir, paylaşabilir veya indirebilirsiniz. Web sitelerine erişebilirsiniz - indirme gerekmez!


0

Tamam, R kodunuzda küçük bir HTML ile, R Markdown'da saf metin oluşturmak için aşağıdaki kodu yaptım. <h3 style="text-indent: 15em;">Girintiler metin 15 alanlarda. Orijinal soru için, 15'i 6 olarak değiştirin.

## Option: Du Pont Ratio Concept - (ROE Decomposition)
### (Closed Quotes/Total Premium) = (Closed Quotes/Quotes Issued) X <br>
<h3 style="text-indent: 15em;">
 (Quotes Issued/Renewal Premium) X <br></h3>
<h3 style="text-indent: 15em;">
 (Renewal Premium/Total Premium)</h3>

Sonuçta ortaya çıkan kod istediğim çıktı formatını veriyor. Markdown belgesi için sekmeler kullanıyorum ve işe yarayan () metni sıralamak istiyordum.

r çıkışı


0

Tamlık için, daha derin madde işaretli listeler:

Nested deeper levels: ---- leave here an empty row * first level A item - no space in front the bullet character * second level Aa item - 1 space is enough * third level Aaa item - 5 spaces min * second level Ab item - 4 spaces possible too * first level B item

İç içe daha derin seviyeler:

  • birinci seviye Bir öğe - madde işareti karakterinin önünde boşluk yok
    • ikinci seviye Aa eşyası - 1 boşluk yeterlidir
      • üçüncü seviye Aaa maddesi - 5 boşluk min
    • İkinci seviye Ab eşyası - 4 boşluk da mümkün
  • birinci seviye B eşyası

    Nested deeper levels:
     ...Skip a line and indent eight spaces. (as said in the editor-help, just on this page)
    * first level A item - no space in front the bullet character
     * second level Aa item - 1 space is enough
         * third level Aaa item - 5 spaces min
        * second level Ab item - 4 spaces possible too
    * first level B item
    
            And there
            could be even more
            such octets of spaces.
    

0

Madde işaretleri ile çalışıyorsanız, şunu deneyin:

<ul>
  <li>Coffee</li>
  <li>Tea
    <ul>
      <li>Black tea</li>
      <li>Green tea</li>
    </ul>
  </li>
  <li>Milk</li>
</ul>

Markdown şekillendirirken kullandığım yöntem bu.


0

Gitlab.com'da tek bir boşluk (U + 2002) ve ardından tek bir em alanı (U + 2003) düzgün çalışır.

Muhtemelen uzay karakterleri için tam olarak hesaplanmayan diğer tekrarlar veya kombinasyonlar da yeterli olacaktır.


0

Çizginizi kırılmayan boşluklarla başlatmayla ilgili sorunlardan biri, çizginiz sarılmaya yetecek kadar uzunsa, ikinci bir satıra döküldüğünde, taşma çizgisinin ilk karakterinin ilk karakterin altına başlamak yerine sert sola başlamasıdır. üstündeki çizginin.

Sisteminiz HTML'yi işaretlemenizle karıştırmanıza izin veriyorsa, girinti almanın cıvıl cıvıl ve neşeli bir yolu şöyledir:

<ul>
My indented text goes here, and it can be long and wrap if you like.
And you can have multiple lines if you want.
</ul>

Anlamsal olarak HTML'nizde saçmalık (herhangi bir LI öğesi olmayan bir UL bölümü), ancak kullandığım tüm tarayıcılar mutlu bir şekilde bu etiketler arasında ne olduğunu girintili.

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.