۱- فرض را بر این میگیریم که برای هر نوشته در وبلاگ فارسی، تصمیم داریم یک عکس اختصاصی در نظر بگیریم، آن را در هدر در فیلدی به اسم image مشخص میکنیم.
همچنین در وبلاگ فارسی در نظر داریم دسته بندی براساس موضوع داشته باشیم category.
۲- در وبلاگ انگلیسی دسته بندی بر اساس تگها tags را مد نظر داریم.
۳- در مورد داستانهایمان بر اساس کلمات و موضوع داستان، کلمات کلیدی هر داستان را میخواهیم مشخص کنیم keywords همچنین میخواهیم اگر داستان دیگری هم نوشتهایم که شبیه به این داستان باشد، به آن لینک بدهیم suggests.
۴- در مورد آموزشها هم میخواهیم این فیلدها را داشته باشیم: کلمات کلیدی tags، یک فیلد توضیحات برای کامل کردن تیتر description، دسته بندیهای موضوعی categories، یک عکس برای توضیح مطلب image، و از آنجا که بیشتر از یک نفر در قرار است آموزشهایشان را بنویسند، نام نویسنده author.
میتوانیم هر بارکه پست جدیدی را با دستور new میسازیم، موارد مورد نیاز را به هدر اضافه یا حذف کنیم. اما احتمالاً اینکار سخت خواهد بود، شاید یک بار فراموش کنیم فیلدی را اضافه کنیم یا با غلط املایی آن را تایپ کنیم یا هر چیز دیگری، اما راه حل برای اجتناب از این تکرار چیست؟ جواب استفاده کردن از شاخهی structure است.
برای فیلدهای اختصاصی هر پست، میرا در شاخهی structure برنامه ابتدا به دنبال نام فایلی هم نام با نام طبقه شما میگردد، اگر این فایل موجود باشد، به جز فیلدهایی که بالا نوشته شدند، محتوییات آن فایل نیز به هدر شما اضافه میشود، اگر این فایل موجود نبود، برای محتویات آن طبقه برنامه از فایل default استفاده میکند.
چهار فایل در شاخهی structure همنام بانام سایتها میسازیم
~/mira/structure/blog-fa
~/mira/structure/blog-en
~/mira/structure/story
~/mira/structure/linux-learn
محتوای هر یک از این چهار فایل را به این صورت مشخص میکنیم:
~/mira/structure/blog-fa
_index:
category:
image:
~/mira/structure/blog-en
_index:
tags:
-
~/mira/structure/story
_index:
keywords:
-
suggests:
-
~/mira/structure/linux-learn
_index:
description:
categories:
-
tags:
-
image:
author:
در مورد فیلد _index و کاربرد آن در ادامه خواهیم خواند. فعلا فقط آن را در فایلهای استراکچر میگذاریم باشد.
حالا محتویات شاخه استراکچر اینها خواهند بود
~/mira/structure/
.
│
├──
├── blog-en
├── blog-fa
├── default
├── linux-learn
└── story