نظرة عن الـPug.js

السلام عليكم ورحمة الله تعالى وبركاته :smiling_face_with_three_hearts: :heart_eyes:
سأذكراليكم بعض مميزات الـPug.js لتطوير امكانيات لغة الـHTML.
تنزيل

ماهي الـPug.js؟

الـPug.js هي عبارة عن Template Engine لـ Node.js حيث تسمح لنا Template Engine بإدخال البيانات ثم انتاج الـHTML.
ونستخدمها بنفس الطريقة التي نستخدم بها Template Engine.

تثبيت Pug.js:

يمكنك تثبيتها باستخدام npm

$ npm install pug

طريقة كتابة أكواد الـPug.js:

ملف الـPug.js يحفظ بـ.pug مذكور في الموقع الرسمي أنه تبدو سمات العلامات مشابهة لـ HTML (بفواصل اختيارية) ، لكن قيمها ليست سوى JavaScript عادية.
مايلي طريقة اختلاف كتابتها بينها وبين HTML:

بوااسطة ملف الـPug.js:

doctype html
html
  head
    title All About Pugs
  body
    h1 All About Pugs
    p Let’s learn about pugs!

بواسطة الـHTML:

<!DOCTYPE html>
<html>
  <head>
    <title>All About Pugs</title>
    <script src=”js/scripts.js”></script>
  </head>
    <body>
    <h1>All About Pugs</h1>
    <p>Let’s learn about pugs!</p>
  </body>
</html>
  • السمات أو Attributes:

تتم إضافة السمات إلى الـTag باستخدام الأقواس وقيم مفصولة بفواصل. يجب أن تتبع السمات الـTag على الفور.

    html
      head
        title All About Pugs
        script(src=”js/scripts.js”)
      body
        h1 All About Pug
        p Let’s learn about pug
        a(href='//google.com') Google
  • الـClasses و الـIds:

هناك طريقتين لكتابة الـClasses و الـIds الأولى تقريبا تشبه HTML أما الثانية الحاق محدد الـCSS مباشرة بعد اسم الـTag.اليك مثال يوضح ذلك:

      body
        h1(id=”main-header”, class=”main-heder") All About Pug // لاحظ طريقة الفصل بين الكلاس والأيدي بفاصلة
        p#text Let’s learn about pug  // هنا الأيدي 
        p.text hello pug // هنا الكلاس 
        h1#heading.heading you can learn pug // هنا استعملنا الكلاس والأيدي مع بعض

ايجابيات وسلبيات الـPug.js:

  • الايجابيات:

  • عندما تكتب باستخدام Pug ، تكتب رمزًا يشبه الفقرات. هذا يحسن إلى حد كبير من قراءة التعليمات البرمجية ويبسط المشاريع مع مطورين متعددين.

  • لا توجد علامات إغلاق في Pug. يستخدم Pug المسافة البادئة لتحديد تداخل العلامات. حتى أن هناك اختصارات للـClasses (.) وIds (#).

  • يمكننا كتابة جافا سكريبت التي تبدو في الواقع (تقريبًا / نوعًا) تشبه جافا سكريبت داخل ملفات الصلصال.

  • السلبيات:

  • مع Pug ، المسافة البيضاء تهم. وأيضا الوقت الكبير يهم. أدنى خطأ في التنسيق / المسافة البادئة / التباعد يعني مشاكل كبيرة للشفرة الخاصة بك.

  • مع Pug ، لا يمكنك نسخ HTML من أي مكان ، عليك تحويل كل شيء إلى Pug قبل أن تتمكن من استخدامه.

هل يجب استخدامه؟

طبعا هذا يعود اليك فهناك ايجابيات وسلبيات لكل مكتبة أو أداة أو اطار عمل الذي يساعدك في عملك.
تحتوي الـPug.js طريقة جديدة للتعلم لكتابة الترميز ويتطلب وعيًا صارمًا بالمسافة البيضاء.
لكن إلى جانب الأدوات الأخرى ، يمكن أن يكون Pug مفيدًا بالتأكيد!
وأيضا ستتمكن من فهم أهمية Template Engine في تطوير الويب.

التوثيق الرسمي لـPug.js

دورة عربية مقدمة من قناة الزيروا ويب سكول

8 Likes

مقال رائع ي مصعب، شكراً لك

اما بالنسبة ل pug فمن يتعامل مع ال node سيدرك مدى أهميته كون انه يتيح الديناميكية في التعامل مع المتغيرات وما خلافة.

3 Likes

العفوا أستاذي :smiling_face_with_three_hearts:

بالفعل الpug لديها الكثير من المميزات

2 Likes

بالنسبة لى ليس عيباً المسافات لنه بذالك يسمح لك بالتركيز وعد ظهور اخطاء فى النهاية هذا رأيى، مقال رائع احسنت :heart_eyes:

3 Likes

شكرا @abdallahmiri على مقالاتك الرائعة والمفيدة

مادام الإيجابيات أكثر من السلبيات، فهذا جيد وتستحق استعمالها

3 Likes

شكرا لك أخي عبد الله على مشاركتك لرأيك :smiling_face_with_three_hearts:

1 Like

طبعا :orange_heart:

1 Like