Markdown İçindekiler Tablosu Oluşturucu
Markdown başlıklarından bağlantılı bir içindekiler tablosu oluşturur.
Bu araç hakkında
Markdown İçindekiler Tablosu (TOC), okuyucuların belirli bölümlere hızlı bir şekilde atlamasına yardımcı olan bir belgenin başında yer alan navigasyon listesidir. Bu oluşturucu, Markdown kaynağınızdan başlıkları otomatik olarak çıkarır ve GitHub, GitLab ve çoğu Markdown oluşturucusuyla uyumlu bağlantılı çapalar oluşturur. TOC girişlerini manuel olarak yazmanın sıkıcı işini ortadan kaldırır ve belgeniz gelişirken bağlantıların doğru kalmasını sağlar.
Markdown metninizi yapıştırın ve Oluştur'a tıklayarak anında çalışan çapa bağlantıları içeren biçimlendirilmiş bir TOC oluşturun. Araç özelleştirilebilir seçenekleri destekler: dahil edilecek maksimum başlık derinliğini (H1'den H6'ya) kontrol edin ve tercih ettiğiniz madde işareti stilini (tireler, yıldızlar veya artı işaretleri) seçin. Yinelenen başlıklar otomatik olarak algılanır ve çapa çatışmalarını önlemek için #heading-1, #heading-2 gibi soneklerle numaralandırılır.
Sıkça Sorulan Sorular
Kod Uygulaması
import re
def heading_to_anchor(text: str) -> str:
"""Convert heading text to a GitHub-Flavored Markdown anchor."""
anchor = text.lower()
anchor = re.sub(r"[^\w\s-]", "", anchor) # remove punctuation (keep letters, digits, -, _)
anchor = re.sub(r"\s+", "-", anchor.strip()) # spaces → hyphens
return anchor
def generate_toc(markdown: str, max_depth: int = 3, bullet: str = "-") -> str:
lines = []
seen: dict[str, int] = {}
for line in markdown.splitlines():
m = re.match(r"^(#{1,6})\s+(.*)", line)
if not m:
continue
level = len(m.group(1))
if level > max_depth:
continue
title = m.group(2).strip()
anchor = heading_to_anchor(title)
# Deduplicate: second occurrence → anchor-1, third → anchor-2, ...
count = seen.get(anchor, 0)
seen[anchor] = count + 1
if count > 0:
anchor = f"{anchor}-{count}"
indent = " " * (level - 1)
lines.append(f"{indent}{bullet} [{title}](#{anchor})")
return "\n".join(lines)
md = """# Getting Started
## Installation
### Prerequisites
### Install
## Configuration
## Usage
# Advanced
## Performance
## Security
"""
print(generate_toc(md, max_depth=3, bullet="-"))
# - [Getting Started](#getting-started)
# - [Installation](#installation)
# - [Prerequisites](#prerequisites)
# - [Install](#install)
# - [Configuration](#configuration)
# - [Usage](#usage)
# - [Advanced](#advanced)
# - [Performance](#performance)
# - [Security](#security)Comments & Feedback
Comments are powered by Giscus. Sign in with GitHub to leave a comment.