پوستههای ویترو بلاگ کاملاً قابل سفارشیسازی هستند. اگر با HTML، CSS و JavaScript آشنا باشید، میتوانید پوستهٔ خود را از ابتدا بسازید. کد پوستههای رسمی پروژه را در مخزن hyvor-blogs-themes بررسی کنید.
در اینجا برخی از اصطلاحات رایج در این اسناد آورده شده است:
{subdomain}.example.com.
برای شروع توسعه پوسته، درک نحوه عملکرد مسیرها در ویترو بلاگ ضروری است. مسیرها تنظیماتی در سطح وبلاگ هستند، به این معنی که توسط وبلاگ نویس پیکربندی می شوند. ویترو بلاگ دارای مسیرهای پیش فرض است که معمولاً برای یک وبلاگ ساده کافی است.
قبل از ادامه، توصیه می کنیم راهنمای مسیرهای ما را بخوانید تا به طور کامل نحوه عملکرد مسیرها را درک کنید.
تنها یک فایل CSS در وبلاگ وجود دارد، styles.css.
Flashload به طور پیش فرض به همه وبلاگ ها اضافه می شود. بنابراین، حفظ آن مهم است Flashload در هنگام طراحی پوستهها در نظر داشته باشید. لطفا یک دقیقه وقت بگذارید و آن را بخوانید Flashload مستندات برای دریافت ایده از نحوه کار
چرا Flashload ؟ بارگیری مجدد مرورگر کند است. آنها منابع یکسان CSS/JS را چندین بار بارگذاری می کنند که باعث کندتر شدن رندر صفحه می شود. Flashload حتی قبل از اینکه کاربر روی پیوند کلیک کند، شروع به بارگیری صفحات دیگر می کند. ناوبری را روان تر می کند. این به سادگی وبلاگ را به یک برنامه تک صفحه ای (SPA)تبدیل می کند!
قبلاً یاد گرفتیم که فقط یک styles.css برای وبلاگی وجود دارد که شامل تمام CSS وبلاگ است. این styles.css باید در <head> صفحه بارگذاری شود. هنگامی که کاربر به صفحه دیگری هدایت می شود، Flashload یک درخواست AJAX را به آن مسیر ارسال می کند و صفحه HTML را از قبل واکشی می کند. سپس، فقط <body> قسمترا به روز می کند. (به یاد داشته باشید، ما قبلاً همه CSS را در اولین درخواست بارگذاری کرده ایم، بنابراین نمی خواهیم دوباره آن را بارگیری کنیم).
قانون ساده این است که منابع مشترک وبلاگ را به <head> اضافه کنید.
یکی دیگر از رفتارهای مهم HB این است که ما به طور گسترده از کش استفاده می کنیم. ما از تکنیکی به نام اولین درخواست ذخیره سازیاستفاده می کنیم.
/hello-world یک وبلاگ را درخواست می کند.هنگام استفاده از کش، پاک کردن کش مهمترین چیز است. ما باید مطمئن شویم که وقتی چیزی تغییر می کند، محتوای قدیمی ارائه نمی شود. در اینجا رویدادهایی وجود دارد که حافظه پنهان را برای هر محدوده پاک می کنیم.
و،
/search و /p/{hash} (پیش نمایش صفحات) همیشه پویا هستند و هرگز در حافظه پنهان ذخیره نمی شوند.⚠️ حافظه پنهان وبلاگ را فوق العاده سریع می کند. با این حال، محدودیت هایی را برای توسعه پوسته ایجاد می کند. شما نمی توانید داده های پویا مانند "تاریخ فعلی" را با استفاده از Twig رندر کنید. به دلیل حافظه پنهان، کاربران ممکن است تاریخ قدیمی را ببینند. در صورت لزوم، باید از Javascript برای ارائه محتوای پویا در داخل مرورگر کاربر استفاده کنید. با این حال، نمایش "تاریخ انتشار" یک پست به خوبی کار می کند زیرا هر زمان که پست به روز شود، حافظه پنهان را پاک می کنیم. همچنین، نمایش سال جاری کار خواهد کرد، زیرا ما در تاریخ 1 ژانویه مطمئن خواهیم شد که حافظه پنهان را پاک می کنیم.
بیایید محیط توسعه محلی شما را راه اندازی کنیم.
dev-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx دریافت خواهید کرد. ما بعداً به این نیاز خواهیم داشت.برای مراحل بعدی، شما نیاز دارید Node.js (و npm). به عنوان یک توسعه دهنده فرانت اند، امیدواریم قبلاً آن را نصب کرده باشید :)
npm install -g hyvor-blogs-climkdir my-themecd به پوشه پوسته و اجرای hyvor-blogs-cli initcd my-theme
hyvor-blogs-cli initاین دستور ساختار پوشه زیر را در داخل پوشه پوسته شما ایجاد می کند.
/
/assets
/lang
en.yaml
/styles
index.scss
/templates
@base.twig
author.twig
index.twig
post.twig
tag.twig
.env
config.def.yaml
config.yamlهمچنین در صورت تمایل می توانید این ساختار پوشه را به صورت دستی ایجاد کنید.
.env را باز کنید و SUBDOMAIN را با زیر دامنه وبلاگ DEV خود (که قبلا ایجاد کرده بودید) به روز کنید.SUBDOMAIN=dev-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxhyvor-blogs-cli را اجرا کنید تا به وبلاگ شما سرویس دهدhyvor-blogs-cliچگونه کار می کند: دستور hyvor-blogs-cli فرآیندی را اجرا می کند که محلی شما را تماشا می کند
فایل تغییر می کند و آن را با محیط تولید ما همگام می کند. بنابراین، هر زمان که فایلی را در پوشه پوسته خود اضافه، ویرایش یا حذف می کنید، با فایل های پوسته در وبلاگ DEV شما همگام سازی می شود.
اطلاعیه امنیتی 1: زیرا همه فایلهای موجود در فهرست پوسته شما با تولید ما همگامسازی میشوند. سیستم، هرگز هیچ فایل محرمانه ای را در آنجا اضافه نکنید.
اعلامیه امنیتی 2: زیر دامنه DEV خود را به صورت عمومی به اشتراک نگذارید. به سایر کاربران این امکان را می دهد
فایل های پوسته را در وبلاگ DEV خود تغییر دهید. اگر از GIT برای نسخهسازی استفاده میکنید، حتماً اضافه کنید .env به .gitignore.
همانطور که می بینید، چهار پوشه در یک پوشه پوسته HB وجود دارد. پوشه های تودرتو پشتیبانی نمی شوند.
/
/templates
/styles
/assets
/lang
config.yaml/{file_name} مسیر هر نوع فایلی پشتیبانی می شود.پوشه ریشه حاوی فایل های پیکربندی است. ببینید پیکربندی.