Parsoid/Parser Unification/Media structure/FAQ/fa

مرور کلی


منظور از ساختار رسانه چیست؟
وقتی پرونده‌ها در یک صفحه درج می‌شوند (نمونه:  )، تجزیه‌گر مدیاویکی مقداری کد HTML را ارائه می‌دهد که آنچه مرورگر شما برای نمایش آن نیاز دارد را در اختیارش قرار می‌دهد – راهنمایی برای مرورگر تا بتواند آن را به شکلی درست در نمایشگر شما نمایش دهد. برچسب‌های HTML منتخب و ویژگی‌های آن‌ها، و چگونگی چیدمان آن‌ها برای شکل دادن یک درخت دام، ساختاری است که مد نظر ماست.



چه‌چیزی را می‌توان در ساختار کنونی بهبود بخشید؟
ساختار کنونی متشکل از برچسب‌های div تودرتو و ویژگی‌های class است که معنای زیادی را منتقل نمی‌کنند. این نشانه‌گذاری غیرعادی است و اخذ پرسمان و سبک‌بندی را سخت می‌کند. همچنین خروجی کنونی با سایر محصولات مانند ترکیب ویرایشگر دیداری/پارسوئید تفاوت دارد. برای جزئیات بیشتر این نظرخواهی را ببینید. خروجی نمونهٔ فوق در حال حاضر مشابه کد زیر است:



آن را با چه‌چیزی جایگزین می‌کنید؟
ساختاری که ما در حال جایگزینی آن هستیم متشکل از نشانه‌گذاری معنایی است که مزایایی برای دسترسی‌پذیری نظیر ارائهٔ اطلاعات بیشتر پیرامون چگونگی استفاده از تصاویر، ویدئوها و سایر سانه‌ها در محتوا به کسانی که از صفحه‌خوان برای خواندن ویکی‌ها استفاده می‌کنند، دارد. این نشانه‌گذاری منظم‌تر و معین‌تر خواهد بود و اخذ پرسمان و سبک‌بندی را آسان‌تر و به‌صرفه‌تر می‌کند؛ به این معنی که این ساختار جدید باعث سهولت نوشتن سی‌اس‌اس مرتبط با رسانه‌ها در ویکی‌های ویکی‌مدیا برای همگان خواهد شد. علاوه بر این، استفاده از همان ساختاری که در پارسوئید به صورت آزمایشی اجرا شده است، سازگاری بین محصولات را فراهم می‌کند و مقداری افزونگی سی‌اس‌اس را کاهش می‌دهد. خروجی نمونهٔ فوق به شکل زیر خواهد بود:



چرا حالا این کار را انجام می‌دهید؟
هدف میان‌مدت تیم تبدیل محتوا در بنیاد ویکی‌مدیا، جایگزینی تجزیه‌گر قدیمی مدیاویکی با پارسوئید است. پارسوئید یک تجزیه‌گر ویکی‌متن دوجهته به اچ‌تی‌ام‌ال۵ است. به‌منظور دستیابی به این هدف، لازم است که تجزیه‌گر قدیمی و پارسوئید محتوای اچ‌تی‌ام‌ال سازگاری را تولید کنند. پارسوید مدتی است که این ساختار رسانه‌ای جدید را ایجاد کرده است تا تاثیر خوبی داشته باشد. برای کاهش اختلال ایجادشده به‌واسطهٔ تغییر تجزیه‌گرها به‌طور یکجا، ما قصد داریم یک بخش جدا را برای آماده‌سازی جهت ارائهٔ تغییرات آینده پیاده‌سازی کنیم.



آن را چگونه آزمایش کرده‌اید؟

 * 1) این ساختار جدید در پارسوئید، که در چندین محصول فعال نظیر ویرایشگر دیداری و نرم‌افزارهای تلفن همراه استفاده شده، اجرا شده‌است. ویرایشگران و مخاطبان، همزمان که از این محصولات استفاده کرده‌اند، تفاوت‌های آن با ساختار قدیمی در رندر شدن محتوا و مشکلات ساختار جدید را گزارش کرده‌اند و ما آن‌ها را طی سال‌های گذشته برطرف کرده‌ایم.
 * 2) علاوه بر این، چندین مرحله از آزمایش تفاوت‌های بصری را پشت سر گذاشته‌ایم که در آن‌ها هزاران صفحه با ساختارهای قدیمی و جدید رندر شده و ماحصل آن‌ها در سطح پیکسل با یکدیگر مقایسه شده‌است.
 * 3) همچنین این تغییر را در چندین ویکی، از جمله mediawiki.org، ویکی‌فناوری و تمام ویکی‌های گروه ۰ پیاده‌سازی کرده‌ایم.

چه کارهای دیگری باقی مانده است؟

 * 1) کُدی که با صفحه در تعامل است، مانند کدهای جاوااسکریپت برای افزونه‌ها، اسکریپت‌های کاربری و ابزارها نیازمند تنظیم بر مبنای ساختار جدید خواهند بود و امیدواریم که این تنظیمات به‌شکل سازگار عقبرو یا سازگاری جلورو باشند.
 * 2) پوسته‌ها، برای ارائهٔ سبک‌بندی خود، نیازمند درخواست برای ویژگی «محتوا-رسانه» خواهند بود؛ چرا که کلاس‌هایی که ساختار قدیمی را هدف قرار می‌دهند، اعمال نخواهند شد.
 * 3) برخی ویکی‌ها دارای شیوه‌نامه‌ای در MediaWiki:Commons.css هستند که نیازمند انتقال به ساختار جدید هستند.

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



من چطور می‌توانم کمک کنم؟
کدهای خود را در ویکی‌هایی که این ویژگی در آن‌ها پیاده‌سازی شده، بیازمایید. اگر مشکلی پیدا کردید که در زیر نیامده، لطفاً با برچسب  یک وظیفه بگشایید یا فهرست وظیفه‌های باز را ببینید.



اصلاحات شناخته‌شده را به ابزارهای فعال در ویکی‌های خود کپی کنید
تعدادی از ابزارهای که به‌منظور پشتیبانی از ساختار جدید رسانه‌ها نیازمند به‌روزرسانی هستند، شناسایی شده‌اند. اصلاحاتی در کد مبدأ این ابزارها اعمال شده، اما این تغییرات همچنان باید به ویکی‌هایی که آن ابزارها را به‌صورت محلی برای خود ایجاد کرده‌اند نیز تکثیر شوند. See the task description of T297447 for the list of gadgets and wikis where the gadgets are enabled. اگر ابزار شما به‌روز نشده است، لطفاً این کار را انجام دهید.



اصلاحات شناخته‌شده را به MediaWiki:Common.(css|js) در ویکی‌های خود کپی کنید
تعدادی از مشکلات در فایل‌های css و js اختصاصی وبگاه‌ها به‌عنوان مشکلات نیازمند به‌روزرسانی برای پشتیبانی از ساختار جدید رسانه‌ها شناسایی شده‌اند. See the task description of T271114 for the list of known issues common to multiple wikis and the wikis that may need to be updated. اگر این فایل‌ها در ویکی شما به‌روز نشده‌اند، لطفاً این کار را انجام دهید.



ویرایشگران باید به‌دنبال چه‌چیزی باشند؟


کلاس «image» دیگر در پیوندهای توصیف پرونده‌ها موجود نخواهد بود
به‌طور پیش‌فرض، یک پرونده (یعنی ) به صفحهٔ توصیف خود پیوند داده می‌شود و پیش از این کلاسی با نام  را دارا می‌بود.

در مقابل، یک پیوند صریح (یعنی ) باعث اعمال‌نشدن آن کلاس می‌شد.

در ساختار جدید، نام کلاسی که از همان کارایی بهره‌مند است به  تغییر یافته است.

هدف انتخاب‌گرها در صورت نیاز باید به کلاس جدید تغییر یابد. برای مثال، <bdi lang="zxx" dir="ltr">https://www.mediawiki.org/w/index.php?title=Snippets%2FDirect_imagelinks_to_Commons&type=revision&diff=5451422&oldid=3976429 را ببینید

<span id="The_|class=_media_option_is_now_applied_to_the_wrapper">

گزینهٔ رسانه‌ای اکنون به لفاف اعمال می‌شود
پیش از این، گزینهٔ رسانه‌ای class (یعنی ) به عنصر رسانه اعمال می‌شد.

این کلاس اکنو به لفاف خارجی منتقل شده تا امکان دستیابی به بیشترین انعطاف‌پذیری هنگام انتخاب از درون ساختار را فراهم کند.

<span id="The_|border_media_option_is_now_applied_to_the_wrapper_and_the_class_emitted_has_been_renamed">

گزینهٔ رسانه‌ای اکنون به لفاف اعمال می‌شود و نام کلاسِ حذف‌شده تغییر کرده است
تا پیش از این، گزینهٔ رسانه‌ای border (یعنی ) منجر به اعمال کلاس <bdi lang="zxx" dir="ltr"> به عنصر رسانه می‌شد.

به‌منظور سازگاری بیشتر، این کلاس به لفاف خارجی منتقل شده و برای جلوگیری از تعارض، نام آن به <bdi lang="zxx" dir="ltr"> تغییر کرده است.

<span id="Horizontal_and_vertical_alignment_options_now_place_classes_on_the_wrapper">

گزینه‌های تراز افقی و عمودی اکنون کلاس‌هایی را در لفاف قرار می‌دهند
گزینه‌های تراز افقی شامل ،  ،   و   می‌شوند. گزینه‌های تراز عمودی شامل ،  ،  ،  ،  ،  ،   و   می‌شوند.

برای مثال، تا پیش از این، گزینهٔ رسانه‌ای center (یعنی ) منجر به اعمال کلاس <bdi lang="zxx" dir="ltr"> به عنصر div لفاف می‌شد.

اما اکنون باعث تولید یک عنصر figure به‌همراه کلاس <bdi lang="zxx" dir="ltr"> می‌شود.

به‌طور مشابه، گزینهٔ رسانه‌ای top (یعنی ) تا پیش از این باعث اعمال یک صفت style به عنصر رسانه می‌شد.

اما اکنون منجر به اعمال کلاس <bdi lang="zxx" dir="ltr"> به لفاف می‌شود.