ویدیو آموزش کار با markdown در پایتون

September 2021

قبل از این ویدیو باید آموزش زبان Markdown را دیده باشید

 

Markdown یک زبان نشانه گذاری است که معمولاً برای ساده سازی فرآیند نوشتن محتوا در قالب متن آسان برای خواندن استفاده می شود، که یک ابزار نرم افزاری یا کتابخانه برنامه نویسی می تواند آن را به HTML تبدیل کند تا در مرورگر یا برنامه نوشتاری دیگر نمایش داده شود. از آنجا که از نحو متن ساده استفاده می کند، Markdown با هر ویرایشگر متن سازگار است و می تواند سرفصل ها، لیست ها ، پیوندها و سایر اجزا را تبدیل کند. وبلاگ نویسان ، نویسندگان آموزش و نویسندگان اسناد از Markdown به طور گسترده استفاده می کنند و وب سایت هایی مانند Github ، StackOverflow و The Package Index (PyPI) از آن پشتیبانی می کنند.

 

Python-Markdown یک کتابخانه پایتون است که به شما امکان می دهد متن Markdown را به روش های مختلف به HTML تبدیل کنید. می توانید با استفاده از برنامه های افزودنی مختلف که ویژگی های اضافی را ارائه می دهند، عملکرد آن را افزایش دهید. با این حال ، توجه داشته باشید که Python-Markdown چند تفاوت جزئی با نحو استاندارد Markdown دارد.

 

این ویدیو مناسب افرادیست که پایتون را به خوبی بلد هستند، اگر تا به حال با پایتون کار نکرده‌اید میتوانید دوره آموزش رایگان پایتون  را ببینید.

 

در این آموزش ، کتابخانه Python-Markdown را نصب می کنید ، از آن برای تبدیل رشته های Markdown به HTML ، تبدیل فایل های Markdown به فایل های HTML و استفاده از رابط خط فرمان Python-Markdown برای تبدیل Markdown به HTML استفاده می کنید.

 


 

نصب Python-Markdown

 

در این مرحله ، شما Python-Markdown را نصب کرده و یکی از عملکردهای آن را برای تبدیل رشته های Markdown به HTML در Python REPL بررسی می کنید.

 

اگر هنوز محیط برنامه نویسی خود را فعال نکرده اید ، مطمئن شوید که در دایرکتوری پروژه خود هستید و از دستور زیر برای فعال سازی محیط استفاده کنید:

$source env/bin/activate

 

هنگامی که محیط برنامه نویسی خود را فعال کردید ، اعلان شما اکنون دارای پیشوند env مانند موارد زیر است:

(env)sammy@localhost:$

 

اکنون بسته های پایتون را نصب کرده و کد پروژه خود را از نصب اصلی سیستم پایتون جدا می کنید.

 

برای نصب کتابخانه Python-Markdown (markdown) با اجرای دستور زیر از pip استفاده کنید:

(env)sammy@localhost:$ pip install markdown

 

هنگامی که نصب با موفقیت به پایان رسید، می توانید آن را در Python REPL آزمایش کنید، که می توانید با تایپ کردن دستور زیر آن را باز کنید:

(env)sammy@localhost:$ python

 

یک پیام جدید با پیشوند >>> مشاهده خواهید کرد. می توانید از این کد برای تایپ کد پایتون و دریافت خروجی فوری استفاده کنید.

 

ابتدا بسته markdown را وارد کرده و از آن برای تبدیل یک قطعه از متن Markdown به HTML استفاده می کنید:

>>> import markdown
>>> markdown.markdown('#Hi')

 

در این کد، بسته markdown را که قبلاً نصب کرده اید وارد می کنید. شما از تابع markdown.markdown () برای تبدیل متن Markdown #Hi (با # نشان دهنده هدر سطح H1) به معادل HTML آن استفاده می کنید. اگر کد را در Python REPL تایپ کنید ، خروجی زیر را دریافت خواهید کرد:

'<h1>Hi</h1>'

 

برای تایپ متن چند خطی Markdown در REPL پایتون می توانید از نقل قول های سه گانه (''') استفاده کنید:

>>> import markdown
>>> output = markdown.markdown('''
>>> # Step 1
>>> ## Step 2
>>> * item 1
>>> * item 2
>>> ''')
>>>
>>> print(output)

 

در این مثال ، شما یک سرصفحه H1 ، یک سربرگ H2 ، دو مورد لیست ارسال می کنید. سپس خروجی را در متغیری به نام output ذخیره کرده و با عملکرد print ()  چاپ می کنید.

 

خروجی زیر را دریافت خواهید کرد:

Output<h1>Step 1</h1>
<h2>Step 2</h2>
<ul>
<li>item 1</li>
<li>item 2</li>
</ul>
<p>Visit <a href="https://www.digitalocean.com/community/tutorials">the tutorials page</a> for more tutorials!</p>

 

متوجه خواهید شد که خروجی در نسخه HTML متن Markdown ارائه می شود.

 

اکنون که از بسته markdown برای تبدیل متن Markdown به HTML استفاده کرده اید ، یک برنامه کوچک برای خواندن و تبدیل فایل های Markdown به فایل های HTML ایجاد خواهیم کرد.

 


 

ایجاد برنامه ای برای تبدیل فایل های Markdown به HTML

 

در این مرحله ، شما یک برنامه پایتون ایجاد می کنید که یک فایل Markdown را می خواند، محتویات آن را با استفاده از تابع markdown.markdown () به HTML تبدیل می کند و کد HTML را در یک فایل جدید ذخیره می کند.

 

ابتدا یک فایل جدید به نام Picnic.md باز کنید تا متن Markdown نگه داشته شود:

nano Picnic.md

 

متن Markdown زیر را در آن تایپ کنید:

# Things to bring

* Food.
* Water.
* Knife.
* Plates.

 

در این فایل شما یک هدینگ H1 و چهار مورد لیست دارید. پس از اتمام کار ، فایل را ذخیره و ببندید.

 

در مرحله بعد ، یک فایل جدید به نام convert.py باز کنید تا کد تبدیل فایل Picnic.md Markdown به یک فایل HTML حفظ شود:

nano convert.py

 

کد پایتون زیر را در آن وارد کنید:

import markdown

with open('Picnic.md', 'r') as f:
    text = f.read()
    html = markdown.markdown(text)

with open('Picnic.html', 'w') as f:
    f.write(html)

 

در اینجا ، ابتدا بسته markdown را وارد می کنید. شما از تابع open () برای باز کردن فایل Picnic.md استفاده می کنید. انتقال مقدار 'r' به پارامتر mode به این معنی که پایتون باید آن را برای خواندن باز کند.

 

شما فایل را در متغیری به نام f ذخیره می کنید که می توانید از آن برای ارجاع فایل استفاده کنید. سپس فایل را می خوانید و محتویات آن را در داخل متغیر متن ذخیره می کنید. سپس ، متن را با استفاده از markdown.markdown () تبدیل می کنید و نتیجه را در متغیری به نام html ذخیره می کنید.

 

با همان الگو ، یک فایل جدید به نام Picnic.html را در حالت نوشتن ('w') باز می کنید - توجه داشته باشید که این فایل هنوز وجود ندارد- و محتویات متغیر html را در فایل بنویسید. این باعث ایجاد و ذخیره فایل جدید در سیستم شما می شود. استفاده از دستور with هنگام بازکردن یک فایل تضمین می کند که پایتون پس از اتمام پردازش آن را ببندد.

 

ذخیره کنید و فایل را ببندید.

 

برنامه convert.py را اجرا کنید:

python convert.py

 

این یک فایل جدید به نام Picnic.html در فهرست پروژه شما با محتویات زیر ایجاد می کند:

<h1>Things to bring</h1>
<ul>
<li>Food.</li>
<li>Water.</li>
<li>Knife.</li>
<li>Plates.</li>
</ul>

 

اکنون که می دانید چگونه فایلهای Markdown را با استفاده از تابع markdown.markdown () باز و تبدیل کنید ، می توانید متن Markdown را در پایتون ایجاد کرده و فایلهای Markdown را بدون نیاز به خواندن ابتدا تبدیل کنید.

 


 

ایجاد markdown از داده ها و تبدیل آن به HTML

 

در این مرحله ، شما برنامه ای ایجاد خواهید کرد که متن Markdown را از دیکشنری پایتون تولید می کند، آن را در یک فایل Markdown ذخیره می کند و متن Markdown را با استفاده از تابع () markdown.markdownFromFile به یک فایل HTML تبدیل می کند.

 

برنامه شما یک فایل Markdown به نام city.md با لیستی از کشورها و سه شهر بزرگ آنها ایجاد می کند. پس از آن ، برنامه متن ایجاد شده Markdown را به HTML تبدیل می کند ، سپس HTML را در فایلی به نام city.html ذخیره می کند.

 

ابتدا یک فایل جدید پایتون به نام citygen.py باز کنید و سپس کد پایتون زیر را اضافه کنید:

import markdown


country_cities = {'Japan': ['Tokyo', 'Osaka', 'Nagoya'],
                  'France': ['Paris', 'Marseille', 'Lyon'],
                  'Germany': ['Berlin', 'Hamburg', 'Munich'],
                  }

 

در این کد ابتدا کتابخانه Python-Markdown را با import markdown وارد می کنید. سپس یک دیکشنری country_cities شامل چند کشور به عنوان کلید و لیستی از سه شهر بزرگتر برای هر کشور به عنوان مقدار تعریف می کنید. این دیکشنری نمونه ای از ساختار داده است. می توانید آن را با داده های واکشی شده از API وب ، پایگاه داده یا هر منبع داده دیگر جایگزین کنید.

 

سپس کد زیر را پس از دیکشنری خود اضافه کنید:

. . .

with open('cities.md', 'bw+') as f:
    for country, cities in country_cities.items():
        f.write('# {}\n'.format(country).encode('utf-8'))
        for city in cities:
            f.write('* {}\n'.format(city).encode('utf-8'))
    f.seek(0)
    markdown.markdownFromFile(input=f, output='cities.html')

 

پس از ایجاد دیکشنری که داده ها را در خود نگه می دارد، از نحو with open(...) as ... برای بازکردن فایلی به نام city.md استفاده می کنید که هنوز وجود ندارد. شما آن را در حالت دودویی ('b') برای نوشتن و خواندن ('w+') باز می کنید. شما از حالت دودویی استفاده می کنید، زیرا اگر رشته ای را به markdown.markdownFromFile () منتقل کنید، به عنوان راهی برای فایل قابل خواندن در سیستم فایل (یعنی "/home/file.md") تفسیر می شود. همچنین حالت دودویی به شما امکان می دهد از مسائل مربوط به تبدیل کاراکترها به نمایشی خاص از پلتفرم اجتناب کنید. این تضمین می کند که برنامه پایتون در هر پلتفرمی یکسان رفتار خواهد کرد.

 

سپس اقلام دیکشنری را استخراج کرده و هر کلیدی که حاوی نام کشور است را استخراج کرده و در متغیر country ذخیره کنید. در کنار این ، مقداری را که فهرست بزرگترین شهرهای کشور را نشان می دهد ، استخراج کرده و در متغیر cities ذخیره می کنید.

 

برنامه citygen.py را اجرا کنید:

python citygen.py

 

این دستور دو فایل ایجاد می کند:

 

1. cities.md: یک فایل Markdown با محتویات زیر:

# Japan
* Tokyo
* Osaka
* Nagoya
# France
* Paris
* Marseille
* Lyon
# Germany
* Berlin
* Hamburg
* Munich

 

2. cities.html: یک فایل HTML که حاوی نتیجه تبدیل محتویات city.md است:

<h1>Japan</h1>
<ul>
<li>Tokyo</li>
<li>Osaka</li>
<li>Nagoya</li>
</ul>
<h1>France</h1>
<ul>
<li>Paris</li>
<li>Marseille</li>
<li>Lyon</li>
</ul>
<h1>Germany</h1>
<ul>
<li>Berlin</li>
<li>Hamburg</li>
<li>Munich</li>
</ul>

 

همچنین می توانید از تابع markdown.markdownFromFile () برای تبدیل یک فایل Markdown موجود استفاده کنید. به عنوان مثال ، می توانید فایل Picnic.md را با استفاده از کد زیر به فایلی به نام Picnic-out.html تبدیل کنید:

import markdown

markdown.markdownFromFile(input='Picnic.md', output='Picnic-out.html')

 

اگر فایل نیازی به هیچ گونه تغییری ندارد ، می توانید از تابع markdown.markdownFromFile () برای تبدیل مستقیم یک فایل استفاده کنید. اگر نیاز به اصلاح فایل Markdown دارید ، می توانید آن را بخوانید ، سپس با استفاده از روش نشان داده شده در مرحله 2 آن را تبدیل کنید.

 

شما متن Markdown را در کد پایتون به HTML تبدیل کرده اید ، اما Python-Markdown همچنین یک رابط خط فرمان مفید (CLI) برای تبدیل سریع فایلهای Markdown به HTML ارائه می دهد-در مرحله بعد این ابزار را مرور خواهید کرد.

 


 

با استفاده از رابط خط فرمان Python-Markdown

 

در این مرحله شما از CLI Python-Markdown برای تبدیل یک فایل Markdown به HTML و چاپ خروجی یا ذخیره آن در یک فایل HTML استفاده خواهید کرد.

 

می توانید اسکریپت خط فرمان Python -Markdown را با استفاده از پرچم -m پشتیبانی شده توسط Python اجرا کنید ، که ماژول کتابخانه را به عنوان اسکریپت اجرا می کند. به عنوان مثال ، برای تبدیل یک فایل Markdown ، می توانید آن را به دستور markdown به شرح زیر منتقل کنید ، نام فایل fi.mame را با نام فایلی که می خواهید تبدیل کنید جایگزین کنید:

python -m markdown filename.md

 

با اجرای این دستور کد HTML متن Markdown موجود در فایل filename.md چاپ می شود.

 

به عنوان مثال ، برای تبدیل فایل Picnic.md ، دستور زیر را اجرا کنید:

python -m markdown Picnic.md

 

با این کار خروجی زیر چاپ می شود:

Output<h1>Things to bring</h1>
<ul>
<li>Food.</li>
<li>Water.</li>
<li>Knife.</li>
<li>Plates.</li>
</ul>

 

برای ذخیره خروجی در فایلی به نام output.html ، از دستور زیر استفاده کنید:

python -m markdown Picnic.md -f output.html

 

با این کار ، اکنون از رابط خط فرمان markdown برای تبدیل یک فایل Markdown به HTML استفاده کرده اید.

 

ارسال نظر

تلاش میکنم سوالات شما را در کمتر از یک روز پاسخ بدم