Markdown Tablo Oluşturucu
GFM (GitHub Flavored Markdown) tabloları, sütunları ayırmak için boru karakterlerini, başlığı tanımlamak için tireli bir ayırıcı satırı ve hizalamayı kontrol etmek için ayırıcı satırda isteğe bağlı iki noktaları kullanır. Format GitHub, GitLab, birçok statik site oluşturucusu ve çoğu Markdown düzenleyicide desteklenir.
GFM Tablo Sözdizimi
Minimum geçerli tablonun bir başlık satırı, bir ayırıcı satır ve en az bir veri satırı olması gerekir:
| Name | Role |
|------|------|
| Alice | Engineer |
| Bob | Designer |
Ayırıcı satır, hücre başına en az üç tire (---) içermelidir. Daha fazla tire sorun değildir; davranışı değiştirmezler, yalnızca kaynaktaki okunabilirliği etkilerler.
Sütun Hizalaması
Hizalama, ayırıcı satırdaki iki noktalarla ayarlanır:
| Left | Center | Right |
|:-----|:------:|------:|
| text | text | text |
| Sözdizimi | Hizalama |
|---|---|
:--- | Sola (varsayılan) |
:---: | Ortaya |
---: | Sağa |
Sağa hizalama, rakamların hizalanmasını istediğiniz sayısal sütunlar için en kullanışlıdır.
Kaynakta Boru Biçimlendirmesi
Her satırın başındaki ve sonundaki borular spesifikasyonda isteğe bağlıdır, ancak çoğu biçimlendirici ve linter bunları gerektirir. Boruları görsel olarak hizalamak için hücreleri doldurmanız gerekmez. Bu iki tablo aynı şekilde işlenir:
| Column 1 | Column 2 | Column 3 |
|----------|----------|----------|
| Short | A much longer cell value | x |
|Column 1|Column 2|Column 3|
|---|---|---|
|Short|A much longer cell value|x|
Prettier ve benzeri biçimlendiriciler, kaydederken kısa sürümü hizalanmış sürüme dolduracaktır.
Markdown Tablolarının Yapamadıkları
Birleştirilmiş hücre yok
Her satır tam olarak aynı sayıda hücreye sahip olmalıdır. colspan veya rowspan eşdeğeri yoktur. Bir hücre kavramsal olarak boşsa, bir boşluk kullanın veya boş bırakın: | |.
İç içe tablo yok
Bir tablo hücresi başka bir tablo içeremez. Hücreler ayrıca kod çitleri, blok alıntılar veya listeler gibi blok düzeyinde öğeler de içeremez. Hücrelerin içinde satır içi biçimlendirme (kalın, kod, bağlantılar) çalışır.
Çok satırlı hücre yok
Bir hücre kaynakta birden çok satıra yayılamaz. Bir hücreye çok fazla metin koymanız gerekiyorsa, tabloyu okumak zor olacaktır. Geçici çözüm, hücreleri kısa tutmak veya farklı bir içerik yapısına geçmektir.
Yedek Olarak HTML Tabloları
GFM tabloları yeterince esnek olmadığında, ham HTML çoğu Markdown belgesinde çalışır:
<table>
<tr>
<th colspan="2">Merged header</th>
</tr>
<tr>
<td>Cell 1</td>
<td>Cell 2</td>
</tr>
</table>
Bu, GitHub’da ve çoğu statik site oluşturucusunda çalışır. HTML’i güvenlik nedeniyle temizleyen ortamlarda (bazı wikiler, bazı Markdown önizleme araçları) çalışmaz.
Verilerden Tablo Oluşturma
Yapılandırılmış verileriniz varsa ve Markdown’a dönüştürmeniz gerekiyorsa, birkaç yaklaşım iyi çalışır:
import pandas as pd
df = pd.read_csv("data.csv")
print(df.to_markdown(index=False))
// Node.js: temel TSV'den Markdown tablosuna
const rows = tsvString.trim().split("\n").map(r => r.split("\t"));
const header = `| ${rows[0].join(" | ")} |`;
const sep = `| ${rows[0].map(() => "---").join(" | ")} |`;
const body = rows.slice(1).map(r => `| ${r.join(" | ")} |`).join("\n");
console.log([header, sep, body].join("\n"));
Kaynak Tabloları Okunabilir Tutma
Kaynakta elle düzenlediğiniz tablolar için birkaç alışkanlık yardımcı olur. Sütun içeriğini kısa tutun (mümkünse 20 karakterin altında). Hizalamanın otomatik olarak halledilmesi için bir Markdown biçimlendirici (prose-wrap seçenekli Prettier) kullanın. Çoğunlukla işlenmiş halde okunacak ve nadiren düzenlenecek tablolar için kaynaktaki hizalama daha az önemlidir.
VS Code kullanıyorsanız, Markdown Table uzantısı tabloları kaydederken otomatik olarak biçimlendirebilir ve bir elektronik tabloda yaptığınız gibi Tab tuşuyla hücreler arasında gezinmenizi sağlar.