Bagaimana cara indentasi beberapa baris dalam markdown markdown?

360

Saya ingin menulis beberapa baris teks. Mereka harus diformat secara normal kecuali setiap baris harus dimulai pada kolom ke-6. Yaitu saya tidak ingin aturan pemformatan blok kode membuat potongan teks ini terlihat seperti kode karena saya akan menggunakan pemformatan lain seperti wajah tebal, dll. Bagaimana melakukannya di Markdown?

Meng Lu
sumber
12
Sayang Markdown tidak mendukung ini. Ini fitur mendasar yang hilang.
Josh Noe
5
bagaimana : ?
Frode Akselsen
4
Penggunaan: untuk daftar definisi tidak universal dalam implementasi Markdown, tetapi jika varian Markdown Anda mendukungnya, ini berfungsi dengan baik. Anda harus membuat ini jawaban nyata.
Alex Dupuy

Jawaban:

383

Tidak ada cara untuk melakukan itu dalam fitur asli penurunan harga. Namun penurunan harga memungkinkan inline HTML, jadi menulis

      This will appear with six space characters in front of it

akan menghasilkan:

      Ini akan muncul dengan enam karakter spasi di depannya

Jika Anda memiliki kendali atas CSS pada halaman tersebut, Anda juga bisa menggunakan tag dan gaya, baik inline atau dengan aturan CSS.

Either way, penurunan harga tidak dimaksudkan sebagai alat untuk tata letak, itu dimaksudkan untuk menyederhanakan proses penulisan untuk web, jadi jika Anda menemukan diri Anda meregangkan set fiturnya untuk melakukan apa yang Anda butuhkan, Anda mungkin melihat apakah Anda atau tidak sedang menggunakan alat yang tepat di sini. Lihat dokumen Gruber:

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

alegscog
sumber
12
Dimungkinkan untuk menyisipkan  (Unicode: \ 2002) ke file penurunan harga dan mereka tidak akan muncul seperti  di sumber - hanya ketika Anda membuat file. Hanya latihan tombol pintas pada OS Anda untuk memasukkan karakter ini.
vaughan
1
Blokir kutipan adalah cara yang baik untuk melakukan ini (lihat jawaban
ChrisV
Bagaimana jika saya ingin menggunakan lekukan untuk meluruskan teks. Misalnya saya ingin kata ke-2 dalam dua baris untuk memulai di tempat yang sama (Seperti coders suka dengan operator penugasan =).
Royi
3
 hanya bagus untuk lekukan sederhana dan sederhana. Tidak ada perubahan gaya / font, hanya lekukan 👍
Hijau
5
Baris yang terbungkus dalam teks panjang bukan indentasi yang mungkin tidak Anda inginkan dalam tata letak Anda. Ubah ukuran tampilan yang diberikan untuk diuji. Juga,  lebih dekat ke tab.
dimmech
76

Salah satu cara untuk melakukannya adalah dengan menggunakan poin-poin, yang memungkinkan Anda menentukan beberapa tingkat indentasi. Poin-poin dimasukkan dengan menggunakan kelipatan dua spasi, bintang, spasi lain Eg .:

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>

Metode ini memiliki keuntungan besar yang juga masuk akal ketika Anda melihat teks mentah.

Jika Anda tidak ingin melihat poin-poinnya sendiri , Anda harus (tergantung di mana Anda menggunakan penurunan harga) untuk dapat menambahkan li {list-style-type: none;}ke css untuk seluruh area tanda bawah.

SColvin
sumber
5
Trik yang bagus, tapi saya hanya ingin menonaktifkan peluru yang terlihat untuk bagian dari penurunan harga (dan HTML yang dihasilkan) tetapi tidak keseluruhan. Apakah ada cara bersih untuk melakukan itu?
Meng Lu
@MengLu Saya memiliki persyaratan yang sama. Apakah Anda menemukan yang ini sama sekali?
lifebalance
1
Lebih bijaksana secara struktur daripada jawaban yang diterima
irowe
Ingat bahwa penurunan harga dapat menerima HTML - itu adalah bagian dari spesifikasi. Jadi untuk daftar tertentu tidak ada yang menghentikan Anda menggunakan HTML untuk menyelesaikan masalah ini. Hanya ingat bahwa Anda dapat memiliki HTML dalam penurunan harga, tetapi tidak Penurunan harga dalam fragmen HTML Anda. <ul> <li style = "list-style-type: none;"> Konten indentasi Anda yang harus semuanya HTML </li> </ul>
Hamish Willee
2
Tampaknya ini jauh lebih baik daripada jawaban yang diterima untuk saya. Ini memberi Anda kontrol yang lebih baik atas teks lekukan Anda, belum lagi menjadi lebih mudah dibaca dan dikelola
Arepo
36

Ini adalah utas lama , tetapi saya akan berpikir bahwa blockquote markdown ('>') adalah yang terbaik untuk ini:

ChrisV
sumber
21
Ini adalah solusi yang baik jika Anda tidak perlu membuat indentasi dalam jumlah tertentu, dan Anda tidak peduli untuk mendapatkan warna latar yang berbeda atau gaya lain yang mungkin sesuai dengan blockquotes. Pada akhirnya, blockquotes memiliki tujuan semantik dan mereka yang terbaik jika Anda sebenarnya ingin menetapkan sesuatu sebagai kutipan.
alegscogs
20
Salah. Blockquotes (>) adalah untuk membuat tanda kutip, bukan lekukan polos. Ini sangat berbeda dalam gaya.
Hijau
25

Lihat apakah ini ">" membantu:

Line 1
> line 2 
>> line 3
idnavid
sumber
itulah tiket manis di notebook jupyter menggunakan markup lateks
vwvan
2
Lihat komentar di atas: "Salah. Blockquotes (>) adalah untuk membuat tanda kutip, bukan lekukan polos. Ini benar-benar berbeda dalam gaya"
Pengguna yang bukan pengguna
22

lakukan tab, lalu tanda +, lalu spasi, lalu konten Anda

Begitu

* level one + level two tabbed

Pavan Katepalli
sumber
github / bitbucket markdown mendukung aturan indentasi yang serupa, tanpa +:[tab][space]your-text-goes-here
roblogic
13

Bagaimana dengan menempatkan ruang yang ditentukan di awal paragraf menggunakan lingkungan matematika seperti:

$\qquad$ My line of text ...

Ini bekerja untuk saya dan saya harap bekerja juga untuk Anda.

Marcos Lourenço
sumber
10

Jika Anda benar-benar harus menggunakan tab, dan Anda tidak keberatan dengan warna latar belakang abu-abu dan bantalan, <pre>tag mungkin berfungsi (jika didukung):

<pre>
This        That        And             This
That        This        And             That    
</pre>
Ini Itu Dan Ini
Ini Ini Dan Itu    
tukang kata
sumber
7

Silakan gunakan ruang keras (tidak melanggar)

Mengapa menggunakan bahasa markup lain? (Saya Setuju dengan @cz di atas).
Salah satu tujuan Markdown adalah membuat dokumen dapat dibaca bahkan dalam editor teks biasa.

Hasilnya sama dengan dua pendekatan

Kode

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 :)

Hasil

Contoh kode
    posisi ke-5 dalam posisi kode yang benar-benar jelek
    posisi ke-5 dalam kode yang jelas dapat dibaca
    Lagi menggunakan spasi yang tidak melanggar :)

Representasi visual dari ruang yang tidak pecah (atau ruang keras) biasanya merupakan ruang "" normal, namun, representasi Unicodenya adalah U + 00A0.
Representasi Unicode dari ruang biasa adalah U + 0020 (32 dalam Tabel ASCII).
Dengan demikian, pemroses teks mungkin berperilaku berbeda sementara representasi visual tetap sama.

Masukkan ruang yang sulit

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

Isu

Beberapa editor teks dapat mengonversi ruang keras ke ruang umum dalam operasi penyalinan dan rekat, jadi berhati-hatilah.

ePi272314
sumber
OPSI + SPACE pencarian sorotan diaktifkan
wander95
Tidak bisa, hanya jika Anda telah mengubah pintasan default. Bidang pencarian Spotlight dipicu dengan COMMAND-SPACE (kunci COMMAND adalah analog dengan Windows Key). Ruang tanpa putus diperkenalkan dengan OPTION-SPACE (Opsi adalah analog dengan ALT)
ePi272314
Di Mac saya, saya memiliki pintasan pada Option + Space sendiri, tetapi Shift + Option + Space bekerja dengan baik sebagai gantinya.
Dag Høidahl
Line wraps dengan kalimat panjang terlihat jelek dengan ini.
Mike Kormendy
4

Periksa apakah Anda dapat menggunakan HTML dengan penurunan harga Anda. Mungkin ini berhasil untuk Anda:

  • Daftar entri satu <br/>
    baris indentasi <br/>
    <br/>
    Dan beberapa lagi ..
  • Entri kedua
    • Sub <br/>
      Halo Halo!
webwurst
sumber
6
Untuk melakukan itu, Anda hanya perlu mengakhiri garis dengan dua spasi.
Pietro
4

Untuk paragraf yang dikutip / indentasi peretasan ini mungkin berhasil (tergantung pada mesin render):

| | | |
|-|-|-|
|  | _"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."_ | |
|

yang diterjemahkan sebagai:

masukkan deskripsi gambar di sini

geotheory
sumber
2

Gunakan ruang tanpa istirahat secara langsung  (tidak sama dengan !).

(Anda dapat menyisipkan HTML atau kode penurunan harga esoteris, tapi saya bisa memikirkan alasan yang lebih baik untuk menghentikan kompatibilitas dengan penurunan harga standar.)

cz
sumber
2

Untuk menjawab pertanyaan MengLu dan @ lifebalance sebagai jawaban atas jawaban SColvin (yang saya lebih suka dari jawaban yang diterima untuk kontrol yang diberikannya), sepertinya Anda bisa menargetkan elemen induk dari daftar ketika mengatur tampilan ke none, menambahkan elemen di sekitarnya jika perlu. Jadi jika kita mengira kita melakukan ini untuk daftar isi, kita dapat memperluas jawaban SColin:

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;
}
Arepo
sumber
2

Seperti yang ditunjukkan oleh @AlexDupuy dalam komentar, daftar definisi dapat digunakan untuk ini.

Ini tidak didukung oleh semua prosesor penurunan harga, tetapi tersedia secara luas: Panduan Penurunan Harga - Daftar Definisi

Term 1
: definition 1
: definition 2

Term 2
: definition 1
: definition 2

Render sebagai (html):

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

Biasanya DTdirender dalam format seperti judul, dan masing-masing DDdiberikan sebagai teks berlekuk di bawah ini.

Jika Anda tidak menginginkan tajuk / istilah, cukup gunakan ruang yang tidak melanggar sebagai pengganti istilah definisi:

&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

Anda dapat melihat ini dalam tindakan dengan menyalin-menempelkan contoh di atas ke situs ini: Stack Edit Markdown Editor

Cuplikan layar rendering DL di Stack Edit

JohnLBevan
sumber
1
The & nbsp; bekerja dengan sempurna. Terima kasih
Kevin Mason
0

Beberapa implementasi penurunan harga tampaknya menggunakan ~karakter untuk lekukan.

npclaudiu
sumber
0

Alternatif lain adalah menggunakan editor penurunan harga seperti StackEdit . Ini mengubah html (atau teks) menjadi penurunan harga di editor WYSIWYG. Anda dapat membuat indentasi, judul, daftar di editor, dan itu akan menunjukkan kepada Anda teks yang sesuai dalam format penurunan harga. Anda kemudian dapat menyimpan, menerbitkan, membagikan, atau mengunduh file. Anda dapat mengaksesnya di situs web mereka - tidak diperlukan unduhan!

lizasperling
sumber
0

Oke, dengan sedikit HTML dalam kode R Anda, saya melakukan kode berikut untuk menghasilkan teks murni dalam R Markdown. The <h3 style="text-indent: 15em;">indentasi teks 15 ruang. Untuk pertanyaan awal, ubah 15 ke 6.

## 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>

Jadi kode yang dihasilkan memberikan format output yang saya inginkan. Saya menggunakan tab untuk dokumen penurunan harga dan sedang mencari untuk berbaris teks () yang berfungsi.

r output

Bryan Butler
sumber
0

Untuk kelengkapan, daftar berpoin lebih dalam:

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

Tingkat yang lebih dalam bersarang:

  • level pertama Item - tidak ada ruang di depan karakter bullet
    • level kedua item Aa - 1 ruang sudah cukup
      • tingkat ketiga Aaa item - 5 spasi min
    • item Ab tingkat kedua - 4 spasi mungkin juga
  • item tingkat B pertama

    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.
    
Franta
sumber
0

Jika Anda bekerja dengan poin-poin, coba ini:

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

Ini adalah metode yang saya gunakan ketika penurunan harga styling.


sumber
0

Di gitlab.com, satu ruang en (U + 2002) diikuti oleh ruang em tunggal (U + 2003) berfungsi dengan baik.

Agaknya pengulangan atau kombinasi karakter spasi lain yang tidak diperhitungkan dengan tepat juga cukup.

Jan Kyu Peblik
sumber
0

Salah satu masalah dengan memulai baris Anda dengan spasi yang tidak putus adalah bahwa jika baris Anda cukup panjang untuk dibungkus, maka ketika garis tersebut tumpah ke baris kedua, karakter pertama dari garis melimpah dengan start hard left bukannya dimulai di bawah karakter pertama dari garis di atasnya.

Jika sistem Anda memungkinkan Anda untuk mencampur HTML dengan penurunan harga Anda, cara ciak dan ceria untuk mendapatkan indentasi adalah seperti ini:

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

Semantik di dalam HTML Anda itu omong kosong (bagian UL tanpa item LI), tetapi semua browser yang saya gunakan dengan senang hati indentasi apa yang ada di antara tag tersebut.

Jinlye
sumber