pug (پاگ) چیست و از آن چه میدانید؟
1399-12-05

pug (پاگ) چیست و از آن چه میدانید؟

pug (پاگ) چیست

حتما وقتی اسم پاگ می‌آید به یاد نژاد سگ‌های پاگ که خاستگاهشان از چین شروع شد، می‌افتید. اما در دنیای برنامه‌نویسان چه میکند؟ بله امروز می‌خواهیم درباره pug چیست، صحبت کنیم. پس در ادامه با ما همراه شوید.

CSS و Javascript ابزارهای مختلفی برای آسان کردن روند توسعه دارند اما HTML تا سال‌ها از این ابزارها برخودار نبود تا اینکه امروزه این وضعیت با سیستم‌های قالب‌نویسی تغییر پیدا کرده است.

حالا مشکل استفاده از HTML ساده چه بود؟

از آنجایی که html یک زبان نشانه‌گذاری است و قابلیت‌های یک زبان برنامه‌نویسی را ندارد، تعریف کردن آن‌ها معمولا از طریق یکسری تگ انجام می‌شود. اما مواردی وجود دارد که باعث محدود شدن HTML می‌شود که عبارت است از:

  • استفاده از داده‌های داینامیک در HTML ساده نیست.مشکل استفاده از html ساده

  • اگر بخواهید چندین المان‌ را به صورت تکراری قرار دهید هیچ راه میانبری را در اختیار ندارید، باید خودتان دستی این کار را انجام دهید.

  • کاربر در HTML قابلیت ایجاد نوع‌های جدیدی از تگ را ندارد.

  • با وجود آنکه خوانایی بالایی دارد اما نوشتن HTML گاهی اوقات می‌تواند بسیار طولانی باشد.

مطمئنا حل کردن تمام این مشکلات کاری انجام نشدنی است، البته تا قبل از آمدن سیستم قالب نویسی؛ چرا که این سیستم‌ها کاری می‌کنند که شما بتوانید HTML را با کنترلرهای مختلفی ایجاد کنید. این کار باعث می‌شود که کدها سریع‌تر تولید شده و همچنین قابلیت‌های جدیدی به روند توسعه صفحات HTML اضافه شود. یکی از آنها pug است که در ادامه بیشتر به تعریف آن میپردازیم.

تاریخچه pug چیست:

Template Engine در ابتدا کار خود را با نام Jade شروع کرد اما بخاطر مسئله‌های مربوط به کپی رایت و ثبت شدن علامت آن، در سال 2015 مجبور شدند نام آن را به Pug تغییر دهند؛ چون هم کوتاه بود و هم به خوبی در ذهن میماند و از نظر توسعه‌دهندگان، نژاد سگ‌های پاگ بامزه بودند. با تغییر نام در نسخه 2 این تمپلیت، لوگو و تمام ریپازیتوری‌های مربوط به آن تغییر کرد.

آموزش html css

تعریف pug:

پاگ چیستبرای شروع کار با pug شما باید حتما روی سیستم، Node.js را نصب کنید. چرا که Pug یک Template Engine یا موتور قالب برای Node و مرورگر است که به خوبی با کدهای HTML یکپارچه‌ می‌شود و از سینتکس ساده و روانی برخوردار است. میتوان گفت یادگیری راحتی دارد و کدهای شما را برای بقیه خوانا و قابل فهم میکند و شما اجازه دارید، داده‌هایی که از یک پایگاه داده یا API گرفته‌اید را به خوبی نشان دهید.

اما شاید این سوال برای شما پیش آید که سیستم قالب نویسی یا Template Engine چیست؟

در ساده‌ترین بیان باید گفت: یک برنامه است که طیف گسترده‌ای از زبان‌ها را شامل میشود و قالب‌های نوشته شده با زبان‌های مختلف را به html کامپایل میکند. در واقع، یک دسته از موتورهای تولید سریع قالب‌های وب هستند که منطق و ظاهر برنامه را از هم جدا کرده، درست مانند مدل MVC. این مدل، نحوه وظیفه نمایش عناصر صفحه مربوط به View را برعهده دارد و منطق برنامه توسط Controller مدیریت می‌شود. وظیفه Template Engineها بارگذاری مقادیر مورد نیاز برای View است.

جمع بندی:

خب دوستان گفتیم که pug چیست. حالا میخواهیم نکاتی را درباره آن به شما بگوییم:

اول اینکه استفاده از این تمپلیت بسیار آسان است. کافیست در ابتدا با یک دستور ساده پاگ را نصب کرده و آن را به پروژه‌ی خود اضافه کنید. حالا نوبت به تنظیم کردن View Engine می‌رسد، در پایان نیز باید یک فایل با پسوند pug. ایجاد کنید.

مطلب بعدی این است که پاگ حجم کدها را تا حد قابل توجهی کاهش می‌دهد و به خاطر خوانایی بالای کدها در تمپلیت انجین پاگ، کدها بیشتر شبیه به پاراگراف‌های جذاب به نظر می‌رسند که به‌راحتی خوانده میشوند. تگ‌ها، در پاگ نیازی به بسته شدن ندارند و از همه مهم‌تر اینکه جاوا اسکریپت و Pug به خوبی با هم سازگار هستند. یعنی می‌توانید به‌راحتی کدهای جاوا اسکریپت خود را درون پاگ قرار دهید. 

جمع بندی مطلبشما نباید از این موضوع غافل شوید که در pug نمی‌توانید کدهای html را از هر جایی که خواستید کپی و به پروژه‌ی خود اضافه کنید. باید اول آن‌ها را به پاگ تبدیل کرده تا قابل استفاده باشد. همچنین، کدنویسی صحیح در Pug بسیار مهم است. یک اشتباه کوچک در ساختار، تورفتگی یا فاصله دادن در کدها ممکن است برایتان پشیمانی به بار آورد.

امیدوارم که این مطلب مورد رضایت شما دوستان قرار گرفته باشد و اگر تجربه کاری در اینباره دارید، در قسمت کامنت‌ها با ما به اشتراک بگذارید.
 

مقالات مرتبط

تفاوت dp و px در برنامه نویسی اندروید

واحد های اندازه گیری اندروید
زهرا چگینی
10

به نظر شما تفاوت dp و px در برنامه نویسی اندروید، این دو واحد اندازه گیری چیست؟ پس ما را همراهی کنید.

delegate چیست؟

Delegate ها چرا به زبان سی شارپ اضافه شدند؟
مرضیه فتاحی
15

delegate چیست؟ چه کاربردی دارد؟ چگونه و در چه موقعیت هایی باید ازآنها استفاده کرد؟ با ما همراه شوید تا تمامی این سوال ها دریابید.

اکشن (Action) در سی شارپ، راهی برای خواناتر شدن کدها

موارد استفاده ی Action در سی شارپ
زهرا چگینی
10

Action در سی شارپ از پایه و اساس Delegate ها استفاده میکند، درحقیقت همان Delegate های هستند که کار را برای ما راحت تر میکنند.

Extension method درسی شارپ، راهی برای کارایی بالا در کدها

اکستنشن (extension) درسی شارپ
مرضیه فتاحی
10

هدف ما دانستن نکات مهمextension method در سی شارپ، نحوه استفاده و همچنین کاربرد آن در کدنویسی است. پس با ما همراه شوید.

لیست کامل تگ های html که هیچ کس به شما نخواهد گفت

آشنایی با تگ های html
زهرا چگینی
15

تگ ها در html نقش مهمی دارند زیرا تمامی کارهای html با تگ انجام می‌شود. به همین دلیل ما یک لیست کامل از تگ‌های html برای شما آماده کرده‌ایم تا از آن استفاده کنید.

ویژگی های جدید asp.net core که حیرت برنامه نویسان را برانگیخت

معرفی ویژگی های جدید asp.net core از مایکروسافت
مرضیه فتاحی
10

ویژگی های جدید asp.net core چیست؟ مایکروسافت در این نسخه چه امکاناتی را برای برنامه نویسانش قرار داده است. اگر شما هم خواهان دانستن این مطالب هستید، ما را همراهی کنید.