گزینههای بیپایانی برای تبدیل اسناد از یک قالب به قالب دیگر وجود دارد؛ مانند عملکرد «ذخیره به عنوان» (Save As) در واژهپردازها یا انواع مبدلهای آنلاین. با این حال، یک ابزار متنباز نیز برای این کار وجود دارد که به طور مداوم مورد استفاده قرار میگیرد: Pandoc.
Pandoc خود را «مبدل جهانی اسناد» مینامد و از دهها قالب نشانهگذاری و نوع سند پشتیبانی میکند. این ابزار میتواند فایلهای Microsoft Word، نسخههای مختلف Markdown، PDF، فایلهای OpenDocument (که بیشتر توسط LibreOffice استفاده میشوند)، دفترچههای Jupyter، نشانهگذاری MediaWiki، فایلهای EPUB، ارائههای PowerPoint، LaTeX و بسیاری از قالبهای دیگر را پردازش کند. برخی قالبها فقط برای وارد کردن یا خروجی گرفتن قابل استفادهاند و نه هر دو.
Pandoc در مدیر بستهی بسیاری از توزیعهای لینوکس در دسترس است. کاربران مک نیز در صورت نصب Homebrew میتوانند آن را از همان مخزن دریافت کنند. برای کاربران ویندوز، بستهی نصب از وبسایت Pandoc قابل دانلود است، یا میتوان از مدیران بستهای مانند Chocolatey و Winget برای نصب آن استفاده کرد.
استفادهی پایه
Pandoc یک برنامهی خط فرمان است، اما برای بیشتر تبدیلها تنها دو پارامتر نیاز دارد. مسیر فایل ورودی به آن داده میشود و با پارامتر -o مسیر فایل خروجی تعیین میگردد. برای مثال، برای تبدیل یک فایل Markdown به HTML میتوان از دستور زیر استفاده کرد:
pandoc "readme.md" -o "readme.html"
خیلی ساده است، درست است؟ Pandoc معمولاً قالب فایل ورودی و خروجی را به طور خودکار تشخیص میدهد، بنابراین نیازی به تعریف آنها در هر بار استفاده نیست.
البته گاهی این تشخیص خودکار به درستی عمل نمیکند—مثلاً اگر فایل Markdown با پسوند .TXT ذخیره شده باشد یا فایل خروجی نباید پسوند داشته باشد. در چنین مواقعی میتوان قالب ورودی را با -f و قالب خروجی را با -t مشخص کرد:
pandoc "readme.md" -f markdown -t html -o "readme.html"
اگر لازم باشد یک فایل متنی بلند به قالب EPUB تبدیل شود تا در دستگاه کتابخوان باز شود، Pandoc میتواند این کار را انجام دهد:
pandoc "readme.txt" -o "readme_converted.epub"
همچنین اگر چند فایل Word وجود داشته باشد که باید به HTML تبدیل شوند تا بدون نیاز به Word در مرورگر باز شوند، باز هم مشکلی نیست:
pandoc "manual.docx" -o "manual.html"
این دستور تنها نشانهگذاری پایهی HTML را برای متن ایجاد میکند و شامل سبکهای ظاهری نیست. اگر لازم باشد فایل خروجی HTML به صورت یک سند کامل و مستقل، با حاشیههای پاسخگو و ظاهر خواناتر ایجاد شود، میتوان از پارامتر -s استفاده کرد:
pandoc "manual.docx" -s -o "manual.html"
Pandoc گزینههای بسیار بیشتری دارد؛ مانند استفاده از فایل CSS سفارشی برای خروجی HTML، قالببندی بلوکهای کد، تنظیم نحوهی تبدیل فرمولهای ریاضی از فایلهای LaTeX، و امکانات متعدد دیگر. صفحهی نمایش دموها در وبسایت Pandoc درک بهتری از قابلیتهای آن ارائه میدهد.
Pandoc گزینهای داخلی برای تبدیل گروهی فایلها ندارد، اما میتوان با یک اسکریپت کوچک Bash یا PowerShell آن را در پوشهای بهصورت خودکار روی چندین فایل اجرا کرد. این روش بسیار سریعتر از باز کردن جداگانهی صدها فایل Word است.
افزایش سرعت کار
Pandoc زمانی کشف شد که تلاش میشد از ویرایشگر MS-DOS Editor برای نوشتن مقالهها استفاده شود. این ویرایشگر فقط متن ساده را پشتیبانی میکند، اما میتوان در آن با Markdown لینک، تیتر و سایر قالببندیها را اضافه کرد. نیاز به روشی سریع برای تبدیل فایل Markdown ذخیرهشده به HTML مورد استفاده در سامانهی مدیریت محتوا (CMS) وجود داشت.
Pandoc برای این کار بهخوبی عمل کرد، هرچند لازم بود پارامتر –ascii=true اضافه شود تا برخی نمادها درست نمایش داده شوند. بهجای خروجی گرفتن در فایل، خروجی Pandoc به دستور pbcopy در macOS متصل شد تا متن HTML مستقیماً در کلیپبورد ذخیره شود:
pandoc "/Users/corbin/Documents/DOS/MAIN.TXT" -f markdown -t html --ascii=true | pbcopy
تمام این دستور در قالب یک Shortcut در مک قرار داده شد تا تنها با ذخیرهی فایل و اجرای میانبر، بتوان HTML را کپی و در نمای منبع CMS چسباند. هرچند آن آزمایش با ویرایشگر MS-DOS زیاد دوام نیاورد، اما برای آزمایش ویرایشگرهای قدیمیتر مفید خواهد بود.
در حال حاضر، نگارش مقالهها دوباره در Microsoft Word انجام میشود. هنگام کپیکردن مستقیم متن از Word به CMS، قالببندیها نیز منتقل میشوند، اما هدف حفظ تیترها، لینکها و قالببندیهای مهم است، نه اندازه و نوع فونت.
خوشبختانه Pandoc برای این کار نیز عالی عمل میکند. اسکریپتی کوتاه ایجاد شد که فایل Word را به HTML تبدیل کرده، شکست خطوط را حذف و خروجی را در کلیپبورد ذخیره میکند:
pandoc -f docx -t html --ascii=true --extract-media="$HOME/Desktop/" "$HOME/Documents/Scratch Pad.docx" --wrap=none | pbcopy
تنها ایراد این است که مسیر فایل در اسکریپت ثابت است. برای راهنماها و مرورهای بلندتر، معمولاً فایل جدیدی در پوشهی Drafts ساخته میشود. اگرچه میتوان از ترمینال برای تبدیل استفاده کرد، اما باز هم Shortcuts راهحل سریعتری ارائه داد.
میانبر جدیدی ساخته شد که گزینهی «Copy as HTML» را به منوی راستکلیک فایلها در Finder اضافه میکند. هنگام اجرا، مسیر فایل به Pandoc ارسال میشود و خروجی HTML مستقیماً در کلیپبورد ذخیره میگردد. چون Pandoc قادر است قالب فایل را به طور خودکار تشخیص دهد، این میانبر فقط برای Word کار نمیکند بلکه برای انواع فایلها مؤثر است.
در مجموع، Pandoc فرآیند نوشتن در ویرایشگرهای دلخواه را سادهتر و سریعتر کرده و از بروز خطاهای قالببندی جلوگیری میکند. افزون بر این، برای کاربردهای نشر و بایگانی نیز بسیار مفید است. دفعهی بعد که نیاز به تبدیل اسناد وجود داشت، امتحان آن توصیه میشود.










