Langsung ke konten utama

Format File

Apa Itu Markdown? Sintaks, CommonMark, dan GFM

Markdown adalah bahasa markup ringan yang menambahkan judul, daftar, dan tautan ke teks polos hanya dengan beberapa simbol. Kami membahas sejarahnya, standarnya, dan apa yang bertahan saat file MD diubah ke Word atau PDF.

Penulis: Hemen Dönüştür Editör EkibiDiterbitkan: 7 menit baca

Lencana file bertuliskan MD dengan simbol pagar

Bayangkan README sebuah proyek perangkat lunak, daftar berjudul di aplikasi catatan, atau kata yang Anda tebalkan dengan tanda bintang di aplikasi chat. Di balik semuanya ada gagasan yang sama: Markdown. Markdown adalah bahasa markup ringan yang memungkinkan Anda menentukan judul, daftar, tautan, dan tabel dengan menambahkan beberapa simbol sederhana ke teks polos. File-nya tetap bisa dibaca di editor teks apa pun, tetapi bisa diubah menjadi halaman HTML yang rapi, dokumen Word, atau PDF kapan pun Anda butuhkan. Artikel ini membahas asal-usul Markdown, sintaks dasarnya, perbedaan CommonMark dan GitHub Flavored Markdown, serta apa yang perlu diperhatikan saat mengonversi file MD.

Apa itu Markdown?

Markdown adalah sekaligus seperangkat konvensi penulisan dan nama umum untuk alat yang mengubah teks yang ditulis dengan konvensi itu menjadi HTML. File-nya biasanya disimpan dengan ekstensi .md atau .markdown. Menurut penciptanya, John Gruber, tujuan desain utamanya adalah keterbacaan: dokumen Markdown harus bisa diterbitkan apa adanya sebagai teks polos, tanpa terlihat seperti sudah ditandai dengan tag atau instruksi format. Jika HTML memerlukan <strong>penting</strong>, Markdown cukup memakai **penting**, dan versi mentahnya pun tetap terbaca wajar.

Sejarah singkat

John Gruber menciptakan Markdown pada 2004, dengan Aaron Swartz berperan sebagai teman diskusi untuk gagasan-gagasannya. Sintaksnya mengambil konvensi dari email teks polos (tanda bintang untuk penekanan, tanda hubung untuk daftar) dan dari bahasa markup terdahulu seperti setext dan Textile. Versi 1.0.1 dari Markdown.pl, skrip Perl yang diterbitkan Gruber di situsnya, Daring Fireball, bertanggal 17 Desember 2004.

Namun, deskripsi Gruber lebih berupa penjelasan lewat contoh daripada spesifikasi formal. Kasus-kasus yang ambigu (daftar bersarang, blok kode berindentasi, campuran dengan HTML) membuat setiap implementasi mengambil keputusannya sendiri, dan teks yang sama mulai menghasilkan keluaran berbeda di alat yang berbeda. Dua tanggapan besar pun muncul:

  • CommonMark (2014): spesifikasi yang dipimpin John MacFarlane, yang mendefinisikan Markdown tanpa ambiguitas dan membuatnya bisa diuji dengan ratusan contoh. Versi-versi pertamanya muncul pada musim gugur 2014; versi saat ini adalah 0.31.2, bertanggal 28 Januari 2024. Spesifikasi ini belum dinyatakan sebagai 1.0.
  • GitHub Flavored Markdown (GFM, 2017): spesifikasi formal GitHub yang dibangun di atas CommonMark. GFM menambahkan ekstensi seperti tabel, daftar tugas, coretan (strikethrough), autolink yang diperluas, serta, demi keamanan, penyaringan tag HTML mentah tertentu. Spesifikasi terbaru yang diterbitkan adalah 0.29-gfm, bertanggal 6 April 2019.

Markdown juga mendapat pengakuan dalam infrastruktur internet: RFC 7763, yang terbit pada Maret 2016, mendaftarkan media type (MIME type) text/markdown dengan parameter opsional variant yang menunjukkan varian Markdown yang dimaksud penulis.

Varian Markdown utama

Selain CommonMark dan GFM, ada varian lain yang tersebar luas. RFC 7764, yang terbit bersamaan dengan RFC 7763, mendaftarkan beberapa di antaranya dan memberikan panduan penggunaan:

  • Markdown Extra: ekstensi awal yang menambahkan catatan kaki, daftar definisi, dan tabel.
  • MultiMarkdown: varian untuk penulisan akademik, dengan metadata, sitasi, dan rujukan silang.
  • Pandoc Markdown: varian yang dipakai konverter Pandoc, dengan banyak ekstensi untuk menulis buku dan makalah.

Aturan praktisnya: jika dokumen Anda hanya memakai judul, daftar, tautan, kode, dan tabel sederhana, tampilannya akan sama hampir di mana saja. Jika Anda mengandalkan catatan kaki, daftar definisi, atau jenis blok khusus, periksa varian mana yang didukung lingkungan tujuan.

Sintaks dasar

Bagian Markdown yang Anda perlukan sehari-hari bisa dipelajari dalam beberapa menit:

# Judul tingkat satu
## Judul tingkat dua
Paragraf ini berisi **tebal**, *miring*, dan `kode`.
- Daftar berpoin
- Butir kedua
  - Sub-butir berindentasi
1. Daftar bernomor
2. Langkah kedua
[Teks tautan](https://example.com)
![Deskripsi gambar](gambar.png)
> Kutipan blok
```
Blok kode beberapa baris
```

Tabel dan daftar tugas, yang ditambahkan oleh GFM, terlihat seperti ini:

| Format | Ekstensi |
|--------|----------|
| Markdown | .md |
| Teks polos | .txt |
- [x] Tulis draf
- [ ] Tinjau ulang

Paragraf dipisahkan oleh baris kosong. Satu pindah baris dianggap sebagai bagian dari paragraf yang sama di sebagian besar implementasi; untuk memaksa pindah baris, akhiri baris dengan dua spasi. Anda juga bisa menulis HTML langsung di dalam Markdown. CommonMark mengizinkannya, meskipun lingkungan seperti GFM memblokir tag tertentu demi keamanan.

Di mana Markdown digunakan?

  • Pengembangan perangkat lunak: README, changelog, dan panduan kontribusi, serta issue dan komentar tinjauan kode di platform seperti GitHub dan GitLab.
  • Dokumentasi teknis: generator situs statis yang membangun situs web dari file Markdown.
  • Pencatatan: banyak aplikasi catatan menyimpan atau mengekspor catatan sebagai Markdown.
  • Platform chat dan komunitas: platform seperti Reddit dan Discord memakai varian Markdown.
  • Penulisan dan penerbitan: menghasilkan HTML, PDF, DOCX, dan EPUB dari satu sumber Markdown dengan alat seperti Pandoc.
  • Alat AI: asisten AI berbasis chat sering memformat jawabannya dalam Markdown.

Kelebihan dan kekurangan

KelebihanKekurangan
Tetap terbaca bahkan dalam bentuk mentahVarian-variannya berperilaku berbeda
Teks polos: kecil, mudah dipindahkan, ramah kontrol versiTidak ada font, warna, atau tata letak halaman
Mudah diubah ke HTML, PDF, dan WordTidak ada tabel rumit (sel gabungan)
Bisa dipelajari dalam hitungan menitGambar berada di file terpisah
Tidak terikat pada program tertentuKesalahan spasi dan indentasi mengubah hasilnya

Program apa yang bisa membuka Markdown?

Karena Markdown adalah teks polos, file ini bisa dibuka di editor teks apa pun, termasuk Notepad dan TextEdit. Untuk pratinjau berformat, Anda bisa memakai pratinjau Markdown bawaan di Visual Studio Code atau editor khusus seperti Obsidian dan Typora. GitHub dan GitLab menampilkan file .md di repositori secara otomatis. Sebaliknya, Word tidak membuka Markdown sebagai teks berformat, jadi Anda perlu mengonversi file-nya terlebih dahulu.

Masalah umum dan cara mengatasinya

Daftar atau judul tidak tampil

CommonMark mewajibkan spasi setelah penanda judul: ## Judul, bukan ##Judul. Daftar yang mengikuti paragraf juga sering memerlukan baris kosong di antaranya agar tampil dengan benar.

Baris-baris menyatu

Satu pindah baris tidak memisahkan paragraf. Sisakan baris kosong untuk paragraf baru, atau akhiri baris dengan dua spasi untuk pindah baris di dalam paragraf.

Tabel berfungsi di satu platform tetapi tidak di platform lain

Tabel bukan bagian dari Markdown asli Gruber maupun inti CommonMark; tabel berasal dari ekstensi seperti GFM. Periksa varian mana yang didukung platform tujuan.

Paragraf yang diawali angka berubah menjadi daftar bernomor

Baris seperti "2024. adalah tahun yang sibuk" diawali angka dan titik, sehingga bisa diurai sebagai daftar. Escape titiknya dengan garis miring terbalik (2024\.) untuk mencegahnya.

Tips mengonversi file Markdown

Di konverter kami, file Markdown diunggah ke server kami dan dihapus dalam 30 menit. Untuk membacanya, kami memakai pustaka Markdig dengan CommonMark dan ekstensi gaya GitHub (tabel, daftar tugas, catatan kaki, autolink).

  • Markdown ke PDF dan Markdown ke Word mempertahankan judul, daftar, blok kode, kutipan blok, dan tabel bergaris. Kotak centang daftar tugas diubah menjadi karakter ☑ dan ☐ agar tetap terlihat di Word dan PDF. Secara bawaan, teks diatur dengan font serif 12 pt, dan blok kode dengan font monospace.
  • Markdown ke HTML mengubah README menjadi halaman web mandiri dengan pengodean karakter yang dideklarasikan.
  • Untuk arah sebaliknya, Word ke Markdown, HTML ke Markdown, dan PDF ke Markdown menghasilkan Markdown yang kompatibel dengan GitHub: judul, teks tebal dan miring, daftar, tabel, tautan, blok kode, dan kutipan blok dipertahankan; font, warna, dan tata letak halaman dibuang. Pada tabel tanpa baris header, baris pertama dijadikan header karena tabel GFM memerlukannya. Paragraf biasa yang diawali angka, seperti "1. Pasal", di-escape agar tidak berubah menjadi daftar secara tidak sengaja. File disimpan sebagai UTF-8 tanpa BOM.

Pertanyaan yang Sering Diajukan

Bagaimana cara membuka file MD?

Editor teks apa pun bisa membukanya. Untuk melihatnya dalam bentuk berformat, gunakan pratinjau Visual Studio Code atau editor Markdown; jika Anda ingin membacanya di Word, konversikan ke DOCX.

Apa perbedaan CommonMark dan GitHub Flavored Markdown?

CommonMark mendefinisikan sintaks inti Markdown dengan aturan yang presisi. GFM adalah superset yang menambahkan ekstensi di atas CommonMark, seperti tabel, daftar tugas, coretan, dan autolink yang diperluas.

Bisakah membuat tabel di Markdown?

Bisa, dengan ekstensi seperti GFM Anda dapat menulis tabel sederhana menggunakan garis tegak dan tanda hubung. Untuk struktur rumit seperti sel gabungan, gunakan tabel HTML atau siapkan dokumen di Word.

Apa perbedaan Markdown dan HTML?

Markdown adalah format penulisan yang lebih sederhana dan dirancang untuk diubah menjadi HTML. Markdown tidak bisa mengekspresikan semua yang bisa dilakukan HTML, tetapi bentuk mentahnya jauh lebih mudah dibaca. Anda tetap bisa menulis HTML di dalam Markdown saat diperlukan.

Apakah Markdown punya standar resmi?

Deskripsi asli Gruber bukan spesifikasi formal. Definisi presisi yang paling luas diterima saat ini adalah CommonMark, dan media type text/markdown didaftarkan oleh RFC 7763 pada Maret 2016.

Sumber

Konverter terkait

Semua artikel