پرش به محتوای اصلی

تولید درخت ASCII رایگان

یک لیست با تورفتگی را به درخت پوشه‌ای تمیز (├── └──) برای READMEها و مستندات تبدیل کنید. خروجی Unicode یا ASCII خالص. کاملاً در مرورگر شما اجرا می‌شود.

پس از بارگذاری آفلاین کار می‌کند
گزینه‌های ورود
به‌طور پیش‌فرض node_modules، .git، خروجی ساخت و کش‌ها رد می‌شوند.

برای تودرتو کردن، از فاصله یا tab استفاده کنید. هر سطح عمیق‌تر یک فرزند می‌شود. پس از ' # '، ' // '، ' - ' یا ' <- ' یک یادداشت اضافه کنید تا در خروجی به‌صورت توضیح هم‌تراز شود. فهرستی از مسیرها (git ls-files، find، dir /s /b) را جای‌گذاری کنید تا تودرتو شوند؛ برای علامت‌گذاری پوشه خالی، نام را با / تمام کنید. وارد کردن یا رها کردن یک پوشه یا .zip فقط نام فایل‌ها را می‌خواند، نه محتوای آن‌ها را، و node_modules، .git و دیگر پوشه‌های ساخت را رد می‌کند (به «گزینه‌های ورود» نگاه کنید).

درخت
سبک توضیح
my-project
├── src
│   ├── components
│   │   ├── Button.tsx
│   │   └── Modal.tsx
│   ├── lib
│   │   └── utils.ts
│   └── index.ts  # entry point
├── public
│   └── favicon.ico
├── package.json
└── README.md

💡 ساختار پوشه (یا هر فهرست تودرتو) را بچسبانید و یک درخت تمیز برای README، کامنت یا مستندات دریافت کنید. برای محیط‌هایی که کاراکترهای خط‌کشی ندارند از حالت ASCII استفاده کنید. همه چیز در مرورگر اجرا می‌شود.

کاربردهای رایج

  • درختی پوشه را به README اضافه کنیدیک درخت ساختار پروژه تمیز را برای مستند کردن مخزن خود تولید کنید.
  • ساختار پروژه را مستند کنیددرخت فهرست را برای اسناد تکنیکی و wiki ایجاد کنید.
  • درختی برای نظر کد ایجاد کنیدنمودار ساختار را برای تعبیه در نظرات کد منبع تولید کنید.
  • درخت فایل را در سخنرانی نشان دهیدنمودار فهرست تمیز را برای اسلاید ها و آموزش ها ایجاد کنید.
  • طرح را به درخت تبدیل کنیدهر طرح تودرتو را تجسم دهید - نه فقط فایل ها - به عنوان درخت.

نحوه کار

مستندسازی ساختار پوشه‌ها در README معمولاً یعنی رسم دستی خطوط ├── و └──. این ابزار آن‌ها را از یک فهرست تورفته ساده تولید می‌کند.

  1. 1
    یک فهرست تورفته تایپ می‌کنید
    یک مورد در هر خط؛ برای تودرتو کردن با فاصله یا تب تورفتگی بدهید. عمق تورفتگی سلسله‌مراتب را تعیین می‌کند.
  2. 2
    در یک درخت تجزیه می‌شود
    یک تجزیه‌کننده بر اساس stack فاصله را به ساختار درخت تبدیل می‌کند، کاملاً در مرورگر شما.
  3. 3
    اتصال‌کننده‌های درخت رسم می‌شوند
    راهنماهای درست ├──، └── و │ ساخته می‌شوند و خطوط عمودی به‌درستی در شاخه‌های تودرتو ادامه می‌یابند.
  4. 4
    نتیجه را کپی کنید
    اتصال‌دهنده‌های Unicode یا ASCII ساده را انتخاب کنید و درخت را در README، مستندات یا یک کامنت کد کپی کنید.

ابزار متن ساده‌ای که کاملاً روی دستگاه شما اجرا می‌شود — هیچ چیزی آپلود نمی‌شود.

راهنما

مثال عملی

صفحه با یک مثال ۱۲ خطی باز می‌شود: "my-project" که زیر آن "src"، "public"، "package.json" و "README.md" قرار دارند، و زیر "src" نیز "components"، "lib" و "index.ts" هستند. با سبک پیش‌فرض «├── یونیکد»، ├── موردی را نشان می‌دهد که هم‌ردیفی در زیر آن هست، └── آخرین مورد را نشان می‌دهد، و │ یک شاخه را به پایین ادامه می‌دهد. یادداشتی که به‌صورت "index.ts # entry point" تایپ شود به‌صورت "index.ts # entry point" درمی‌آید، و همهٔ یادداشت‌ها در یک ستون و با دو فاصله پس از بلندترین خطی که یادداشت دارد تراز می‌شوند. «- Markdown» را برای گلوله‌های تورفته (دو فاصله در هر سطح) یا «|-- ASCII» را برای نویسه‌های ساده فشار دهید. چسباندن سه مسیر src/app/page.tsx، src/app/layout.tsx و src/lib/utils.ts، پوشهٔ src را با app (شامل page.tsx، layout.tsx) و lib (شامل utils.ts) در زیر آن می‌سازد.

کدام تنظیمات را استفاده کنید و محدودیت‌ها

  • سبک مناسب مقصد درخت را انتخاب کنید. «├── یونیکد» در فایل‌های README و مستندات بهترین ظاهر را دارد. «|-- ASCII» فقط از نویسه‌های ساده استفاده می‌کند، مناسب برای ترمینال‌ها، لاگ‌ها و توضیحات کد که ممکن است نویسه‌های رسم‌جداول را نمایش ندهند. «- Markdown» یک فهرست گلوله‌ای می‌سازد. «دریافت» فایل tree.txt یا در سبک Markdown فایل tree.md را ذخیره می‌کند.
  • با تورفتگی، شاخه‌بندی کنید یا مسیرها را بچسبانید. هر تورفتگی عمیق‌تر، یک فرزند برای خط بالایی می‌سازد. هر Tab چهار فاصله محسوب می‌شود، و کلید Tab در کادر دو فاصله درج می‌کند (Shift+Tab آن‌ها را حذف می‌کند؛ برای خروج از کادر، Escape و سپس Tab را فشار دهید). همچنین می‌توانید فهرستی از مسیرها مانند خروجی git ls-files، find یا dir /s /b را با جداکننده‌های / یا \ بچسبانید تا در یک درخت ادغام شوند. نام را با / تمام کنید تا یک پوشهٔ خالی مشخص شود.
  • پس از یک جداکننده، یادداشت اضافه کنید. پس از نام، « # »، « // »، « - » یا « <- » را با یک فاصله در هر طرف قرار دهید، بقیهٔ خط به یادداشت تبدیل می‌شود و در یک ستون تراز می‌گردد. «سبک یادداشت» تعیین می‌کند که خروجی #، // یا <-- را نشان دهد. نامی که شامل فاصله، خط تیره و فاصلهٔ دیگر باشد، مانند "My Doc - final.docx"، به نام و یادداشت تقسیم می‌شود، بنابراین آن را بدون فاصله در اطراف خط تیره بنویسید.
  • پوشه‌ها را ابتدا بیاورید و با ممیز مشخص کنید. «ابتدا پوشه‌ها» در هر سطح پوشه‌ها را پیش از فایل‌ها قرار می‌دهد و در غیر این صورت ترتیب شما را حفظ می‌کند. «/ در انتها» یک / پس از هر پوشه اضافه می‌کند، یعنی هر نامی که فرزند داشته باشد یا آن را با / تمام کرده باشید.
  • یک درخت را برای تغییر سبک بچسبانید. اگر متنی را بچسبانید که از قبل شبیه یک درخت است (خطوط دارای ├──، └──، |-- یا +--، از جمله خروجی tree لینوکس و tree /f ویندوز)، کادر آن را به یک فهرست تورفته تبدیل می‌کند و پیام «درخت چسبانده شده شناسایی شد — به فهرست تورفتهٔ قابل ویرایش تبدیل شد.» را نشان می‌دهد. سپس می‌توانید سبک را تغییر دهید، مرتب‌سازی کنید یا یادداشت اضافه کنید. خطوط سرصفحه‌ای که ویندوز چاپ می‌کند، مانند "Folder PATH listing" و "Volume serial number"، حذف می‌شوند.
  • نام‌ها را از یک پوشه یا فایل zip وارد کنید. «وارد کردن پوشه» (در گوشی‌ها مخفی است)، انداختن یک پوشه روی کادر، یا «وارد کردن zip.» فقط نام فایل‌ها را می‌خواند، نه محتوای آن‌ها را. در بخش «گزینه‌های ورود»، «نادیده گرفتن نام‌ها (جداشده با کاما، * مجاز است)» به‌طور پیش‌فرض node_modules، .git، dist، build، .next، __pycache__، .venv و دیگر پوشه‌های معمول ساخت را رد می‌کند، و «حداکثر عمق» از ۷ شروع می‌شود و از ۱ تا ۳۰ قابل تنظیم است. عمق، پوشه‌های بالای یک فایل را با احتساب پوشهٔ اصلی می‌شمارد. یک یادداشت می‌گوید چه تعداد فایل نادیده گرفته شده است.

مشکلات رایج و راه حل آن‌ها

درخت صاف و بدون شاخه از آب درمی‌آید.
هیچ خطی تورفتگی نداشت، بنابراین هر خط به یک آیتم سطح بالا تبدیل شد. زیرمجموعه‌ها را با فاصله یا کلید Tab تورفتگی دهید. تنها استثنا لیستی از مسیرها است (نام‌هایی که شامل / یا \ هستند) که به‌صورت خودکار تودرتو می‌شود، اما فقط در صورتی که هیچ‌یک از خطوط تورفتگی نداشته باشند.
بخشی از نام فایل به‌صورت یادداشت نمایش داده می‌شود.
یک فاصله، سپس #، //، - یا <- و سپس یک فاصله دیگر یک یادداشت را شروع می‌کند. "My Doc - final.docx" به نام "My Doc" با یادداشت "final.docx" تبدیل می‌شود. فاصله‌های اطراف خط تیره را حذف کنید، مانند "My Doc-final.docx". یک # یا - بدون فاصله در هر دو طرف، مانند "C# notes.md"، در نام باقی می‌ماند.
می‌گوید "Couldn't read that .zip. Check that it's a valid, unencrypted zip file."
فایل نتوانست به‌عنوان یک فایل zip باز شود: ممکن است آسیب دیده، با رمز محافظت شده یا واقعاً یک فایل zip نباشد. یک فایل zip معمولی بسازید و دوباره امتحان کنید. "That .zip has no entries." به این معنی است که بایگانی خالی است.
پس از وارد کردن یک پوشه، فایل‌هایی وجود ندارند.
به یادداشت زیر کادر نگاه کنید، مانند "12 files skipped (ignored or too deep)". فایل‌ها وقتی نادیده گرفته می‌شوند که هر نام پوشه یا فایلی با "Ignore names" مطابقت داشته باشد، یا وقتی در عمقی بیشتر از "Max depth" قرار گرفته باشند. "Import options" را باز کنید و لیست را ویرایش کنید یا Max depth را افزایش دهید؛ این تغییر به آخرین وارد کردن شما اعمال می‌شود مگر اینکه از آن زمان متن را ویرایش کرده باشید. همچنین، یک پوشه رها شده فقط تا حدود ۵۰,۰۰۰ نام قبل از اعمال لیست نادیده‌گرفتن خوانده می‌شود، بنابراین یک پروژه با یک پوشه node_modules بزرگ می‌تواند فایل‌های واقعی را از دست بدهد: به‌جای آن از "Import folder" یا یک فایل zip ساخته شده بدون node_modules استفاده کنید.
می‌گوید "Couldn't read the dropped folder or file."
مرورگر از فهرست کردن آیتم رها شده خودداری کرد. به‌جای آن از "Import folder" استفاده کنید، یا یک فایل .zip بسازید و از "Import .zip" استفاده کنید. در تلفن‌ها گزینه پوشه مخفی است، بنابراین در آنجا از فایل zip استفاده کنید.

مقایسه آن

برای پوشه‌ای که از قبل دارید، دستور tree (یا tree /f در ویندوز) در ترمینال یک لیست دقیق را در یک مرحله ارائه می‌دهد و این ابزار می‌تواند خروجی آن را بازسازی کند. از این ابزار زمانی استفاده کنید که می‌خواهید یک ساختار را که هنوز وجود ندارد برنامه‌ریزی کنید، فقط بخشی از یک پوشه را نشان دهید، یادداشت اضافه کنید یا بین سبک‌های Unicode، ASCII و Markdown جابجا شوید. این ابزار فقط با نام‌ها کار می‌کند، بدون اندازه فایل، تاریخ، مجوزها یا محتوا، و وارد کردن پوشه‌های ساخت رایج را نادیده می‌گیرد مگر اینکه لیست را تغییر دهید. در میان سبک‌ها، Unicode خوانایی بهتری دارد اما کاراکترهای جدول‌کشی آن ممکن است در برخی جاها نمایش داده نشوند، ASCII انتخاب امنی برای ترمینال‌ها و کامنت‌های کد است و Markdown برای لیست‌هایی است که باید به‌صورت نقطه‌گذاری نمایش داده شوند.

ابزارهای مرتبط

سؤالات متداول