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

تبدیل HTML به Markdown رایگان

HTML را به Markdown تمیز تبدیل کنید. عنوان‌ها، لیست‌ها، لینک‌ها، تصاویر، بلوک‌های کد، جداول و نقل‌قول‌ها را مدیریت می‌کند. مناسب برای انتقال محتوا از CMSها.

پس از بارگذاری آفلاین کار می‌کند

HTML را در سمت چپ جای‌گذاری کنید؛ Markdown تمیز در سمت راست ظاهر می‌شود. Markdown از HTML ساده‌تر است، بنابراین استایل، اسکریپت‌ها و جداول پیچیده ساده‌سازی یا حذف می‌شوند.

نکته: متن غنی کپی‌شده از وب‌سایت، Word یا Google Docs را درج کنید - HTML آن به‌طور خودکار ثبت می‌شود.

خروجی Markdown
خروجی Markdown اینجا نمایش داده می‌شود…

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

  • مایگریشن محتوای وبلاگ به Markdownپست های قدیمی WordPress، Medium یا سیستم مدیریت محتوای دیگری را به Markdown برای تولید کننده های سایت ایستا تبدیل کنید.
  • تبدیل محتوای ایمیل به Markdownمتن را از ایمیل های HTML یا مقالات وب بکشید و به Markdown برای برنامه های یادداشت تبدیل کنید.
  • تبدیل اسناد HTML به Markdownمستندات HTML منسوخ شده را به سیستم اسناد مبتنی بر Markdown منتقل کنید (Docusaurus، GitBook، MkDocs).
  • پاکسازی صادرات CMSHTML نامرتب صادر شده از CMS را پاک کنید و آن را به Markdown سازگار با کنترل نسخه تبدیل کنید.
  • محتوای HTML را برای فرمت های LLM آماده کنیدمحتوای HTML را به Markdown تمیز برای استفاده در فرمت های ChatGPT، Claude یا دیگر LLM تبدیل کنید.

نحوه کار

این تبدیل‌کننده حول یک خط لوله عبارت باقاعده دست‌نویس و بدون وابستگی ساخته شده — هیچ کتابخانه شخص‌ثالثی وارد نمی‌شود. کل تبدیل درون مرورگر شما از طریق یک فراخوانی React useMemo اجرا می‌شود و خروجی را هنگام تایپ به‌روز می‌کند.

  1. 1
    تشخیص چسباندن متن غنی را رهگیری می‌کند
    یک کنترل‌کننده ClipboardEvent پیش از اینکه مرورگر بتواند متن ساده بچسباند، نوع text/html را از کلیپ‌بورد می‌خواند. این یعنی چسباندن مستقیم از یک صفحه وب، Google Docs، یا Word به‌طور خودکار مارک‌آپ خام HTML را می‌گیرد — نیازی نیست ابتدا منبع را ببینید.
  2. 2
    لوله عبارت باقاعده چندپاسی تگ‌ها را حذف و تبدیل می‌کند
    تبدیل‌کننده ترتیب سختگیرانه‌ای از پاس‌های عبارت باقاعده اجرا می‌کند: ابتدا <head>، <script>، <style> و کامنت‌های HTML را حذف می‌کند، سپس بلوک‌های کد محصور را پشت جانگهدارهای بایت تهی پنهان می‌کند تا پاس‌های بعدی محتوای کد را خراب نکنند. پاس‌های بعدی سرتیترها (h1–h6)، نقل‌قول‌های بلوکی، تصاویر، لینک‌ها، پررنگ/ایتالیک/خط‌خورده، لیست‌های ترتیبی و غیرترتیبی و جداول پایپ ساده GFM را مدیریت می‌کنند — هر پاس یک خانواده تگ خاص را هدف می‌گیرد.
  3. 3
    رمزگشایی موجودیت و نرمال‌سازی فضای خالی
    پس از حذف همه تگ‌ها، یک تابع اختصاصی decodeEntities موجودیت‌های نام‌دار (&amp;، &lt;، و غیره) به‌علاوه ارجاعات کاراکتر عددی دهدهی و هگزادسیمال (&#39;، &#x27;) را با استفاده از String.fromCodePoint حل می‌کند. نقطه‌کدهای بدشکل یا خارج-از-محدوده به‌جای پرتاب خطا با کاراکتر جایگزین یونیکد جایگزین می‌شوند. سپس فاصله‌های پسرو، توالی‌های جمع‌شده خطوط خالی، و فضای خالی اضافی نرمال می‌شوند.
  4. 4
    بخش‌های کد محافظت‌شده بازگردانده می‌شوند
    سیستم جانگهدار (شاخص‌های محدودشده با بایت-هیچ) آخرین چیزی است که باز می‌شود، پس از تکمیل حذف، رمزگشایی، و جمع‌شدن فضای خالی. این از رمزگشایی دوباره توالی‌های موجودیت درون رشته‌های لفظی کد جلوگیری می‌کند — یک باگ رمزگشایی-دوگانه رایج در تبدیل‌کننده‌های ساده‌لوح HTML به Markdown.

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

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