📋 محتويات الصفحة
📖 الوصف
Pug (سابقاً Jade) هي لغة قوالب عالية المستوى تُترجم إلى HTML. تستخدم المسافات البادئة (Indentation) بدلاً من الوسوم المغلقة، مما يؤدي إلى كود أنظف وأقصر بكثير من HTML التقليدي. تدعم Pug المتغيرات، التكرار (loops)، الشروط (conditionals)، والوراثة (Inheritance) مما يجعلها مثالية لبناء صفحات ويب دينام...
🎯 يستخدم في
مجالات استخدام هذه الأداة
بناء قوالب HTML معقبة (Node.js/Express)
توليد HTML ثابت (Static Site Generators)
كتابة صفحات بسرعة أكبر
قوالب البريد الإلكتروني
بنية نظيفة ومشروعة
✨ المميزات
أبرز مميزات هذه الأداة
كود مختصر جداً - أقل كتابة بكثير من HTML
المسافات البادئة تفرض بنية نظيفة
Supports الوراثة (Template Inheritance)
Includes وMixins لإعادة الاستخدام
تصفية (Filters) للمحتوى: Markdown
CoffeeScript
تكامل ممتاز مع Express.js
دعم JavaScript داخل القوالب
توليد HTML نظيف وقابل للقراءة
⚠️ العيوب
نقاط يجب مراعاتها
منحنى تعلم لإتقان البنية بالمسافات
خطأ واحد في المسافات يفسد كل شيء
أخطاء غير واضحة عندما يكون هناك مشاكل في البنية
بعض المطورين يفضلون رؤية HTML الحقيقي
مجتمع أصغر من Handlebars/Nunjucks
لا تدعم JSX/React مباشرة
🔄 البدائل
أدوات بديلة يمكنك استخدامها
💻 مثال على الاستخدام
كيفية استخدام هذه الأداة
//- ملف layout.pug - القالب الأساسي
doctype html
html(lang="ar" dir="rtl")
head
meta(charset="UTF-8")
meta(name="viewport" content="width=device-width, initial-scale=1.0")
title #{pageTitle}
link(rel="stylesheet" href="/css/style.css")
body
header
nav
each link in navigation
a(href=link.url)= link.text
main
block content
footer
p جميع الحقوق محفوظة #{new Date().getFullYear()}
//- ملف index.pug -extends
extends layout
block content
.container
h1= pageTitle
//- التكرار
ul.users
each user in users
li.user-card(class=user.active ? 'active' : '')
img(src=user.avatar alt=user.name)
h3= user.name
p= user.email
//- الشروط
if users.length > 10
p.text-muted يظهر #{users.length} مستخدم
//- Mixin قابل لإعادة الاستخدام
mixin button(text, type='primary')
a.btn(class=`btn-${type}` href=attributes.href)= text
+button('عرض المزيد')(href="/more")
📚 أدوات أخرى في HTML
قد يعجبك أيضاً
Alpine.js HTML
مكتبة JavaScript خفيفة للتفاعلات في HTML (Minimal JavaScript Framework)
Astro HTML
⭐إطار ويب لبناء مواقع محتوى سريعة (Content-focused Web Framework)
Emmet
⭐إضافة محرر لتوسيع الاختصارات (Editor Plugin for Abbreviation Expansion)
Handlebars
⭐محرك قوالب منطقي (Logic-less Template Engine)
HTMX
مكتبة HTML لتفاعلات خادم-عميل بدون JavaScript (Hypermedia-Driven Library)
Markdown
⭐لغة ترميز خفيفة للنصوص (Lightweight Markup Language)