تبدیل Html به Markdown در دات نت
در این مطلب نحوه تبدیل Html به Markdown را با استفاده از پکیج نوگت Reverse Markdown را بررسی میکنیم.
نحوه نصب
ابتدا با استفاده از Package Manager Console در ویژوال استودیو پکیج نوگت Reverse Markdown را نصب کنید.
Install-Package ReverseMarkdown
سپس یک نمونه جدید از کلاس Converter را ایجاد کرده و با استفاده از متد Convert تبدیل را انجام دهید.
var converter = new ReverseMarkdown.Converter();
var html = "This is an <strong>example</strong> with a <a href=\"https://example.com\">link</a>.";
var markdown = converter.Convert(html);
نتیجه مانند زیر خواهد بود:
This is an **example** with a [link](https://example.com).
برای اعمال تنظیمات خاص مانند: استفاده از سبک GitHub یا Slack برای Markdown، نحوه برخورد با تگ های ناشناخته و... میتوانید از کلاس Config استفاده کنید.
var config = new ReverseMarkdown.Config
{
GithubFlavored = true,
RemoveComments = true,
SmartHrefHandling = true,
UnknownTags = ReverseMarkdown.Config.UnknownTagsOption.Bypass,
};
var converter = new ReverseMarkdown.Converter(config);
var html = "This is an <strong>example</strong> with a <a href=\"https://example.com\">link</a>.";
var markdown = converter.Convert(html);
مزیت های Markdown
زبان نشانهگذاری Markdown بدلیل ساختار بسیار ساده آن، برای نوشتن نیازی به ویرایشگر خاصی ندارد و به راحتی در سادهترین ویرایشگرها میتوان مطالب را نوشت و ویرایش کرد.
با توجه به اینکه Markdown در زمان نمایش به Html رندر میشود، شما میتوانید بدون نیاز به ایجاد تغییر در خود مطالب، استایل وبلاگ را به دلخواه در آینده تغییر داده و میتوانید مطمئن باشید که ساختار مطالب قدیمی نیز بهروز خواهند بود.
برای نوشتن مطالب در بسیاری از Static Site Generator هایی مانند Read the Docs ،Jekyll و... که جایگزینی برای سیستم های وبلاگ نویسی کلاسیک هستند از Markdown استفاده میشود.
تبدیل پست های ویرگول
برخی از مطالب قدیمی همین وبلاگ در واقع با استفاده از Reverse Markdown تبدیل شده و در این وب سایت Import شدهاند. شما میتوانید سورس ابزار Virgool Markdown Converter را در گیت هاب دریافت و استفاده کنید.
نحوه عملکرد این ابزار به شکل زیر است:
- فایل zip پشتیبان مطالب استخراج شده و فایل های Html به Markdown تبدیل میشوند.
- تصاویر مطالب به صورت خودکار دانلود شده و در پوشه images کنار هر مطلب قرار میگیرند.
- آدرس تصاویر نیز ویرایش شده تا به فایل محلی اشاره کند.
تبدیل پست های بلاگ بیان
شما میتوانید سورس ابزار Bayan Markdown Converter برای تبدیل پست های بلاگ بیان با استفاده از Reverse Markdown را در گیت هاب دریافت و استفاده کنید.
نحوه عملکرد این ابزار به شکل زیر است:
- مطالب از فایل xml بایگانی مطالب خوانده شده و سپس از Html به Markdown تبدیل میشوند.
- تصاویر مطالب به صورت خودکار دانلود شده و در پوشه images کنار هر مطلب قرار میگیرند.
- آدرس تصاویر نیز ویرایش شده تا به فایل محلی اشاره کند.
- نظرات نیز از وب سایت استخراج شده و به Markdown تبدیل میشوند.
- و در نهایت نظرات به صورت json کنار هر مطلب قرار میگیرند.