برنامه نویسی

گزارش پیشرفت: نیمه اول کارآموزی Outreachy من

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

در حقیقت، جدول زمانی دقیقی برای پروژه من – انتقال محتوای صفحه وب دبیان به هوگو – وجود نداشت، زیرا مخزن اصلی حاوی هزاران صفحه بود. هدف اولیه ایجاد یک اثبات مفهوم برای:

  • یک راه اندازی استقرار سازگار با عقب
  • مهاجرت صفحات محتوای متن ایستا
  • مهاجرت صفحات پویا (با اسکریپت های موجود پرل)
  • تغییر مسیر برای محتویات منتقل شده به طور دائم (301)

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

در نیمه اول دوره کارآموزی، مهارت های خود را در چندین زمینه بهبود بخشیده و اصلاح کرده ام. من دستورات جدید Markdown را یاد گرفتم، مطالعه کردم و استفاده کردم mod_rewrite آپاچی، و در نیمه راه مطالعه کرد ساخت گنو برای استفاده از اسکریپت های پرل برای پردازش داده ها برای محتوای پویا. من توصیه می کنم مدیریت پروژه ها با GNU Make توسط رابرت مکلنبورگ – این یک کتاب عالی برای مبتدیان است!

در حالی که من روی هیچ هدف خاصی گیر نکردم، چالش برانگیزترین جنبه اضافه کردن نام مستعار هوگو برای کمک به مذاکره محتوای چندزبانه آپاچی بود. راه وبم مخزن تولید محتوای چند زبانه متفاوت است دبیانهوگو. به عنوان مثال، در وبم، ساختار به شکل زیر است: english/index.wml -> /index.en.html (with a symlink from index.html to index.en.html) و french/index.wml -> /index.fr.html. در مقابل، دبیانهوگو استفاده می کند en/_index.md -> /index.html و fr/_index.md -> /fr/index.html.

بررسی محتوای چند زبانه آپاچی برای مذاکره index..html در دایرکتوری فعلی که به خوبی با آن کار می کند وبم از آنجایی که تمام ترجمه های مرتبط در یک دایرکتوری ایجاد می شوند. با این حال، با دبیانهوگو با استفاده از دایرکتوری‌های فرعی برای زبان‌هایی غیر از انگلیسی، باید برای هر صفحه زبان دیگری نام مستعار تنظیم می‌کردیم تا در قسمت اصلی ایجاد شود. به عنوان مثال، در fr/_index.md، ما این را به موضوع اصلی اضافه کردیم:

...
aliases:
  - /index.fr.html
...

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

این تنظیمات به Hugo اجازه می‌دهد تا فایل‌های HTML چندزبانه را در فهرست اصلی اصلی تنها به منظور تنظیم تغییر مسیر 301 به همان صفحه در فهرست فرعی زبان تولید کند. با این حال، اگر مشتری زبان مورد نظر خود را انگلیسی قرار دهد، مذاکره محتوای آپاچی سعی می‌کند پیدا کند /index.en.html. اگر آن را پیدا نکرد، به صورت پیش‌فرض روی هر فایل پسوند زبان دیگری تنظیم می‌شود که می‌تواند منجر به رفتار غیرمنتظره شود. به عنوان مثال، اگر انگلیسی به عنوان زبان ترجیحی تنظیم شده باشد، دسترسی به سایت ممکن است مفید باشد /index.fr.html، که سپس به تغییر مسیر می دهد /fr/index.html. این یک چالش مهم بود و شما می توانید یک نسخه نمایشی از این میزبان را مشاهده کنید اینجا.

اگر می‌خواستم پروژه را از نو شروع کنم، هر تصمیمی را که می‌گرفتم در ویکی ثبت می‌کردم، مهم نیست که مستندات چقدر خشن باشد. منتظر ماندن تا نقطه میانی پروژه برای مستندسازی ایده خوبی نبود.

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

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

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

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

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