شاید یک طراح اینترنت باشید اما ندانید که pug چیست و چه کاربردی دارااست؟ چنانچه شما هم از امرها تکراری و استاتیک گویش نماد گذاری html خسته گردیدهاید؛ pug قادر است خیلی از اشتباهات شمارا حل نماید. تایپ کردن نرمافزارها به گویش html مستلزم تعداد خط کدهای متعددی میباشد و نمیتوانید در آن هیچ تگ جدیدی ساخت و ساز فرمائید. یک کدام از معایب این طراحی سایت در مشهد لهجه که منجر وقت گیرخیس شدن کدها میگردد، خلا قابلیت و امکان استعمالی دوباره از یک تکه کد میباشد. این زمینه به همپا بخش اعظمی مسائل و ایرادات دیگر در html منجر شدند که ایدهی بسطی سیستمهای پوسته نویسی صورت بگیرد.
چیزی که نیاز میباشد بدونید این سیستمها علاوهبر توسعه و گسترشی بی آلایشخیس کدهای html، تجهیزات بیشتری نیز برای توسعه و گسترشی صفحه های اینترنت ارائه میدهند. پاگ یک کدام از همین سیستمهاست که فعالیت پیاده سازی صفحه های اینترنت را بسیار معمولی نموده است. درین نوشتهیعلمی قصد داریم بهاین مسئله بپردازیم که پاگ چیست و چه امتیازاتی نسبت به html بی آلایش داراست.
Pug چیست؟
درحالتی که شما هم به حیوان ها علاقمند باشید، قطعا می دانید نژاد سگ pug چیست. پاگ یک نژاد سگ چینی میباشد که صورتی بامزهای دارا هستند. در ساخت وب سایت پاگ اسم یک Template Engine یا این که موتورپوسته میباشد که میاقتدار از آن برای node.js و مرورگرها بهره برد. این موتور پوسته نوعی گویش برای پیاده سازی صفحه ها اینترنت به حساب میآید که بر پایه ی جاوا اسکریپت بوده و سینتکسی بی آلایش و جاری داراست.
دستورها پاگ به راحتی با کدهای html یک پارچه میشوند و میاقتدار اعلام کرد بی آلایشخیس از این گویش میباشند. یادگیری پاگ فعالیت راحتی میباشد؛ ولی ممکن میباشد مقداری طولانی باشد. در حال حاضر شما دانستید Html pug چیست؛ البته شاید برای شما هم این پرسش پیش بیاید که مراد از موتور پوسته چیست و چه تفاوتی با html داراست.
خواسته از Template Engine چیست؟
یک موتور پوسته یا این که Template Engine نرمافزارای میباشد که میتوانید بخش اعظمی از گویشهای نرمافزارنویسی را در آن به عمل ببرید. این موتور را میاقتدار ابزاری دانست که ورودیهای شما به هر زبانی را به باطن کدهای html ترزیق مینماید و اکران میدهد. به ذکر دیگر یک موتور پوسته مقادیر مرتبط با اکران موادسازنده در کاغذ نظیر دادههای نمایشی ارسال گردیده را در باطن تگهای html قرار می دهد.
دادههای ارسالی از سمت سرور میباشند و کنترلر آن ها را در مشت موتور قرار میدهد. مثلا درحالتی که استفاده کننده نامی را برای سرور ارسال نماید، موتور پوسته این داده را از سرور اخذ کرده و در تگ مطلوب درون html بارگزاری مینماید.
چرا از موتور پوسته pug در html به کارگیری مینمایند؟
به عبارتیطور که گفته شد، گویش html، گویش بی آلایش و در عین اکنون سرسختی میباشد. دراین گویش تجهیزات متعددی نیست و شما ناچارید قطعات کد تکراری را بارها و بارها در درون اپلیکیشن تکرار فرمایید. موتور پوسته pug علاوهبر اینکه امرها معمولیای داراست و خوانایی کدهای شمارا بالا میبرد، به شما در فهم عالی این کدها نیز امداد مینماید.
این موتور پوسته کار کشته بوده و خصوصیتهای نیکی نظیر اوامر شرطی، رینگهای تکرار، mixinها و include ها را به کدهای html اضافه مینماید. این موتور حاذق، خصوصیتهای خیر برای node.js ارائه می دهد و برای توسعه و گسترشی بک اند بسیار کاربردی میباشد.
مزایا و معایب Pug
برای مثال مهم ترین مزایای pug میقدرت به مورد ها پایین اشاره نمود:
سازش بهتر با js داراست.
سینتکس آن بسیار کوتاه میباشد.
متن گشوده یا این که open source میباشد.
ساختار یافته میباشد.
این موتور پوسته تماما مجانی میباشد.
سینتکس پاک و قابل فهمی داراست.
Haml وجود ندارد
بسیار مشابه slim میباشد
نصب راحتی دارااست.
کدهای آن خوانایی خیر داراهستند.
برای گسترشی بک اند بسیار ریلکس میباشد.
از معایب این موتور پوسته نیز میقدرت موردها پایین را اسم موفقیت:
داشتن سربار عملکردی
مشقت استعمال برای فرانت اند
طاقت فرساخیس شدن دیباگ html
فراگیری pug
دراین بخش به یادگرفتن pug و روشی اجرای آن میپردازیم. برای اینکه بتوانیم از پاگ به کارگیری کنیم، می بایست پیش از هر چیز node.js، npm که یاور node میباشد و پکیج pug را نصب کنیم. برای نصب Node / NPM می بایست به برگهی هوم پیج پروژه رفته و پکیج این دو ورژن را دانلود کرده و آن را نصب فرمائید.
نصب pug
بعد از نصب این Node / NPM شما نیاز به نصب pug دارید. برای این شغل بایستی از امر پایین به کار گیری فرمایید.
$ npm install pug
ممکن میباشد ادیتور شما برای اوامر پاگ امکان هایلایت سینتکس نداشته باشد؛ بدین ترتیب شما نیاز دارید که یک اکستنشن برای این شغل نصب فرمایید. برای مثال پلاگینی Sublime Text میتواند برای این فعالیت مطلوب باشد. قابلیت و امکان هایلایت سینتکس به شما یاری مینماید که فعالیت با پوشههای پاگ را ریلکسخیس جاری ساختن دهید.
شما می توانید سوای نصب پاگ نیز از آن در html به کارگیری فرمایید. برای این شغل می بایست از پلتفرمهای آنلاین نظیر code pen به کار گیری نمایید. کافی میباشد یک pen تازه ساخت و ساز کرده و در نصیب پیکربندی موردی پاگ را تحت عنوان پیش پردازنده یا این که به عبارتی preprocessor گزینش نمایید. با گزینش این آیتم codepen به شما اذن میدهد که کدهای پاگ را در درون pen های html وارد نمائید و حاصل را به طور لحظهای ببینید.
مبانی سینتکس پاگ
در پاگ شما بایستی به مسافتگذاریها و تهیه و تنظیم گوشهها به طور کامل توجه نمایید. به عنوان مثال در کد پایین مسافتهای تهیه و تنظیم گردیده در سمت چپ، به تگهای فرزند درون یک تگ والد اشاره مینماید. به نوعی میقدرت ذکر کرد مسافتها سلسله مراتب تگها را علامت میدهد. به نمونه ذیل اعتنا نمائید:
doctype html
html(lang=\'en\')
head
title Hello, World!
body
h1 Hello, World!
div.remark
p Pug rocks!
مساوی این امر در html به صورت ذیل برگردانده میشود:
همانگونه که در نمونه بالا مشاهده کردید، در پاگ شما هیچ تگی را گشوده یا این که بسته نمیکنید؛ به همین ادله میباشد که میگوییم کدهای pug پاک و خوانا می باشند. برای فهم خوب این زمینه نمونه پایین را ملاحظه کنید:
nav
navbar-default div
h1 My Website!
ul
li
a Home
li
a Page 1
li
a Page 2
input
این کد به طور کد html ذیل کامپایل میشود:
با مقایسه دو کد بالا می توانید زیبایی و آسانی این لهجه را ادراک نمائید.
تعریفوتمجید کلاسها، آیدیها و صفات
pug چیست و چه کاربردی دارااست درین نصیب از یادگرفتن pug روشی تمجید بعضی از المانهای اساسی پاگ را تحقیق میکنیم. طبق تمجید آیدی و کلاس در جاوا اسکریپت، مسلما میدانید که آیدی و کلاس در پاگ چیست و چه کاربردی داراست. برای اینکه بتوانیم این کلاسها را در پاگ تعریف و تمجید کنیم بایستی نشان گذاری .className را به شغل ببریم. همینطور # برای اکران آیدی استعمال میگردد. نمونه:
nav#navbar-default
div.container-fluid
h1.navbar-header My Website!
دراین کد دو کلاس container-fluid و navbar-header و یک آیدی به عنوان navbar-default داریم. صورت کامپایل گردیدهی این کد به طور ذیل میباشد: