مدت‌ها بود می‌خواستم یک وبلاگ federated داشته باشم برای انتشار مطالب مرتبط با #نرم_افزار_آزاد. دو تا گزینه عمده پیش رو بود: Plume و WriteFreely. بعد از مدت‌ها تونستم یک حساب روی Plume بسازم. اما بلافاصله متوجه یک مشکل جدی شدم: عدم پشتیبانی از زیان‌های راست به چپ!

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

نتیجه این کار، شروع یک فرایند احتمالا زمان‌بر بود. Plume با Rust نوشته شده و من هیچ ایده‌ای از Rust و فریم‌ورک‌ها و... ندارم. اما به قول جادی «ترس نداره که!» این شد که شیرجه زدم به دل این پروژه و تا الان سه قسمت ویدئو ضبط کرده‌ام.

🔸 در ویدئوی اول، توضیحات مختصری می‌دم که داستان Plume و سیستم بلاگ‌دهی federated چیه و چرا مهمه
peertube.video/videos/watch/de

🔸 در ویدئوی دوم، آستین رو بالا زدم و رفتم تو دل داستان.......... و به مشکلاتی برخورد کردم برای درک قالب و همچنین کامپایل!
peertube.video/videos/watch/68

🔸 در ویدئوی سوم، بخشی از مشکل حل شده و روی یک نمونه آزمایشی Plume نتیجه رو می‌تونیم ببینم
peertube.video/videos/watch/2b

لطفا ببینید، نظر بدید و حتی کمک کنید. پروژه‌های زیادی هستند که مشکل RTL دارند. احتمالا بشه همه رو با صرف زمان معقولی رفع کرد. امیدوارم این ویدئوها که ادامه خواهند داشت (انشالله!) به نتیجه مطلوب برسه و بعد بریم سراغ برنامه‌های دیگه.

پی بگیرید

@ahangarha
سلام! دو تا ویدیوی اول و نصف ویدیوی سوم رو دیدم. نمی‌دونم چه جوری بگم که حق مطلب ادا بشه، و منظورم رو برسونم. عالیه! 👌
آفرین که همت کردی این کار رو بکنی، و در ضمن همت کردی که کارت رو ضبط هم بکنی. این ویدیوها رو می‌شه تا مدت‌ها به عنوان الگوی خیلی ملموس و واقعی برای مشارکت در نرم‌افزارهای آزاد بهشون ارجاع داد. من به نمایندگی از همهٔ راست‌به‌چپ‌نویس‌های دنیا ازت تشکر می‌کنم. دستت درد نکنه 😃

@masoud خیلی لطف داری مسعود جان. همه از همین گیر و گورها می‌ترسن. گفتم بزنم تو دل گیر و گورها و ازش موفق بیام بیرون که هم یک مشکل رفع بشه هم شاید به بعضی‌ها ایده بده که می‌شه شیرجه زد تو دل یه پروژه غریبه و موفق بیرون اومد
نظرت خیلی دل‌گرم‌کننده بود. ممنون.
اشکالات رو هم بگی، می‌شه کارهای آینده رو بهتر کرد

@ahangarha
من یه پیشنهاد فنی دارم: ممکن نیست بتونی یه قانون CSS عمیق تودرتو تعریف کنی و بگی همهٔ تگ‌های <p> که توی تگ (یا کلاس) article هستند، ویژگی dir="auto"‎ رو داشته باشن؟ یه چیزی شبیه این رو وقتی مشکل راست‌به‌چپ ماستدون رو حل می‌کردم دیده بودم. ولی البته مطمئن نیستم حرفم معقوله یا نه.

@masoud
متاسفانه این کار شدنی نیست. یه جایی هم در ویدئوی دوم فکر کنم اشاره کردم. شاید واضح نگفتم. خیلی عجیبه که css برای direction مقدار auto نداره. برای اینکه این قابلیت پیدا کردن جهت درست (بر اساس حرف اول اون بلاک) ناچار هستیم از خاصیت dir=auto در خود html استفاده کنیم.
اما می‌شه یه کاری کرد که البته یه مقدار معقول شاید نباشه: یک کد js بیاد و به تمام اجزای داخل article مثلا خاصیت dir=auto رو اضافه کن. اما این به درد جایی می‌خوره که محتوا واقعا به صورت پویا تولید می‌شه.

@ahangarha
نه این رو نمی‌دونستم. برای من هم عجیبه.

@masoud
در موردش چندین نوبت تحقیق کردم. بهش می‌گن BIDI و این تنها روش پیاده‌سازی‌اش هست.
تازه اگر یه چیزی رو بگیم dir=auto باید حواس‌مون باشه که خاصیت text-align رو به صورت left یا right تعریف نکنیم. باید به صورت start یا end تعریف بشه.
باید margin و padding هم متقارن تعریف بشه (متاسفانه مثل اندروید نیست که بشه به جای margin-left بگیم margin-start. بنابراین باید هر دو طرف یک مقدار داشته باشند.
داستان داریم. اما می‌ریم جلو :ablobspin:

برای شرکت در گفتگو وارد حساب خود شوید
پرسادون

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

راهنمای کاربری ماستدون

دربارهٔ پرسادون