تبدیل README.md به PDF در سه مرحله
تبدیل یک فایل راهنما (README) به PDF با آپلود فایل Markdown یا چسباندن محتوای آن، اجازه دادن به SolConverter برای رندر آن با چیدمان مدیریتشده، و در نهایت دانلود سند انجام میشود.
- آپلود فایل README. فایل
README.mdیا فایل.mdدیگری را از دستگاه خود انتخاب کنید. - ایجاد فایل PDF. SolConverter چیدمان پیدیاف مدیریتشده خود را اعمال کرده و فرآیند تبدیل را به صورت خودکار آغاز میکند.
- پیشنمایش و دانلود. تبدیل را شروع کنید، پیدیاف را بررسی کرده و فایل نهایی را دانلود نمایید.
قبل از اشتراکگذاری پیدیاف نهایی، شارات (badges)، تصاویر و لینکهای نسبی مخزن را بررسی کنید. یک فایل راهنمای مخزن ممکن است به داراییها و آدرسهای اینترنتی وابسته باشد که در خارج از گیتهاب یا مخزن اصلی رفتار متفاوتی دارند.
فایل README.md چیست؟
یک فایل README.md سندی به زبان Markdown است که یک پروژه، مخزن کد، پکیج، نرمافزار، مجموعه داده یا جریان کار را توضیح میدهد.
فایلهای راهنما (README) معمولاً شامل موارد زیر هستند:
- عنوان پروژه و خلاصه آن؛
- دستورالعملهای نصب؛
- نمونههای استفاده و کاربرد؛
- دستورات خط فرمان؛
- نمونههای تنظیمات (configuration)؛
- لیست ویژگیها و قابلیتها؛
- لیست کارهای در دست انجام (task lists)؛
- جدولها؛
- اسکرینشاتها؛
- شارات (badges)؛
- راهنمای مشارکت در پروژه؛
- اطلاعات مجوز (license) یا پشتیبانی؛
- لینک به مستندات و نسخههای منتشر شده.
پسوند .md به این معنی است که فایل با ساختار Markdown نوشته شده است. تبدیل آن به PDF یک سند ثابت و بدون تغییر ایجاد میکند در حالی که منبع Markdown اصلی همچنان به عنوان نسخه قابل ویرایش حفظ میشود.
چرا فایل README را به PDF تبدیل کنیم؟
فایل PDF زمانی مفید است که فایل README باید خارج از مخزن اصلی خود ارائه شود یا به عنوان یک سند مبتنی بر صفحه مورد بررسی و مراجع قرار گیرد.
دلایل رایج عبارتند از:
- اشتراکگذاری مستندات پروژه با یک مشتری یا ذینفع؛
- ضمیمه کردن یک خلاصه فنی به یک ایمیل یا تیکت پشتیبانی؛
- ارسال مستندات برای بازبینی یا تأیید نهایی؛
- ایجاد یک نسخه پشتیبان آفلاین از مخزن پروژه در یک زمان مشخص؛
- چاپ دستورالعملهای راهاندازی یا راهنمای کاربری عملیاتی؛
- بایگانی مستندات انتشار نسخه؛
- توزیع فایل README برای خوانندگانی که از گیتهاب استفاده نمیکنند؛
- بررسی کدهای طولانی، معادلات ریاضی، نمودارها و جدولها در یک چیدمان ثابت.
فایل README اصلی باید به عنوان منبع قابل ویرایش و نگهداری باقی بماند. پس از تغییر فایل README، مجدداً پیدیاف جدیدی تولید کنید.
فرمتهای README پشتیبانیشده در PDF
SolConverter از عناصر Markdown متداولی که در فایلهای README استفاده میشوند پشتیبانی میکند.
این موارد عبارتند از:
- سرصفحههای ATX و Setext؛
- متنهای ضخیم (bold)، مورب (italic) و خطخورده (strikethrough)؛
- لیستهای مرتب و نامرتب؛
- لیستهای تو در تو؛
- لیست کارهای GFM؛
- نقلقولها؛
- لینکهای Markdown و لینکهای خودکار؛
- کدهای درونخطی؛
- بلوکهای کد محصور با استفاده از علامتهای backtick یا tilde؛
- برچسبهای تشخیص زبان بلوک کد؛
- جدولهای GFM همراه با تنظیم تراز؛
- جدولهای HTML خام و امن؛
- بخشهای
detailsوsummary؛ - عناصر
kbd،sub،sup،figureوfigcaption؛ - لنگرهای سرصفحه (heading anchors)؛
- فرانتمترهای YAML در ابتدای فایل منبع.
بلوکهای کدی که حاوی علامت دلار یا جداکنندههای شبیه LaTeX هستند، به صورت کد باقی میمانند و به عنوان معادلات ریاضی تفسیر نمیشوند.
حفظ کدهای نمونه در README
فایلهای راهنما (README) معمولاً شامل دستورات نصب، فایلهای تنظیمات، نمونههای API، متغیرهای محیطی و مقتطفهای کد منبع هستند.
SolConverter در صورت شناسایی زبان بلوک کد محصور، برجستهسازی سینتکس را با استفاده از Highlight.js اعمال میکند. در صورت عدم شناسایی زبان، متن منبع اصلی به طور امن حفظ میشود.
بلوکهای کد از یک فونت تکفاصله اختصاصی و استایلهای چاپ ویژهای استفاده میکنند که آنها را از توضیحات اطراف متمایز میکند. جهت کدها حتی در فایلهای راهنمای راستبهچپ به صورت چپبهراست باقی میماند.
رندر معادلات در فایلهای راهنمای فنی (README)
یک فایل راهنمای فنی ممکن است شامل فرمولها، ماتریسها، علائم علمی، عبارتهای احتمالی یا مباحث شیمی باشد.
SolConverter از خروجی MathJax SVG برای جداکنندههای ریاضی رایج در Markdown، محیطهای معادله AMS، فرمتهای Presentation MathML، کدهای پایهای Content MathML و عبارتهای شیمی نوشته شده با \ce{...} پشتیبانی میکند.
ریاضیات پشتیبانیشده عبارتند از:
- عبارتهای درونخطی
$...$و\(...\)؛ - عبارتهای نمایشی
$$...$$و\[...\]؛ - محیطهای معادله و همترازی؛
- کسرها، ریشهها، مجموعها، انتگرالها، حدها و ماتریسها؛
- ماکروهای تعریفشده در سطح سند؛
- عبارتهای جمعی طولانی که نیاز به شکستن خط دارند.
فرمولهای ریاضی به صورت SVG رندر میشوند تا کیفیت آنها در PDF کاملاً حفظ شود. ریاضیات نامعتبر به صورت محلی نادیده گرفته میشوند تا بقیه متن بدون مشکل رندر شود.
رندر نمودارهای Mermaid و ZenUML
فایلهای راهنما معمولاً برای توضیح معماری، توالی کار، وضعیت، جریان کار یا روابط بین مؤلفهها از نمودارها استفاده میکنند.
بلوکهای محصور Mermaid پشتیبانیشده به صورت محلی به عنوان SVG رندر میشوند. ZenUML نیز پشتیبانی میشود. نمودارها به عرض صفحه موجود محدود شده و به صورت مستقل پردازش میشوند.
اگر نموداری نامعتبر باشد، مبدل یک گزینه جایگزین با متن منبع آن درج کرده و رندر بقیه بخشها را ادامه میدهد.
فرمتهای PlantUML، Graphviz، D2، WaveDrom، BPMN، Nomnoml و TikZ کامل در حال حاضر پشتیبانی نمیشوند و نباید در این صفحه تبلیغ شوند.
چه اتفاقی برای تصاویر و شارات (badges) در README میافتد؟
مبدل از تصاویر آدرسهای عمومی HTTP و HTTPS و همچنین تصاویر دادهای base64 معتبر در فرمتهای PNG، GIF، JPEG، WebP و SVG پشتیبانی میکند.
تصاویر برای تناسب با صفحه تغییر مقیاس داده میشوند و نسبت ابعاد آنها حفظ میشود. ویژگیهایی مانند اشکال، توضیحات، متن جایگزین، عناوین، ابعاد امن و تراز را میتوان حفظ کرد.
با این حال، بسیاری از فایلهای راهنما در مخازن کد از مسیرهای نسبی استفاده میکنند مانند:
./images/screenshot.png
docs/architecture.svg
../assets/demo.gif
جریان کار آپلود فعلی، پوشه مخزن پروژه را بستهبندی نمیکند و به طور خودکار آن داراییهای نسبی را حل نمینماید. قبل از ایجاد PDF، آنها را به آدرسهای اینترنتی عمومی تصاویر یا تصاویر دادهای base64 پشتیبانیشده تبدیل کنید.
شارات معمولاً از آدرسهای اینترنتی عمومی تصاویر استفاده میکنند و در صورتی که سرور تصویر به صورت عمومی در دسترس باشد رندر میشوند. اگر لود شدن شاره یا تصویری با شکست مواجه شود، SolConverter یک نگهدارنده جایگزین محلی درج کرده و فرآیند تبدیل را ادامه میدهد.
بررسی لینکهای نسبی مخزن
لینکهای Markdown داخل یک فایل راهنما میتوانند مطلق (absolute)، نسبی نسبت به مخزن، یا لینکهای داخلی مربوط به بخشهای همان صفحه باشند.
لینکهای مطلق HTTP و HTTPS در خارج از مخزن نیز معتبر و کارآمد باقی میمانند. اما لینکهای نسبی مانند ./docs/setup.md یا ../CONTRIBUTING.md پس از تبدیل فایل راهنما به یک PDF مستقل، ممکن است به مقصد مفیدی اشاره نکنند.
قبل از اشتراکگذاری فایل PDF:
- لینکهای نسبی مهم را با آدرسهای اینترنتی مطلق و عمومی جایگزین کنید؛
- به جای تکیه بر فایلهای لینک شده، دستورالعملهای حیاتی را به طور کامل بنویسید؛
- لینکهای سرصفحه را پس از رندر شدن بررسی و تأیید کنید؛
- بررسی کنید که سند بدون نیاز به ناوبری مخزن گیتهاب همچنان مفهوم باشد؛
- در صورتی که هدف از پیدیاف بایگانی اطلاعات است، نسخه پروژه یا مشخصات انتشار نسخه را در سند درج کنید.
تبدیل فایل README گیتهاب به PDF
یک فایل راهنمای گیتهاب (GitHub README) همچنان یک فایل Markdown است، اما ممکن است گیتهاب زمینههای مخزنی را اضافه کند که در خود فایل آپلود شده وجود ندارند.
فایل PDF میتواند ساختارهای پشتیبانیشده GFM مانند جدولها، لیستهای وظیفه، کدهای محصور، لینکهای خودکار و سرصفحهها را حفظ کند. همچنین میتواند عبارتهای MathJax و نمودارهای Mermaid پشتیبانیشده را رندر نماید.
مبدل تمام عناصر رابط کاربری گیتهاب را بازسازی نمیکند. تبهای مخزن، تعداد ایشوها (issues)، ویجتهای انتشار نسخه، انتخابگرهای شاخه (branch selectors)، کارتهای داینامیک و سایر بخشهای صفحه گیتهاب جزئی از متن منبع Markdown نیستند.
برای داشتن یک PDF مستقل و تمیز، مطمئن شوید که هویت پروژه، نسخه و لینکهای مهم در خود سند گنجانده شدهاند.
تبدیل README به PDF برای مستندات نرمافزار
یک فایل PDF راهنما میتواند به عنوان یک مستند فنی خلاصه و کارآمد عمل کند، زمانی که خواننده نیاز دارد به:
- خلاصه و نمای کلی پروژه؛
- مراحل نصب و راهاندازی؛
- دستورات نمونه؛
- پیشنیازهای تنظیمات؛
- نمودارهای معماری؛
- نمونههای API؛
- یادداشتهای عملیاتی؛
- دستورالعملهای عیبیابی؛
- جزئیات مشارکت در پروژه یا پشتیبانی.
برای مستندات بسیار حجیم، به جای گنجاندن تمام راهنماها در یک فایل، از فایل راهنما به عنوان سند ورودی استفاده کنید. پیدیاف تولید شده از یک فایل راهنمای بسیار طولانی همچنان میتواند مفید باشد، اما مدیریت و ناوبری اسناد مجزا آسانتر است.
تبدیل README به PDF برای بایگانی نسخههای منتشر شده
مخازن پروژه به مرور زمان تغییر میکنند. تبدیل فایل راهنما به PDF یک لقطه خوانا و پایدار مربوط به یک نسخه منتشر شده، تحویل پروژه یا یک نقطه عطف ایجاد میکند.
قبل از بایگانی کردن:
- نسخه پروژه یا پکیج را اضافه کنید؛
- تاریخ مرتبط یا شناسه انتشار نسخه را درج کنید؛
- دستورات و نمونههای تنظیمات را بررسی و تأیید نمایید؛
- لینکهای موقت را جایگزین کنید؛
- تصاویر، نمودارها و معادلات را بازبینی کنید؛
- پیدیاف نهایی را تولید کرده و بررسی نمایید؛
- فایل PDF را در کنار سوابق نسخه منتشر شده ذخیره کنید.
فایل PDF تولید شده یک نسخه ثبتشده در یک زمان خاص است، نه جایگزینی برای فایل راهنمای اصلی که تحت کنترل نسخه است.
رندر ایمن محتوای README
فایلهای راهنما میتوانند حاوی کدهای HTML خام، آدرسهای تصویر راه دور ناامن و بلوکهای نامعتبر باشند.
SolConverter کدهای HTML رندر شده را پاکسازی میکند، اسکریپتها و رویدادگیرها را حذف مینماید، آدرسهای اینترنتی ناامن را رد میکند، کدهای HTML خام را به یک لیست سفید محدود میسازد، تداخلهای جدول را محدود میکند، سیاستهای امنیتی محتوای سختگیرانهای اعمال میکند و درخواستهای مرورگر خارج از سیاستهای تصویر مجاز را مسدود میسازد.
فایلهای محکلی، مقاصد localhost، مقادیر آیپی خصوصی، آدرسهای URL دارای javascript: و پروتکلهای منابع پشتیبانینشده مسدود میشوند. تصاویر، معادلات و نمودارهای نامعتبر تا حد امکان به صورت محلی مدیریت میشوند تا رندر بقیه بخشهای فایل راهنما ادامه یابد.
تنظیمات PDF برای فایلهای README
SolConverter چیدمان سند منسجمی را برای فایلهای راهنما اعمال میکند.
فرم وب فعلی از تنظیمات زیر استفاده میکند:
- اندازه صفحه A4؛
- جهت عمودی (portrait)؛
- حاشیههای تنظیمشده برای خروجی خوانا؛
- شمارهگذاری صفحات به صورت
current / total؛ - عنوان خروجی بر اساس نام فایل README؛
- چاپ رنگهای پسزمینه.
چیدمان عمودی برای خواندن عمومی طراحی شده است. همیشه قبل از دانلود، جدولهای عریض و بلوکهای کد را پیشنمایش کنید.
تبدیل README به PDF یا مبدل اصلی Markdown به PDF؟
زمانی از این صفحه متمرکز بر فایلهای راهنما استفاده کنید که فایل منبع شما یک README پروژه است و به راهنمایی در مورد کدهای محصور، ساختارهای GFM، شارات (badges)، تصاویر با مسیر نسبی و لینکهای مخزن نیاز دارید.
برای گزارشها، اسناد ریاضی، یادداشتهای فنی، پروپوزالها، اسناد چندزبانه و فایلهای عمومی .md، از مبدل اصلی Markdown به PDF استفاده کنید.
هر دو صفحه از قابلیت تبدیل اصلی یکسانی استفاده میکنند، اما اهداف متفاوتی از کاربران را پوشش داده و راهنماییهای متفاوتی برای آمادهسازی فایل ارائه میدهند.
پرسشهای متداول
آیا میتوانم README.md را به PDF تبدیل کنم؟
بله. فایل README.md را آپلود کنید، تنظیمات پیدیاف در دسترس را انتخاب نمایید، تبدیل را شروع کرده، نتیجه را پیشنمایش کنید و فایل PDF تولید شده را دانلود نمایید.
آیا این مبدل از GitHub Flavored Markdown پشتیبانی میکند؟
رندرکننده از ساختارهای متداول GFM که در فایلهای راهنما استفاده میشوند پشتیبانی میکند؛ از جمله لیست کارهای در دست انجام، کدهای محصور، لینکهای خودکار، خطخوردگی متون و جدولها.
آیا بلوکهای کد فرمت خود را حفظ خواهند کرد؟
بله. بلوکهای کد محصور از استایل تکفاصله (monospace) استفاده کرده و در صورت شناسایی برچسب زبان، برجستهسازی سینتکس را دریافت میکنند.
آیا یک فایل راهنما (README) میتواند شامل معادلات ریاضی MathJax باشد؟
بله. مبدل از جداکنندههای ریاضی رایج درونخطی و نمایشی، محیطهای متعدد معادلات، فرمت MathML، عبارتهای شیمی و ماکروهای تعریفشده در سطح سند پشتیبانی میکند.
آیا میتواند نمودارهای Mermaid را از فایل راهنما رندر کند؟
بله. بلوکهای محصور شده Mermaid پشتیبانیشده به صورت محلی به عنوان SVG رندر میشوند. ZenUML نیز پشتیبانی میشود.
آیا شارات (badges) گیتهاب در PDF ظاهر خواهند شد؟
شارات در صورتی که از آدرسهای تصویر پشتیبانیشده و به صورت عمومی در دسترس استفاده کنند، رندر میشوند. اگر سرور میزبان شاره مسدود یا در دسترس نباشد یا خارج از سیاست تصویر باشد، ممکن است با یک نگهدارنده جایگزین تعویض شود.
آیا تصاویر با مسیر نسبی مخزن کار خواهند کرد؟
به صورت خودکار خیر. آپلود شامل پوشه داراییهای مخزن پروژه نمیشود. قبل از تبدیل، تصاویر نسبی مهم را به آدرسهای اینترنتی عمومی یا تصاویر دادهای base64 پشتیبانیشده تغییر دهید.
آیا لینکهای مربوط به سایر فایلهای مخزن کار خواهند کرد؟
لینکهای نسبی مخزن ممکن است در یک فایل PDF مستقل کارایی نداشته باشند. لینکهای مهم را با آدرسهای اینترنتی مطلق و عمومی جایگزین کنید یا اطلاعات لازم را مستقیماً در فایل راهنما بگنجانید.
آیا فایل PDF دقیقاً شبیه به صفحه README گیتهاب خواهد بود؟
خیر. مبدل متن سند Markdown را رندر میکند، نه اینکه کل رابط کاربری گیتهاب را کپی نماید. ساختارهای Markdown پشتیبانیشده برای خروجی پیدیاف بهینهسازی و استایلدهی شدهاند، اما بخشهای ظاهری گیتهاب و مؤلفههای داینامیک آن در خروجی حضور نخواهند داشت.
آیا میتوانم CSS سفارشی اضافه کنم؟
در حال حاضر امکان اضافه کردن فایلهای CSS دلخواه و سفارشی ارائه شده توسط کاربر وجود ندارد. مبدل از استایلهای سند و چاپ مدیریتشده استفاده میکند.
آیا این سیستم فهرست مطالب پیدیاف ایجاد میکند؟
تولید خودکار فهرست مطالب و بوکمارک پیدیاف در حال حاضر پشتیبانی نمیشود. با این حال، فهرستی که به صورت دستی در Markdown نوشته شده باشد، به عنوان محتوای معمولی سند ظاهر خواهد شد.
اگر یک نمودار، معادله یا تصویر خراب باشد چه اتفاقی میافتد؟
مبدل میتواند خطاهای پشتیبانیشده را ایزوله کند، یک گزینه جایگزین محلی درج نماید و به رندر بقیه محتوای معتبر پس از آن بلوک معیوب ادامه دهد.
آیا فایل راهنمای آپلود شده برای همیشه ذخیره میشود؟
آپلودهای پردازشنشده پس از ۱۵ دقیقه منقضی میشوند. پس از تبدیل موفقیتآمیز، منبع آپلود شده به محض تأیید خروجی حذف میشود؛ پیدیافهای نهایی نیز پس از دو ساعت منقضی میشوند. ورودیهای ناموفق در همان بازه ۱۵ دقیقهای اولیه منقضی و حذف خواهند شد.
آیا محدودیتی برای اندازه فایل راهنما وجود دارد؟
هیچ محدودیت مشخصی توسط مبدل اعمال نمیشود. با این حال، فایلهای راهنمای بسیار حجیم ممکن است بسته به مشخصات مرورگر، دستگاه و شبکه شما، به زمان بیشتری برای آپلود، پردازش، پیشنمایش و دانلود نیاز داشته باشند.
فایل README.md خود را به PDF تبدیل کنید
فایل راهنمای خود را آپلود کنید، سند رندر شده را بررسی نمایید و یک فایل پیدیاف دانلود کنید که اشتراکگذاری آن در خارج از مخزن پروژه بسیار راحتتر است.
تبدیل README به PDF