برنامه نویسی

چرا و چگونه من زندگی خود را با حرکت ایستگاه Symfony به Grav CMS ساده می کنم

این مقاله در ابتدا در ایستگاه Symfony ظاهر شد

در این مقاله توضیح می دهم که چرا من در پی انتقال سایت کد اتم موبایل خود به GRAV CMS با سایت ایستگاه Symfony دنبال می کنم.

چرا

سادگی

اکنون که 99 ٪ بازنشسته شده ام ، نمی خواهم با وب سایت ها 60 ساعت در هفته لعنتی کنم. به خصوص که من هنوز سه پروژه سرگرمی دارم که می خواهم به کار خود ادامه دهم. آنها کاهش ذهنی من را کند می کنند و افسردگی مادام العمر را کاهش می دهند. به علاوه ، من برای کافئین صبح و الکل بعد از ظهر به وقت اضافی نیاز دارم. و از همه مهمتر ، چرت زدن.

همچنین ، بعد از گذشت تقریباً چهار سال ، اکنون می دانم که می خواهم ایستگاه Symfony چه باشد. من تعیین کرده ام که کدام سیستم عامل ها را برای حداکثر تأثیر با حداقل تلاش توزیع می کنند.

به همین دلیل خبرنامه ما اخیراً چکمه را دریافت کرد. کار مضاعف برای بسیاری از وقت های چشم در زمان هدر رفتن نیست.

و من گردش کار خود را کامل کرده ام.

Grav با این واقعیت هماهنگ است و نزدیکترین گزینه برای Symfony است که نیز ساده است.

نزدیک به Symfony

Grav یک CMS تحت تأثیر Symfony است. استفاده می کند:

  • Twig Templating: برای کنترل جامع رابط کاربری
  • Markdown: برای ایجاد محتوای آسان
  • YAML: برای پیکربندی ساده
  • Parsedown: برای پشتیبانی سریع Markdown و Markdown اضافی
  • حافظه پنهان دکترین: برای عملکرد
  • ظرف تزریق وابستگی به جوش: برای گسترش و قابلیت حفظ
  • Dispatcher رویداد Symfony: برای رسیدگی به رویداد افزونه
  • کنسول Symfony: برای رابط CLI
  • کتابخانه تصویر گرگوار: برای دستکاری تصویر پویا

PHP

Grav 99 ٪ PHP است.

در واقع 99.7 درصد PHP است. شما نمی توانید آن را شکست دهید.

بدیهی است که من جامعه توسعه PHP را دوست دارم و پشتیبانی می کنم. من سالهاست که از آن در تجارت خود استفاده کرده ام ، در درجه اول از طریق وردپرس و اخیراً دروپال. و من آن را به طور گسترده در ایستگاه Symfony پوشش می دهم. بنابراین GRAV CMS به عنوان گزینه ای برای سایت های ساختمانی ، بدون مغز است.

بدون بانک اطلاعاتی

Grav یک File File CMS است. بنابراین ، نیازی به پایگاه داده ندارد. به همین دلیل ساده و عالی است. بدون سردرد و نعل اسب مورد نیاز است.

دروپال خیلی پیچیده است

گذشته از CMS SULU ، من دروپال را به عنوان CMS که از نزدیک با Symfony یکپارچه شده اند ، مشاهده کرده ام. و به همین دلیل است که من در ابتدا ایستگاه Symfony را با آن ساختم. این به من کمک کرد تا به سمت تسلط Symfony حرکت کنم. این امر به ویژه از دیدگاه های معماری و منطق تجارت صادق بود. متأسفانه ، دروپال چیزی ساده است. در واقع ، این برعکس ساده از هر نظر قابل تصور است.

در حالی که به آرامی بهبود می یابید ، هنوز درد در الاغ لعنتی است.

و من هیچ ایمانی ندارم که به روزرسانی های اتوماتیک دروپال هرگز اتفاق بیفتد.

بنابراین ، علیرغم یادگیری زیاد با استفاده از آن و گرفتن برخی از کارهای تجاری اضافی از آن دانش ، دروپال در حال گرفتن چکمه است.

با گفتن این موضوع ، من در چند مورد فوق العاده در چند Drupalcamp Floridas و Drupalcon Lille آشنا شدم.

و من جامعه را ترک نمی کنم. حتی اگر من بازنشسته شده ام و دیگر مشتری ها را نمی پذیرم ، سایت رسانه ای اتم موبایل را برای آزمایش دروپال حفظ خواهم کرد.

من همچنین وقتی سال آینده به اروپا نقل مکان می کنم ، ایده ای برای ابتکار خیرخواهانه دارم ، بنابراین می خواهم در بازی بمانم.


چگونه این کار را کردم

بنابراین ، چگونه سایت جدید را ساختم.

نصب

با پیروی از اسناد آن می توانید CM GRAV را نصب کنید.

یا اگر سرویس میزبانی شما دسترسی به نرم افزاری را فراهم می کند ، از آن استفاده کنید. همان کاری است که من انجام دادم.

ایجاد تم

روشهای مختلفی برای ایجاد یک موضوع Grav وجود دارد که نیازهای ساده یا پیچیده شما را برآورده می کند ، اما Grav ویژگی ها و عملکردی را برای ساده تر کردن آن فراهم می کند. و آنها راهی هستند که من موضوع سایت خود را ایجاد کردم.

این روش ساده تر استفاده از وراثت موضوع است. من این گزینه را دوست دارم زیرا شبیه به کاری است که من با مضامین وردپرس و دروپال انجام داده ام.

این همچنین روش ارجح Grav برای سفارشی کردن یک موضوع است.

شما یک موضوع پایه را تعریف می کنید که از آن به ارث می برید. به عنوان مثال کوارک موضوع پیش فرض در مورد من. سپس آنچه را که می خواهید سفارشی کنید یا ویرایش می کنید و اجازه می دهید موضوع پایه بقیه را کنترل کند.

این استراتژی همچنین به شما اجازه می دهد تا موضوع پایه را بدون از دست دادن سفارشی سازی موضوع وراثت خود به روز کنید.

روش های مختلفی برای ایجاد یک موضوع وراثت وجود دارد. اما به نفع سادگی ، بیایید به روند دستی نگاه کنیم. من:

  • یک پوشه جدید ایجاد کرد -> کاربر/مضامین/my_theme_name برای نگه داشتن موضوع سفارشی.

  • سپس پرونده YAML را از موضوع (کوارک) کپی کردم که من از پوشه جدید به ارث بردم. نام آن را my_theme_name.yaml نامگذاری کرد و نام موضوع جدید را در هر کجا که کوارک دیدم تغییر داد.

  • پرونده کاربران/مضامین/Quark/BluePrint.yAML را در پوشه کاربر/مضامین من/my_theme_name کپی کنید.

  • موضوع پیش فرض را در پرونده کاربر/پیکربندی/system.yaml تغییر داد:
    صفحات:
    موضوع: my_theme_name

  • من جریان های Grav را طوری تنظیم کردم که ابتدا در my_theme_name به نظر برسد ، سپس کوارک را امتحان کنید.

اکنون نیاز به ارائه CSS ، JS و Twig Tymplate که مورد نیازم بود ، نیاز داشتم.

سرگرم کننده

Symfony و Twig همان Papa ، Fabian Ponticier را دارند.

او شاخه ای را به عنوان یک موتور الگوی مدرن برای PHP ایجاد کرد. و فواید زیادی دارد.

این سریع است زیرا الگوهای را به کد PHP بهینه شده ساده کامپایل می کند. سربار در مقایسه با کد PHP معمولی به حداقل می رسد. می توان از آن برای برنامه هایی استفاده کرد که کاربران نیاز به اصلاح طرح الگو دارند. و Twig توسط یک لکسر و تجزیه کننده انعطاف پذیر نیرو می یابد. این به توسعه دهندگان اجازه می دهد تا برچسب ها و فیلترهای سفارشی خود را تعریف کنند و DSL خود را ایجاد کنند.

در GRAV CMS ، الگوهای شاخه ای معماری صفحه کنترل و رفتار تعاملی از افزونه ها و همچنین هر پرونده شاخه ای از مؤلفه های سفارشی. طراحی اتمی همیشه بهترین است ، Peeps. جدایی نگرانی ها ، و غیره

من الگوی base.html.twig را با Twig و Twig و Pouter.html.twig با مقداری HTML به همراه لمس CSS خطی ویرایش کردم. و شاید برخی از الگوهای دیگر اما زیاد نیست.

نشان

یکی از جذاب ترین قرعه کشی Grav این است که از Markdown برای ایجاد محتوا استفاده می کند.

من برای اولین بار در Bootcamp برنامه نویسی خود در معرض Markdown قرار گرفتم. و من آن را دوست داشتم. بدیهی است که از آن به طور گسترده در مستندات نرم افزاری استفاده می شود.

امروزه ، من تمام نوشته های خود را در Markdown از طریق برنامه Joplin انجام می دهم. کپی و چسباندن یک دهم زمان اصلاح مجدد به گوتنبرگ است.

قسمت جلو

این کار با Markdown و Twig برای کمک به افزودن تعامل انجام می شود. این شامل کشیدن خودکار مقالات و ارتباطات جدید به صفحات لیست آنها است. اگر نمی دانید ، FrontMatter متا داده را به علامت گذاری خود اضافه می کند.

CSS

صفحات GRAV را می توان در Markdown (همانطور که در بالا ذکر شد) و/یا HTML نوشته شود.

CSS سفارشی و J از طریق افزونه های GRAV اضافه می شوند. این فوق العاده است زیرا من عاشق CSS وانیلی هستم و از سکوهای جبهه متنفرم. من همچنین از جاوا اسکریپت متنفرم. از آنجا که GRAV CMS 99.7 ٪ PHP است و از TWIG استفاده می کند ، من فقط باید JavaScript را اضافه کنم که کاملاً به عملکرد و تعامل نیاز دارم. که در کنار هیچ است. متأسفانه ، من برای عملکرد ناوبری و جستجوی موبایل کمی نیاز داشتم.

بدیهی است که من از Cutom CSS برای طراحی خود استفاده کردم.

افزونه های مورد استفاده:

  • CSS سفارشی
  • ویرایشگر
  • ابزارهای قدرتمند (برای ویرایشگر مورد نیاز)
  • مدیر خدمات اصلی (برای ویرایشگر مورد نیاز است)
  • صفحه بندی
  • هاله (سئو)
  • نقشه سایت (SEO)
  • دست و پنجه نرم کردن

بیشتر این موارد خود توضیحی هستند. و همه آنها باید پیکربندی شوند تا با منحصر به فرد بودن سایت من کار کنند.

ویرایشگر بیایید من فایلهای PHP ، CSS ، JS ، Twig و Markown را مستقیماً از مدیر ویرایش کنم. که مفید است

هاله به طور خودکار ابرداده تولید می کند. اما ، اگر یک سایت کوچک دارید ، بیشتر از ارزش آن مشکل دارد.

مستند سازی

مستندات Grav بسیار خوب است. که خوش شانس است ، زیرا من در طول طراحی مجدد و مهاجرت از آن استفاده قابل توجهی کردم.


پایان

بنابراین ، با تشکر از خواندن این پروژه در حال انجام.

معماری جدید و UI به پایان رسیده است. شما می توانید آن را در اینجا ببینید. در صورت تمایل با ما با هر پیشنهادی تماس بگیرید.

بدیهی است که سایت تمام نشده است.

من در حال نهایی کردن طراحی هستم که خیلی بیشتر طول نخواهد کشید.

و من به صورت دستی در حال مهاجرت محتوای هستم که مدتی طول می کشد. من در حال حذف ، به روزرسانی مقالات و جایگزینی تصاویر برای مقالات و ارتباطات برای متناسب با طراحی مجدد بهتر هستم.

پس از آن ، من باید تغییر مسیر یا پیوندهای به روزرسانی را اضافه کنم.

پس از زنده بودن طراحی جدید ، سایت کد اتم موبایل خود را می بندم. یک سایت که هر یک با دروپال ، وردپرس و گراو ساخته شده است کافی است.

اگر واقعاً عاشق موضوع خود باشم ، آن را در CodeBerg بارگذاری می کنم تا هر کسی بتواند آن را به عنوان یک موضوع کودک به کوارک چنگ بزند.

بنابراین ، لطفاً به Grav CMS نگاهی بیندازید و از ایستگاه Symfony پیروی کنید. من واقعاً از آن قدردانی می کنم به دنبال سایت جدید باشید تا طی چند ماه به صورت زنده بروید.

در Reval ، Symfonistas!

نویسنده

Reuben Walker Headshot

روبن واکر

بنیانگذار
ایستگاه سیمفونی

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا