جیگسا (Jigsaw) ، سایت ساز استاتیکی که همه چیز را آسان تر می کند
جیگسا (Jigsaw) یک سایتساز استاتیک است که توسط شرکت Tighten ساخته شده و به تازگی ورژن V1.0 آن منتشر شده است. همراه لیداوب باشید تا بیشتر با این رویداد آشنا شوید.
این مجموعههای جدید به شما این امکان را میدهد که یک لیست از مطالب مرتبط مثل پستهای وبلاگ، نمونهکارهای قبلی و بیوگرافی همکاران را به طور همزمان آماده و ویرایش کنید.
درست مثل ورژن قبلی جیگسا که هنوز روی Blade است، پس همچنان میتوانید با همان سینتکسی که پیش از این استفاده میکردید، قالبهایتان را بسازید. این در کنار متنّهای Markdown به خوانایی قالبهایی که میسازید به شدت کمک میکند.
کیت دامیانی، در زمان انتشار این نسخه گفت:
مثل خود هسته جیگسا، مجموعهها جوری طراحی شدهاند که اجرایشان ساده باشد. این در حالیاست که قدرت و انعطافپذیری لازم برای ساخت یک وبسایت بسیار پیشرفته هم برای شما فراهم شده است.
این یک نمونه از تنظیمات یک مجموعهی جدید است:
return [
'company' => 'Tighten Co',
'contact_email' => '[email protected]',
'collections' => [
'people' => [
'path' => 'people',
'sort' => 'last_name',
],
'posts' => [
'path' => 'blog/{date|Y-m-d}/{filename}',
'author' => 'Tighten Co.',
],
],
];
این یک نمونه است که در آن “people” بر اساس نام خانوادگی مرتب شده که میتواند در فایلهای Markdown هم به صورت YAML front matter تعریف شده است. در ادامه در مسیر پوشهی “posts به صورت داینامیک تاریخ قرار داده شده است. همچنین نویسنده به صورت پیشفرض Tighten Co تنظیم شده است که در واقع اگر YAML front matter پشتیبانی نشود از آن استفاده میشود.
YAML: نوعی ساختار فایل است که خوانایی آن برای انسان راحتتر از دیگر فرمتها مثل JSON است.
YAML front matter: اطلاعات متا و توضیحاتی است که بالای فایلهای YAML میآید.
صفحهبندی Jigsaw
نسخه V1.0 با امکان صفحهبندی تعریف شدهاست که مستقیما در فایل Blade میآید:
// posts.blade.php
---
pagination:
collection: posts
perPage: 5
---
@extends('_layouts.master')
با اینکار به شی $pagination و هرآنچه برای صفحهبندی به آن نیاز دارید، دسترسی پیدا میکنید.
متغیرها و ابزارهای کمکی Jigsaw
در بالا در جایی که به استفاده از نویسندهی پیشفرض در زمانی که YAML front matter پشتیبانی نمیشد به صورت مختصر به متغیرها اشاره شد. این را هم اضافه کنیم که میتوان مستقیما در فایل تنظیمات فانکشنهای کمکی اضافه کرد:
return [
'excerpt' => function ($page, $characters = 100) {
return substr($page->getContent(), 0, $characters);
},
'collections' => [
'posts' => [
'excerpt' => function ($page, $characters = 50) {
return substr(strip_tags($page->getContent()), 0, $characters);
},
],
],
];
در این مثال، اولین بخش تعداد کارکترها را به ۱۰۰ محدود میکند، و در نمایش مجموعهی پستها، به وسیلهی تگهای HTML این تعداد را به ۵۰ عدد محدود میکند.
نتیجه گیری
اولین بار که جیگسا را دیدم دسامبر سال ۲۰۱۵ بود. همان زمان بخاطر امکانات جالبش که همهچیز را آسان میکرد هیجانزده شدم. چون از Blade استفاده کرده بود، من با سینکتس قالبها راحت بودم و دیگر نیازی بند که سیستم قالببندی جدید یاد بگیرم. این سیستم از Gulp و Elixir استفاده میکند، حتی خط فرمان جیگسا بسیار به Artisan شبیه است.
با اضافه کردن مجموعهها با این سایتساز استاتیک، از این به بعد ابزار هیجانانگیزی برای ساختن وبسایت شخصی یا وبلاگتان در اختیار دارید.
مقالات آموزشی PHP و لاراول در سایت آموزشی لیداوب، در اختیار شما هستند تا هر روز با نکات جدید، مسیر آموزش اصولیتر و بهتری را تجربه کنید.
متاسفانه فقط اعضای سایت قادر به ثبت دیدگاه هستند
دیدگاه ها 0