فهرست

جست‌وجوی ابزارهاگزارش تغییرات

برای جابه‌جایی برای باز کردنمسئله را توضیح دهید، نه نام ابزار را

به یک README مارک‌داون فهرست مطالب اضافه کنید

README را جای‌گذاری کنید، سطح‌های عنوان ۲ تا ۴ را انتخاب کنید و سند تولیدشده را دانلود کنید. این ابزار فهرست را بعد از عنوان سطح یک قرار می‌دهد، پیش از هر عنوان واردشده یک لنگر صریح درج می‌کند و بلوک خود را میان نشانگرها می‌گذارد، بنابراین اجرای دوبارهٔ سند در ابزار، به‌جای تکرار، آن را جایگزین می‌کند.

عنوان‌های ATX و Setext شناسایی می‌شوند. خطوط شبیه به عنوان درون کد حصاردار یا تورفته نادیده گرفته می‌شوند.

سطح ۲ معمولاً عنوان اصلی سند را بیرون از فهرست مطالبِ خودش نگه می‌دارد.

عنوان‌های پیوندشده
۴
لنگرهای تکراری رفع‌شده
۰
عمیق‌ترین سطح واردشده
۳

مارک‌داون با فهرست مطالب

document-with-toc.md · ۴۸۵ B

سند اصلی با یک بلوک تولیدشدهٔ قابل‌جایگزینی و لنگرهای صریح HTML پیش از عنوان‌ها.

هر عنوان پیوندشده

۵۲Installinstall
۷۳Requirementsrequirements
۹۲Usageusage
۱۱۳Command linecommand-line
نکات اصلی
  1. شروع از سطح ۲، عنوان README را بالای ناوبری تولیدشده نگه می‌دارد، به‌جای این‌که عنوان به خودش پیوند بخورد.

  2. نمونه‌کدهای حصاردار که خطوطی با # در ابتدا دارند، به ورودی‌های ناخواسته تبدیل نمی‌شوند.

  3. مارک‌داون دانلودشده هم پیوندها و هم لنگرهایشان را دارد، بنابراین به قواعد اسلاگ اختصاصی پلتفرم میزبان وابسته نیست.

چگونگی کار

مراحل انجام کار

  1. پایان خطوط را یکسان‌سازی کنید و فقط بلوک کامل فهرست مطالب و خطوط لنگری را که پیش‌تر همین ابزار تولید کرده حذف کنید.
  2. خطوط را به ترتیب اسکن کنید، حصارهای بک‌تیک و مد (~) را دنبال کنید و کد تورفته با چهار فاصله یا تب را نادیده بگیرید، سپس عنوان‌های ATX و Setext را تشخیص دهید.
  3. هر عنوان واردشده را به یک اسلاگ یونیکد با حروف کوچک ساده کنید، سپس هرگاه نام‌های نرمال‌شده تداخل کنند پسوند شمارشی بیفزایید، یعنی ۲ برای دومی، ۳ برای سومی و همین‌طور تا آخر.
  4. لنگر دقیق HTML را پیش از هر عنوان واردشده درج کنید و یک فهرست تودرتوی نشانه‌گذاری‌شده را پس از عنوان آغازین سطح یک یا در ابتدای سند قرار دهید.

فرض‌ها

  • کم‌عمق‌ترین سطح انتخاب‌شده عمیق‌تر از بیشترین سطح انتخاب‌شده نیست.
  • اسکنر عنوان‌های معمولی ATX و عنوان‌های تک‌خطی Setext مطابق CommonMark را هدف می‌گیرد؛ یک رندرکنندهٔ کامل مارک‌داون با افزونه‌های خاص نیست.
  • رندرکنندهٔ مقصد لنگرهای خام HTML را مجاز می‌داند. پلتفرمی که HTML نوشته‌شده توسط نویسنده را حذف می‌کند، این مقصدهای صریح را هم حذف خواهد کرد.
  • شناسه‌های HTML موجود بدون نشانگر و یک بلوک نشانگر تولیدشدهٔ ناقص، محتوای نویسنده تلقی می‌شوند و هرگز حذف نمی‌شوند.

پرسش‌های رایج

فهرست تولیدشدهٔ README کجا درج می‌شود؟

وقتی اولین خط غیرخالی یک عنوان ATX سطح یک باشد، بلوک تولیدشده پس از آن عنوان می‌آید. در غیر این صورت در ابتدای سند قرار می‌گیرد.

آیا می‌توانم پس از تغییر عنوان‌ها فهرست را دوباره بسازم؟

بله. کامنت‌های آغاز و پایان تولیدشده، بلوک قدیمی را مشخص می‌کنند؛ آن بلوک پیش از اسکن عنوان‌ها حذف و با فهرست تازه جایگزین می‌شود.

منابع

  • CommonMark Specification 0.31.2CommonMarkبررسی‌شده در مربوط به عنوان‌های ATX، عنوان‌های Setext، کد تورفته و کد حصاردار
  • The id attributeWHATWGبررسی‌شده در مربوط به مقصدهای صریح پیوند در HTML

روش کامل، مثال محاسبه‌شده و همهٔ فرض‌های این نتیجه در این صفحه آمده است: سازندهٔ فهرست مطالب مارک‌داون.