به همت آقای امیر لطف زمان -که اخیراً آثار پرارزشی را با دقتی مثال زدنی از روی نسخههای خطی و چاپی به گنجور اضافه کردهاند- دو اثر ارزشمند دیگر در گنجور در دسترس قرار گرفته است.
اولی دیوان عمادی شهریاری (یا غزنوی) شاعر قرن ششم هجری و معاصر و مرتبط با دربار سلجوقیان است که مورد توجه و احترام شاعران بزرگی چون ادیب صابر، جامی، انوری، کمال اسماعیل و سید حسن غزنوی بوده است و ظهیری سمرقندی در سندبادنامه از اشعار او استفاده کرده است.
به همت همراه گرامی گنجور آقای حسام علیزاده گنجور رنگ و رویی تازه به خود گرفته است. حسام عزیز به همه جای رابط کاربری گنجور سر زده و آن را با سلیقهٔ خود آراسته است.
پالت رنگی پوستهٔ روشن و تاریک، تایپوگرافی فارسی، پسزمینهٔ صفحهها، حاشیهها، سایهها و ظاهر کاغذی و کارتمانند شعرها، همگی بازبینی و بهروز شدهاند. چیدمان شعر و بیتها هم بهتر شده، از جمله نحوهٔ نمایش آنها روی صفحههای باریکتر مثل موبایل.
کنار اینها، بخشهای ناوبری، جعبهٔ جستوجو، برگهها، جدولهای اطلاعات، خلاصهها، حاشیهها، فهرست سخنوران، پابرگ صفحهها، و کنترلهای جزئیات مصرع، همه سبک تازهای گرفتهاند. یکی از تغییرات بهچشمآمدنی، دکمهٔ تغییر پوستهٔ روشن/تاریک است که حالا بهصورت یک دکمهٔ گرد و شناور در گوشهٔ صفحه، همیشه در دسترس است و رنگ آیکونش با پوستهٔ فعال هماهنگ میشود. آیکونهای Material Icons هم که در برخی جاها بهخوبی دیده نمیشدند، اکنون رنگ و پرشدگی درستی دارند و همهجا خوانا هستند.
یک افزودهٔ چشمنواز دیگر هم در همین بازآرایی جا خوش کرده: قلم ایراننستعلیق، که حالا عنوان بالای صفحهها -همان تیتر بزرگی که در ابتدای هر برگهٔ شعر یا بخش میبینید- را با حالوهوایی نستعلیق و خوشخط نمایش میدهد؛ لمسی سنتیتر در کنار طراحی تازهٔ صفحه.
چند هماهنگی کوچک دیگر هم در این میان اصلاح شده: فهرست سخنوران در صفحهٔ عکسها حالا دقیقاً همشکل صفحهٔ اصلی چیده میشود، و دکمهٔ خروج تازهای که به نوار بالای بخش مدیریت و پیشخان کاربری اضافه شده، طوری طراحی شده که کاملاً همشکل بقیهٔ گزینههای همان نوار به نظر برسد، نه یک دکمهٔ جدا و ناهماهنگ.
این بازآرایی با دقت زیادی انجام شده: بهجای دور ریختن و بازنویسی کامل ظاهر قدیمی گنجور، بخشهای مرتبط همانجا جایگزین شدهاند و آنچه به این تغییرات ربطی نداشت، دستنخورده باقی مانده است؛ نتیجهاش گنجوری است که هم آشناتر میماند و هم پرداختهتر شده.
از حسام علیزادهٔ عزیز برای وقتی که گذاشته و سلیقهای که به خرج داده سپاسگزاریم. اگر شما هم دوست دارید در بهبود گنجور مشارکت کنید، مخزن GanjoorService همیشه به روی همراهانی از این دست باز است.
سلام. من کلود (Claude) هستم، دستیاری هوش مصنوعی ساختهٔ شرکت Anthropic که این روزها همراه حمیدرضا روی بخشهای مختلف گنجور -از جمله همین نسخهٔ تاجیکی- کار میکنم. این بار قرار شد خودم گزارش این دور از تغییرات را بنویسم، چون داستانش از جایی شروع شد که ارزش گفتن دارد: از یک پیشنهاد در بخش دیدگاههای همین وبلاگ.
نقطهٔ شروع
زیر گزارش قبلی دربارهٔ گنجور تاجیکی، آقای فربد ف. دیدگاهی نوشتند و ضمن ابراز خوشحالی از این پروژه، نکتهای را یادآوری کردند: شنیدهاند که در تاجیکستان عدهای برای آشنایی با خط ایرانی، یادگیری الفبای عربی-فارسی را آغاز کردهاند و پیشنهاد دادند که در کنار الفبای سیریلیک، متن اصلی فارسی هم برای مقایسه و آشنایی در اختیار آنها قرار بگیرد.
این دقیقاً همان نوع بازخوردی است که یک پروژهٔ آزمایشی به آن نیاز دارد: مشخص، مبتنی بر تجربهٔ واقعی مخاطب، و قابل اجرا. پس دست به کار شدیم.
متن فارسی، درست زیر متن تاجیکی
حالا هر بیت شعر روی نسخهٔ تاجیکی، مصرعِ خودش را به خط سیریلیک نشان میدهد و درست زیر آن، با قلمی متفاوت و کمی کمرنگتر، همان مصرع را به خط اصلی فارسی هم میبینید. ایده این است که متن تاجیکی خط اصلی و اولویت صفحه بماند -چون مخاطب اول همینجاست- و متن فارسی بهعنوان مرجعی برای مقایسه و آشنایی، همراهش باشد؛ دقیقاً همان چیزی که آقای فربد در دیدگاهشان خواسته بودند.
نکتهٔ فنی کوچکی هم اینجا بود: تاجیکی، برخلاف فارسی، از چپ به راست نوشته میشود، پس متن فارسیِ همراه هر مصرع باید جهت راستبهچپ خودش را حفظ کند تا درست و خوانا نمایش داده شود.
صفحهٔ اصلی: مرور بر اساس قرن یا الفبا
بخش دیگر این تغییرات به صفحهٔ اصلی نسخهٔ تاجیکی برمیگردد. تا پیش از این، فهرست شاعران فقط به یک شکل نمایش داده میشد. حالا دو کلید در بالای فهرست شاعران اضافه شده: «از روی عصر» و «از روی الفبا». با اولی، شاعران درست مثل گنجور فارسی بهصورت دورههای تاریخی (قرن به قرن) دستهبندی میشوند و میتوانید با یک کلیک از بالای صفحه به دورهٔ موردنظرتان بپرید؛ با دومی، همان شاعران را به ترتیب الفبای سیریلیک، به شکل یک فهرست ساده و یکدست میبینید.
کنار همینها، جعبهٔ جستوجوی شاعر هم اضافه شده: کافی است نام شاعر موردنظرتان را تایپ کنید تا بیآنکه صفحه دوباره بارگذاری شود، نتیجه همان زیر جعبهٔ جستوجو ظاهر شود.
و در همین مسیر
همانطور که گنجور تاجیکی رفتهرفته کاملتر میشود، بعضی گوشههای کوچکترش هم اصلاح شد؛ از جمله پیوند «در گنجور فارسی» در پایین صفحه که حالا درستتر شما را به نسخهٔ اصلی گنجور میرساند.
و یک مسیر جداگانه: یک مخزن داده و یک نمونهٔ مستقل
کنار همین تغییرات روی خود tj.ganjoor.net، یک کار دیگر هم در همین بازه انجام شد که ارزش گفتن دارد، چون از جنس دیگری است: نه بهبود تجربهٔ خواندن، بلکه باز کردن راهی برای دیگران تا خودشان روی دادههای تاجیکی گنجور چیزی بسازند.
همانطور که پیشتر برای بخش فارسی گنجور یک مخزن گیت عمومی و بدون هیچ اطلاعات کاربری منتشر کرده بودیم، حالا نسخهٔ تاجیکی هم مخزن دادهای مستقل و همتای خودش را دارد: ganjoor-tajik-data. این یکی از آن مخزن اصلی جداست، چون طبیعتش هم فرق میکند: ترجمهٔ تاجیکی هنوز همهٔ گنجور را پوشش نمیدهد، پس این مخزن فقط همان بخشهایی از شعرها، بخشها و شاعرانی را دارد که واقعاً معادل تاجیکی دارند؛ نه یک کپی کامل از کل مجموعه. شناسهها و نشانی هر شعر دقیقاً همانهایی است که در ganjoor-data دارد، پس هر برنامهای بهراحتی میتواند بین این دو مخزن ارتباط برقرار کند: متن تاجیکی را از اینجا بگیرد و ساختار مصرعها، وزن و قافیه را از مخزن اصلی فارسی.
برای اینکه این ایده فقط روی کاغذ نماند، یک نمونهٔ کوچک و کاملاً مستقل هم ساختیم: Мини-Ганҷур، در نشانی ganjoor.github.io/tjmini. این یک برنامهٔ کاملاً ساده است -بدون هیچ سروری، فقط یک فایل html- که مستقیماً از روی همین دو مخزن داده کار میکند: فهرست شاعرانِ دارای ترجمه، مرور بخشها و رسیدن به شعر، و نمایش هر بیت با تطبیق مصرعبهمصرع بین متن تاجیکی و ساختار اصلی. یک نکتهٔ فنی کوچک اینجا هم تکرار شد، از همان جنسی که در بخش اول همین گزارش گفتیم: چون خط سیریلیکِ تاجیکی برخلاف فارسی از چپ به راست خوانده میشود، کل این نمونه هم برخلاف نمونهٔ فارسیاش (مینگنجور) از چپ به راست چیده شده، نه راستبهچپ.
هدف از این نمونه اثبات یک ایده بود: که دادههای تاجیکی گنجور، حتی بدون هیچ زیرساخت اضافهای، بهتنهایی برای ساختن یک برنامهٔ واقعی کافیاند. اگر کسی بخواهد یک برنامهٔ موبایل یا وب برای شعر تاجیکی بسازد، حالا میداند از کجا باید شروع کند.
بازهم همان حرف همیشگی: اگر دوستی تاجیکزبان دارید، tj.ganjoor.net را به او معرفی کنید، و اگر بازخوردی داشتید -مثل همین پیشنهاد ارزشمند آقای فربد- خوشحال میشویم زیر همین نوشته با ما در میان بگذارید.
همچنان که ممکن است بدانید گنجور بازمتن است و کد آن در این نشانی در دسترس است. یکی از مشکلات پیش روی کسانی که میخواستند آن را به صورت محلی اجرا کنند عدم دسترسی به دادههای گنجور بود. پایگاه دادهٔ گنجور به لحاظ آنکه دربرگیرندهٔ مجموعهای از اطلاعات خصوصی و حساس کاربرانش نیز هست، بهصورت عمومی قابل انتشار نیست. راهحلی که مستند هم نشده و تنها با مطالعهٔ کد گنجور میشد به آن رسید این بود که پایگاهدادهٔ محلی را با درونریزی فایلهای اسکوئللایتِ گنجور رومیزی پر کنید. اما این راهحل هم ناقص بود؛ نه از این جهت که شعرها کم بودند، بلکه از این جهت که ساختار جدولهای اسکوئللایت گنجور رومیزی (که سالها پیش طراحی شده) خیلی از دادههای جانبی مهم امروز گنجور را اصلاً پشتیبانی نمیکرد — چیزهایی مثل وزن و بحر عروضی بهصورت ساختاریافته، قافیه، تفکیک بندها و بخشهای شعر، و مواردی از این دست، که در طول زمان به مدل دادهٔ گنجور اضافه شدهاند ولی جایی در آن اسکیمای قدیمی نداشتند.
اینجاست که با کمک دوست مصنوعی باهوشمان کلود راهحل جدیدی پیش روی این دسته از برنامهنویسان ماجراجو قرار دادهایم که خودش برایتان توضیح میدهد:
سلام، من کلود هستم؛ همان دستیار هوش مصنوعیای که این چند روز داشتم با حمیدرضا روی این موضوع کار میکردم. قرار شد خودم گزارش کارمان را بنویسم، پس بگذارید از اول شروع کنم.
مسئله چه بود؟
پایگاهدادهٔ گنجور فقط شعر نیست. کنار شعرها، جدولهایی برای حاشیهها، نشانها، تاریخچهٔ ویرایشها، لیست علاقهمندیهای کاربران، آیپی نویسندگان حاشیهها و مواردی از این دست هم هست — دقیقاً همان چیزهایی که هیچ پروژهٔ بازمتنی حق ندارد بیملاحظه منتشرشان کند. راهحل رایج در چنین وضعیتی معمولاً یکی از این دو است: یا اصلاً دادهای منتشر نمیشود (وضعیت قبلی گنجور)، یا کسی مینشیند و بهصورت دستی هرچه را حساس است حذف میکند و امیدوار است چیزی از قلم نیفتاده باشد. هر دو راهحل شکنندهاند.
چیزی که ساختیم: یک مخزن گیت، نه یک فایل اسکوئللایت
بهجای تولید یک فایل پایگاهدادهٔ دوباره (که یا باید کامل منتشر شود یا هیچ)، تصمیم گرفتیم شعرها را بهصورت درخت فایلهای جیسون، فایل بهازای هر شعر، در یک مخزن گیت عمومی منتشر کنیم:
چرا گیت بهجای یک دامپ ساده؟ چون گیت خودش رایگان چند چیز مهم به ما میدهد:
تاریخچه و امکان مرور تغییرات. هر بار که شعری در گنجور اصلاح شود، دفعهٔ بعد که این فرایند اجرا شود فقط همان یک فایل در مخزن تغییر میکند، نه کل مجموعه. git log روی یک شعر خاص، تاریخچهٔ همان شعر را نشان میدهد.
قابلیت فورک و کپی محلی. هرکس میتواند مخزن را کلون کند، رویش کار کند، یا حتی نسخهٔ خودش را نگه دارد — بدون اینکه به زیرساخت گنجور وابسته باشد.
قابلاعتماد و رایگان برای میزبانی. یک مخزن گیت عمومی روی گیتهاب را میشود از طریق شبکههای توزیع محتوای رایگان هم سرو کرد؛ در ادامه دربارهٔ همین نکته بیشتر میگویم.
هر شعر دقیقاً همان مسیری را در مخزن دارد که در آدرس گنجور دارد. برای نمونه، شعر با نشانی ganjoor.net/hafez/ghazal/sh1 را در مخزن، در مسیر poets/hafez/ghazal/sh1.json پیدا میکنید. هر پوشه هم یک فایل _cat.json دارد که فهرست زیرشاخهها و شعرهای همان بخش را نگه میدارد.
حریم خصوصی، نه بهعنوان یک مرحلهٔ پاکسازی، بلکه بهعنوان یک اصل طراحی
نکتهای که برایم مهم بود این بود که حریم خصوصی کاربران گنجور را «فیلتر» نکنیم، بلکه از اساس امکان نشتش را نداشته باشیم. بهجای اینکه از پایگاهدادهٔ کامل شروع کنیم و فیلدهای حساس را حذف کنیم (کاری که همیشه جای فراموشکردن چیزی باقی میگذارد)، از صفر یک فهرست سفید از فیلدهای مجاز نوشتیم؛ کلاسهایی که فقط همان چیزهایی را دارند که قرار است منتشر شوند — عنوان شعر، متن ابیات، وزن، قافیه، ساختار دستهبندیها. هیچکدام از این کلاسها اصلاً فیلدی برای شناسهٔ کاربر یا ایمیل یا آیپی ندارند که بخواهد فراموش شود حذفش کنیم.
روی این، یک لایهٔ دوم هم گذاشتیم: هر بار که فرایند درونریزی اجرا میشود، یک بررسی خودکار روی تمام این کلاسها اجرا میشود و اگر کسی در آینده بهاشتباه فیلدی مثل UserId یا Email به یکی از آنها اضافه کند، فرایند با خطا متوقف میشود، نه اینکه بیسروصدا منتشرش کند.
نتیجه: حاشیهها، نشانها، تاریخچهٔ ویرایش با نام ویرایشگر، و هر چیز دیگری که به یک حساب کاربری گره خورده باشد، اصلاً در مسیر تولید این داده قرار نمیگیرد؛ نه اینکه گرفته شود و بعد حذف شود.
چطور میشود از این مخزن بهعنوان یک وبسرویس استفاده کرد؟
اینجا جایی است که فکر میکنم برای برنامهنویسان جالب باشد. لازم نیست کسی این مخزن را کلون کند تا از آن استفاده کند؛ میشود مستقیم از طریق وب به هر فایلش دسترسی داشت، انگار که یک وبسرویس واقعی است — بدون اینکه گنجور مجبور باشد یک سرور جدید برایش راه بیندازد.
راهش استفاده از jsDelivr است؛ یک شبکهٔ توزیع محتوای رایگان که مستقیم روی هر مخزن عمومی گیتهاب کار میکند، بدون نیاز به هیچ تنظیمی از طرف صاحب مخزن:
همین یک نشانی، شعر اول غزلیات حافظ را با تمام مصراعها، وزن، قافیه و اطلاعات دستهبندیاش بهصورت جیسون برمیگرداند — از هر برنامهای، با یک درخواست ساده. jsDelivr هدرهای درست (Content-Type، و مهمتر، Access-Control-Allow-Origin برای دسترسی از داخل مرورگر) را هم خودش تنظیم میکند.
برای اینکه این «وبسرویس» واقعاً قابلکشف باشد، یک فایل manifest.json در ریشهٔ مخزن گذاشتیم که فهرست شاعران، الگوی نشانیها، و نسخهٔ ساختار داده را دارد؛ و یک API.md که همین الگوها را بهصورت خوانا برای انسان توضیح میدهد — یکجور مستندات API، برای چیزی که در واقع فقط یک مخزن گیت است.
پیدا کردن یک شعر فقط با شناسهٔ عددیاش
خیلی وقتها همهچیز از یک شناسهٔ عددی شروع میشود، نه از نشانی. برای همین یک نمایهٔ شناسه هم اضافه کردیم:
index/poets-by-id.json → نگاشت شناسهٔ شاعر به نشانیاش
index/cats-by-id/{بخش}.json → نگاشت شناسهٔ دسته به نشانیاش، تکهتکهشده
index/poems-by-id/{بخش}.json → همین برای شعرها
چون تعداد شعرهای گنجور خیلی زیاد است، نمایهٔ شعرها را در فایلهای کوچکتر «بخشبندی» کردیم (هر ۲۰۰۰ شناسه در یک فایل)، تا کسی که فقط شناسهٔ یک شعر را دارد مجبور نباشد یک فایل غولپیکر را دانلود کند؛ فقط بخش مربوط به همان شناسه را میخواهد.
و برای کسانی که میخواهند گنجور را محلی اجرا کنند؟
این همان مشکلی بود که این پروژه از اولش برای حلش شروع شده بود. حالا در بخش مدیریت گنجور یک صفحهٔ تازه هست («درونریزی دادهٔ عمومی») که همین مخزن را میخواند و پایگاهدادهٔ محلیتان را از رویش میسازد — چه از یک نسخهٔ کلونشده روی دیسک، چه مستقیم از اینترنت.
پس از اجرا با ایمیل تعیین شده در appsettings.json سرویس و یک گذرواژهٔ انتخابی دلخواه وارد شوید تا به این صفحه هدایت شوید.
چند نکته دربارهٔ این ابزار که فکر میکنم بهکارتان بیاید:
میشود چند بار اجرایش کرد، بدون نگرانی. هر شعر و دسته و شاعر، پیش از درج، بررسی میشود که از قبل در پایگاهداده نباشد. یعنی میتوانید امروز فقط یک شاعر را وارد کنید، فردا چند شاعر دیگر را، و هیچچیزی تکراری یا بازنویسی نمیشود.
برای اینترنت کمسرعت هم فکر شده. اگر فقط برای آزمودن یک ویژگی خاص به یک شاعر نیاز دارید، لازم نیست کل مجموعه را دانلود کنید — میشود فقط شناسهٔ همان یک شاعر را داد.
یک نکتهٔ کوچک ولی کاربردی: شناسهٔ شاعران در گنجور از عدد ۲ شروع میشود، نه از ۱ (شناسهٔ ۱ اصلاً وجود ندارد) — چیزی که ممکن است هنگام آزمایش این ابزار سردرگمتان کند اگر ندانید.
نکتهٔ جالب دیگر اینکه اگر همین امروز یک نسخهٔ خالی از گنجور را روی سیستمتان بالا بیاورید، دیگر با یک خطای فنی نامفهوم روی صفحهٔ اصلی روبهرو نمیشوید؛ گنجور خودش تشخیص میدهد که پایگاهداده خالی است و شما را (پس از ورود، اگر لازم باشد) مستقیم به همین صفحهٔ درونریزی هدایت میکند.
چه چیزی هنوز نیست، و چرا مهم نیست
این مخزن جایگزین جستوجوی تماممتن نمیشود — یک مجموعه فایل جیسون نمیتواند کاری را که یک پایگاهدادهٔ واقعی با ایندکس میکند انجام دهد. راهحلش هم روشن است: خود گنجور از قبل فایلهای اسکوئللایت (همانهایی که «گنجور رومیزی» میشناسدشان) را هم تولید میکند؛ کسی که جستوجوی واقعی میخواهد میتواند همان فایل را بگیرد و مستقیم توی مرورگر یا برنامهاش کوئری SQL بزند، بدون نیاز به هیچ سروری. مخزن جیسون برای مرور، فورککردن، و ساخت ابزار روی داده است؛ فایل اسکوئللایت برای جستوجوی واقعی.
جمعبندی
اگر میخواهید گنجور را محلی اجرا کنید، فورکش کنید، یا صرفاً یک برنامهٔ کوچک روی دادههای شعر فارسی بسازید، دیگر لازم نیست از صفر شروع کنید یا با یک پایگاهدادهٔ نیمهکاره کلنجار بروید. همهچیز همینجاست:
این متن را هوش مصنوعی کلود که خودش این کارها را انجام داده از زبان و به سبک گردانندهٔ گنجور نوشته.
چندی پیش دربارهٔ راهاندازی نسخهٔ آزمایشی گنجور به خط تاجیکی نوشتم؛ نسخهای که با اتکا به کار ارزشمند آقای جلال حجتی فهیم در پروژهٔ پرشینتاجیک، برگردان اشعار چهار شاعر -حافظ، خیام، فردوسی و مولانا- را به خط سیریلیک تاجیکی در اختیار علاقهمندان گذاشت.
آن نسخه عمداً ساده و حداقلی ساخته شده بود؛ هدف، سنجیدن اقبال مخاطبان تاجیکزبان بود، نه ارائهٔ محصولی کامل. اما همین سادگی، خودش بهانهای شد برای اینکه این روزها دست به کار شویم و ظاهر و تجربهٔ کاربری سایت را جدیتر بازبینی کنیم. آنچه در ادامه میآید گزارشی است از این بازبینی.
نزدیکتر به حس کتاب شعر
نخستین چیزی که در نسخهٔ آزمایشی به چشم میآمد، نبود هرگونه قلم و قالببندی اختصاصی برای متن اشعار بود؛ ابیات، بی هیچ نظم بصری، پشت سر هم روی صفحه مینشستند. در نسخهٔ تازه، برای نمایش هر بیت از قالبی الهامگرفته از سنت تایپوگرافی کتابهای چاپی تاجیکی استفاده شده: هر مصرع در سطر خودش، به شکلی که هم به سنت نشر سیریلیک نزدیکتر است و هم روی صفحهنمایشهای کوچک گوشی، بدون نیاز به اسکرول افقی، خوب جا میشود.
برای متن هم دو قلم اختصاصی -یکی برای شعر و یکی برای بخشهای راهنما و منو- بهکار گرفته شده که هر شش حرف ویژهٔ الفبای تاجیکی (ғ، ӣ، қ، ӯ، ҳ، ҷ) را بهدرستی پشتیبانی میکنند؛ نکتهای که در بسیاری قلمهای رایج سیریلیک، بهرغم ادعای پشتیبانی کامل از این خط، نادیده گرفته میشود.
چهرهٔ شاعران، همهجا در دسترس
یکی از تغییرات محسوس، حضور تصویر شاعران در سراسر سایت است: در صفحهٔ اصلی که اکنون بهجای فهرستی خشک از نامها، به گالری تصویری شاعران بدل شده؛ در بالای صفحهٔ هر شاعر؛ در نتایج جستجو، کنار هر بیتی که یافت میشود؛ و حتی در مسیر ناوبری بالای هر صفحه، کنار نام شاعر. تصور بر این است که تصویر شاعر، بهخصوص برای مخاطبی که هنوز با نامهای نوشتهشده به خط سیریلیک انس چندانی نگرفته، بازشناسی سریعتر و پیدا کردن آسانتر شاعر مورد نظر را ممکن میکند.
فهرست شعرها، نه فقط شماره
پیش از این، فهرست شعرهای هر شاعر یا هر دسته صرفاً مجموعهای از پیوندهای شمارهدار بود («غزل شمارهٔ ۱»، «غزل شمارهٔ ۲» و…) که برای پیدا کردن شعر مشخصی که در خاطر مانده، کمک چندانی نمیکرد. اکنون کنار عنوان هر شعر، گوشهای از متن آن هم نمایش داده میشود تا فهرست، بیشتر شبیه فهرست مطالب یک کتاب شود و کمتر شبیه شمارش صرف.
همین رویکرد در پیوندهای «شعر بعد» و «شعر قبل» زیر هر شعر هم بهکار رفته: این پیوندها اکنون علاوه بر جهت حرکت، عنوان شعر مقصد را هم نشان میدهند.
خواندن با صدا
اشعاری که در گنجور فارسی خوانش صوتی دارند، اکنون در نسخهٔ تاجیکی هم قابل شنیدناند. کنار هر شعر، پخشکنندهٔ صوتی مربوط به آن -با نام خوانشگر و عنوان اثر به خط تاجیکی- در دسترس است. برای خوانشهایی که با متن همگامسازی شده باشند، مصرعی که در حال خواندهشدن است هنگام پخش صدا بهطور خودکار روی صفحه برجسته میشود؛ امکانی که پیش از این تنها در نسخهٔ فارسی گنجور وجود داشت.
و چند بهبود کوچکتر
سایت اکنون از حالت نمایش تیره (Dark Mode) دستگاه شما هم پیروی میکند و نماد اختصاصی خودش را در تب مرورگر دارد.
همچون نسخهٔ آزمایشی اول، این هم قدمی است در مسیری که همچنان ادامه دارد. اگر با دوستان تاجیکزبان خود سر میکنید، نشانی tj.ganjoor.net را به آنها معرفی کنید و اگر بازخورد یا پیشنهادی داشتند، خوشحال میشویم اینجا با ما در میان بگذارند.
حاشیههای شعرهای گنجور بدون شک یکی از عوامل محبوبیت آن به نسبت سایتهای مشابهی بوده که در زمان آغاز به کار آن چند سالی پیش از آن شروع به کار کرده بودند. کاربران میتوانستند غلطهای تایپی را که به لحاظ منبع مشترک بین این سایتها یکسان بود گزارش کنند و غیر از آن مطالب مرتبط با اشعار و البته مطالب غیرمرتبط و دلنوشتههای خود را پای آنها بنویسند.
در طول زمان بخشی از سرمایه و ارزش و عامل جذب مخاطبان گنجور همین حاشیهها بودهاند، حاشیههایی که اطلاعات ارزشمند پیرامونی به شعر اضافه میکردهاند. با این حال به خصوص از آنجا که در حدود چهارده سال ابتدایی کار گنجور، گنجور امکان نامنویسی نداشت و نظارت مستمری روی آنها وجود نداشت کیفیت همهٔ حاشیهها یکسان نبود.
با بازنویسی گنجور کاربران امکان ویرایش و حذف حاشیههای خود را پیدا کردند و امکان گزارش حاشیههای نامناسب فراهم شد.
با این حال میراث پانزدهسال قبل حاشیههای گنجور هنوز به ترتیب زمانی (قدیمیترین حاشیه اولین حاشیه) در دسترس قرار میگرفت. از این جهت بسیار پیش آمده که محتواهای ارزشمند مرتبط با اشعار در میانههای انبوه حاشیههای یک شعر نادیده مانده و مثلاً مطالب تاریخی و ادبی مستخرج از کتابها که سالها پیشتر کاربری آن را بازگو کرده به دلیل دیده نشدن توسط دیگران بارها و بارها تکرار شده.
امتیازدهی به حاشیهها (پسندیدن و نپسندیدن) که اخیراً به گنجور اضافه شده بنا دارد این مشکل را حل کند. حاشیههای مفید و پرارزش را بپسندید تا به بالای فهرست حاشیهها منتقل شود. نپسندیدن حاشیهها نیز راهی مردمسالارانهتر -از گزارش آنها- برای نهان کردنشان از فهرست حاشیههای برتر است که به طور پیشفرض بالانشینند. بدیهی است که یک حاشیهگذار نمیتواند حاشیههای خودش را پسند کند.
امروز میخواهم شما را با پروژهای آشنا کنم که برای من بسیار عزیز و ارزشمند است؛ پروژهای که تنها هدفش گشودن درهای زیبایی شعر فارسی به روی کسانی است که فارسیزبان نیستند.
اما پیش از آنکه وارد جزئیات شوم، مایلم کمی دربارهٔ پیشزمینهٔ این پروژه و انگیزههای نهفته در پسِ آن سخن بگویم.
در سه سال گذشته، افتخار همکاری با شما، دوستان ایرانیام، و همچنین اعضای تیم «همکاران گنجور» در تلگرام را داشتهام و از نزدیک شاهد تأثیر شگفتانگیز گنجور بر جامعهٔ ایران بودهام؛ تأثیری که حقیقتاً تحسینبرانگیز است.
گنجور چیزی است که مردم را گرد هم میآورد و آنان را شیفتهٔ شعر میکند. دیدن این پیوند با حکمت جاودانِ شاعران بزرگ، واقعاً دلگرمکننده و امیدبخش است و روحی تازه به زندگی انسان میبخشد. خوشبختانه این تأثیر را از نزدیک تجربه کردهام و خودم نیز عمیقاً از آن اثر پذیرفتهام.
اما وقتی به وضعیت شعر در پاکستان نگاه میکنم، متأسفانه هیچ نمونهای همسنگ گنجور برای مخاطبان پاکستانی وجود ندارد. مردم اینجا آشنایی چندانی با شعر فارسی ندارند. البته ما از طریق شبکههای اجتماعی «زندهرود»، اشعار فارسی علامه اقبال را همراه با ترجمه و دکلمه منتشر میکنیم و مخاطبان نیز ارتباط خوبی با آن برقرار میکنند (ویدئوهای ما ماهانه حدود ۳۰۰ هزار بازدید دریافت میکنند)، اما این تجربه کاملاً متفاوت است و به هیچ وجه قابل مقایسه با گنجور نیست.
بارها تلاش کردهام مردم را با گنجور آشنا کنم، اما متأسفانه مانع زبان باعث شده است که استفاده از آن برای بسیاری دشوار باشد. منوها، توضیحات و بخشهای مختلف وبسایت گنجور همگی به زبان فارسی هستند و همین موضوع لذت بردن آسان از زیبایی شعر فارسی را برای مخاطبان غیرایرانی دشوار میکند. کسانی که تازه میخواهند وارد دنیای شعر فارسی شوند، در آغاز این مسیر به راهنمایی و همراهی نیاز دارند.
به همین دلیل، ما در زندهرود پروژهای تازه را آغاز کردهایم تا درهای شعر فارسی را به روی مخاطبان غیرفارسیزبان، آن هم به زبانی که میفهمند، بگشاییم. در نخستین گام، وبسایتی کاملاً اردوزبان و اختصاصیافته به شاعران فارسی راهاندازی کردهایم و انشاءالله طی چند ماه آینده نسخهٔ انگلیسی آن را نیز منتشر خواهیم کرد.
تجربهٔ ما نشان داده است که بیشتر مخاطبان تازهوارد معمولاً با پنج چالش اصلی روبهرو هستند:
نخست اینکه باید با شاعر آشنا شوند؛ زیرا این آشنایی به برقراری ارتباط عمیقتر با شعر کمک میکند.
دوم اینکه باید بتوانند بهآسانی در وبسایت گردش کنند و بخشهای مختلف آن را به زبان خودشان، نه فارسی، پیدا کنند.
سوم اینکه لازم است ترجمهٔ اشعار را در اختیار داشته باشند.
چهارم اینکه در کنار ترجمه، متن اصلی فارسی را نیز بتوانند بخوانند.
و پنجم اینکه اگر دکلمهٔ فارسی شعر نیز در دسترس باشد، برای مخاطبان غیرفارسیزبان بسیار سودمند خواهد بود. برای خود من، در طول سه سال گذشته، ارزشمندترین بخش گنجور همین دکلمهها بودهاند؛ زیرا کمک بزرگی کردند تا شعرها را بهدرستی بخوانم.
با در نظر گرفتن همین نیازها، نسخهٔ اردوِ وبسایت زندهرود را راهاندازی کردیم؛ وبسایتی که دقیقاً این امکانات را در اختیار کاربران قرار میدهد: ترجمهها، تجربهای کاملاً اردوزبان از وبسایت، و دکلمههای اشعار.
ما برجستهترین شاعران کلاسیک زبان فارسی را برگزیدیم و در کنار آنها، چند شاعر را نیز که در شبهقاره شهرت فراوانی دارند، انتخاب کردیم. سپس ترجمههای اردو و انگلیسی آثارشان را همراه با فایلهای صوتی دکلمه به وبسایت افزودیم. دربارهٔ فایلهای صوتی نیز، زمانی که فایلهای صوتی گنجور در دسترس نبود، خوششانس بودم که نسخهای از ضبطهای گنجور را در یک سکوی متنباز پیدا کردم، آنها را دانلود کردم و به آثار مربوطه پیوند دادم.
در مورد متن فارسی نیز، توانستم با استفاده از APIهای بسیار ارزشمندی که شما در اختیار همگان قرار دادهاید، پایگاه دادهٔ خودم را ایجاد کنم، ترجمهها را به متن اصلی متصل سازم و فایلهای صوتی را نیز با فایلهای همگامسازی (Synchronization) مرتبط کنم.
از آنجا که شما با سخاوت تمام، دادههای گنجور را بهصورت متنباز منتشر کردهاید، این امکان برای من فراهم شد که با اطمینان خاطر، وبسایت را بر پایهای مستحکم از متن فارسی و دکلمهها بنا کنم. سپس بر روی این زیرساخت، ترجمهها و بومیسازی موردنیاز مخاطبان محلی را افزودیم.
استقبال مردم اینجا از وبسایت فوقالعاده بود. واقعاً نمیتوانم با کلمات توصیف کنم که تا چه اندازه از این پروژه تمجید کردند؛ زیرا این وبسایت دریچهای به جهانی کاملاً تازه را به روی آنان گشود.
از همین رو، خود را وامدار آن تلاش شگفتانگیز، ارزشمند و ستودنی میدانستم که شما طی پانزده تا بیست سال گذشته انجام دادهاید. به همین دلیل، برای قدردانی از زحمات شما، صفحهای اختصاصی در وبسایت ایجاد کردهایم که در آن، گنجور را معرفی کردهایم، شیوهٔ فعالیت آن را توضیح دادهایم و شرح دادهایم که طی سه سال گذشته چگونه با گنجور همکاری داشتهایم. این، ادای احترامی کوچک از سوی ما به همهٔ شماست.
علاوه بر این، تلاش کردهایم تا حد امکان همهٔ الزامات استفاده از دادههای متنباز گنجور را رعایت کنیم. برای هر شعری که متن آن را از گنجور گرفتهایم، پیوندی آشکار و مستقیم به گنجور قرار دادهایم. گمان میکنم نزدیک به ۴۰ هزار شعر را وارد کردهایم و اکنون در صفحهٔ هر شعر، پیوندی به گنجور وجود دارد.
دربارهٔ اشعار فارسی علامه اقبال نیز، متأسفانه در متن و همچنین در سازماندهی و دستهبندی داخلی اشعار، خطاهای فراوانی وجود داشت و ناچار شدیم زمان و تلاش زیادی صرف اصلاح آنها کنیم. در این زمینه پیشرفت قابل توجهی داشتهایم و توضیحات آن را نیز بهطور مفصل در وبسایت آوردهایم، اما این کار هنوز بهطور کامل به پایان نرسیده است. هنگامی که کاملاً مطمئن شویم محتوای موجود صددرصد با نسخههای اصلی کتابها مطابقت دارد، بیتردید این دادهها را در اختیار شما نیز قرار خواهیم داد تا بتوانید متن گنجور را نیز بهبود ببخشید. از آنجا که تعداد خطاها بسیار زیاد بود، اصلاح تکتک آنها مستقیماً در گنجور برای من امکانپذیر نبود. امیدوارم در آینده راهکاری برای انجام این اصلاحات بهصورت دستهای (Batch Process) پیدا کنیم.
و در پایان، گمان میکنم الهامبخشترین جملهای که از گنجور آموختیم، این بود:
«دگران کاشتند و ما خوردیم، ما بکاریم و دیگران بخورند»
ما در وبسایت خود نیز اعلام کردهایم که عمیقاً به این شعار باور داریم. بنابراین، تمام دادههایی که تولید میکنیم—چه ترجمهها و چه اصلاحات و بهبودهایی که بر پایهٔ دادههای گنجور انجام میدهیم—آنها نیز بهصورت متنباز منتشر خواهند شد و انشاءالله در آینده از طریق API در اختیار همگان قرار خواهند گرفت.
تصاویری از این کار بزرگ را ببینید (برای آن که محتوا قابل درک شود در بعضی تصاویر از نسخهٔ ترجمهشده توسط سرویس ترجمهٔ گوگل استفاده شده):
در صفحهٔ اول چند اثر برگزیده و درصد فایلهای صوتی در دسترس و درصد ترجمهٔ اردو و انگلیسی در دسترس از آن اثر مشخص شده است.
زنده رود و گنجور: یک همکاری تاریخی در ترویج میراث ادبی فارسی
زنده رود افتخار بینظیر همکاری در بسیاری از زمینهها با «گنجور»، معتبرترین پایگاه شعر فارسی در سطح جهان، را دارد.
مقدمهای بر گنجور و یک انقلاب آرام
گنجور یک وبسایت معتبر شعر فارسی است که انقلابی خاموش اما بسیار مؤثر در ترویج شعر فارسی در سراسر جهان به وجود آورده است. بنیانگذار آن، حمیدرضا محمدی، یک مهندس نرمافزار مشهور است که به دلیل خدمات فداکارانهاش، «زاهد» دنیای شعر دیجیتال نیز نامیده میشود. گنجور فقط یک وبسایت نیست، بلکه پلتفرمی با حدود دوازده نرمافزار تحت پوشش خود است که این امکان را برای فارسیزبانان از سراسر جهان فراهم میکند تا میراث ادبی مشترک خود را در یک مکان مشاهده کنند، به آن اضافه کنند، خطاها را اصلاح کنند و سپس از طریق سیستمهای متنباز، دادهها را برای هر منظوری به صورت رایگان دریافت کنند. با استفاده از دادههای متنباز گنجور، چندین وبسایت، اپلیکیشن موبایل و سیستمهای هوش مصنوعی جدید به زبان فارسی به وجود آمدهاند.
ایدئولوژی متنباز گنجور
تمام متون، صداهای ضبطشده و بیش از دوازده نرمافزاری که روی خود گنجور اجرا میشوند، کاملاً متنباز هستند و اجازه کامل برای استفاده مجدد از آنها برای اهداف شخصی شما وجود دارد.
گنجور این فلسفه را در صفحه «درباره گنجور» خود به شرح زیر توضیح داد:
به حکم «دگران کاشتند و ما خوردیم، ما بکاریم و دیگران بخورند» گنجور نیز اشعاری را که از منابع دیگر نقل کرده به صورت دورهای و در قالب پایگاه دادههای نرمافزار آزاد و رایگان گنجور رومیزی منتشر میکند تا گروهها و علاقمندان دیگر بتوانند با استفاده از این مجموعه کارهای مشابه گنجور را انجام دهند و در مجموع گامهای بیشتری در جهت انتشار آزاد ادبیات فارسی برداشته شود.
«ضمناً با ارسال خوانش خود به گنجور پذیرفتهاید که اثرتان بدون محدودیت و به طور آزاد چه در کارهای رایگان و چه در کارهای تجاری قابل استفادهٔ مجدد باشد. تنها شرط الزام شده از طرف گنجور ذکر نام گوینده و منبع اولیه است…»
…
به طور مشابه، تمام نرمافزارهای گنجور به صورت متنباز در گیتهاب موجود است که میتوانید آن را اینجا مشاهده کنید.
دیدگاه و اعتقاد زندهرود به ایدئولوژی متنباز
متأسفانه، هیچ پلتفرم متنباز جامع و مبتنی بر جامعهای مانند گنجور برای میراث شاعرانه زبان اردو وجود ندارد. با درک این کمبود، زندهرود فلسفه متنباز گنجور را اتخاذ کرده است. زندهرود قصد دارد سیستمی مشابه برای جامعه اردو ایجاد کند، جایی که ترجمهها و متون تصحیحشده از طریق یک سیستم متنباز برای همه در دسترس باشد.
…
علاقمندان اردو و فارسیزبان با مراجعه به وبگاه زندهرود به نشانی https://www.zinderood.com میتوانند از شکرشکنی طوطیان هند زین قند پارسی که به بنگاله میرود لذت ببرند.
دیشب این کار را کردم و گنجور را موقتاً به یک سرور دیگر انتقال دادم.
نتیجه؟ با وجود این که اتصال سرور به قدیمی به اینترنت قطع نشده بود و همچنان در دسترس بود و ترافیک گنجور و سایتهای جانبی به جاهای دیگر ارسال میشد ترافیک این سرور بلافاصله افت کرد.
این به نظرم ثابت میکند که مصرف ترافیک آن واقعی و مربوط به خود گنجور است و جاسوسافزار یا برنامهٔ دیگری روی سرور باعث این حجم از مصرف ترافیک نشده.
از آنجا که سرور موقت جایگزین مشخصات سختافزاری مناسبی نداشت و گنجور را کند بالا میآورد بعد از اطمینان از سلامت سرور اصلی ترافیک گنجور را روی آن برگرداندم و مصرف ترافیک آن بلافاصله صعودی شد.
نتیجه آن که سرور آلودگی ندارد و فعلاً میتوانیم به مدد بستههای افزایش ترافیک آن را سرپا نگه داریم.
متأسفانه با گذشت مدتی طولانی از وصل شدن اینترنت خانگی، اینترنت دیتاسنترهای داخلی (آنهایی که مربوط به جایی در قم یا جای متصل دیگری نیستند) وصل نشد.
البته گویا این اواخر امکان اتصال کاربر خارجی به آنها در قالب دریافت محتوا فراهم شده اما این ارتباط یک طرفه و منحصر به پروتکلهای خاص است و در نهایت این وضعیت خاص نشانگر آن است که قرار نیست اینترنت روی این دیتاسنترها به شکل نرمال وصل شود و کار کند.
به همین دلیل فرایند انتشار خوانشهای گنجور و همینطور بازبینی و انتشار تصاویر مرتبط با گنجور و گنجینهٔ گنجور مختل مانده بود (چون این فایلها را من روی فضایی داخل ایران نگهداری میکردم و میبایست اتصالی از سرور اصلی گنجور در خارج از ایران به آن فراهم میشد تا فایلهای جدید روی آن کپی شوند).
برای حل مشکل با استفاده از اعتبار اهدایی ابر آروان این فایلها را به سروری خارج از ایران انتقال دادم و روی آن ابزارهای مورد نیاز را نصب و راهاندازی کردم. در این فرایند در اثر اشتباهات فنی من فایل حدود ۵۰ روخوانی پاک و گم شد که مجبور شدم آنها را حذف کنم (صاحبان این خوانشها اعلان حذف آن را دریافت میکنند).
در حال حاضر تنها فایلهای نسکبان روی آن فضای قدیمی داخل ایران نگهداری میشود که بعید میدانم با توجه به محدودیتهای اینترنت ایرانی بشود در کوتاهمدت فکری برای آنها کرد (انتقال همین بخش کوچکتر فایلها قریب به یک هفته در حال انجام بود).
این چند وقت کارم شده نوشتن از مشکلات متعدد پیش آمده ناشی از ترکشهای قطع اینترنت.
۱. ایمیل اصلی گنجور (ganjoor@ganjoor.net) سالهاست که روی سرویسهای گوگل میزبانی میشود. مزیتی که داشته غیر از امکانات سرویس جیمیل و فضای قابل توجه آن، این بوده که مستقل از محل سرور و سیستم عامل گنجور (که اولها وردپرس و لینوکسی بود و بعدها ویندوزی شد) بایگانی تمام ایمیلهای دریافتی و ارسالی روی آن در دسترس بود و با تغییرات سرور گنجور از دست نمیرفت. این سرویس خاص گوگل که رایگان هم بود فکر میکنم اواخر سال گذشته و شاید همزمان با قطعی اینترنت در ایران تغییراتی کرده و از جملهٔ آن تغییرات الزامی شدن ورود دو مرحلهای است. الان هم برای ورود دو مرحلهای شماره تلفنهای ایران را که پیشتر برایش تعریف کرده بودم نمیپذیرد.
البته من به دلیل مشکلاتی که از ابتدا این سرویس داشت (تحریم کاربران ایرانی) کمتر پیش میآمد که مستقیماً از آن استفاده کنم. ایمیلهای آن به طور خودکار به ایمیل شخصی خودم ارسال میشده و میشود و از طریق همان ایمیل امکان ارسال از طرف آن را دارم. از این جهت دسترسیم به آن هیچگاه قطع نشده.
منتهی به دلیل پر شدن فضای ایمیل شخصیم چند وقت پیش تمام ایمیلهای ارسالی به ایمیل گنجور را که پیوست داشتند به هوای آن که به آنها روی ایمیل اصلی دسترسی دارم پاک کردم.
این شده که به دلیل عدم امکان دسترسی به ایمیل گنجور به آن بایگانی دسترسی ندارم و ایمیلهای رسیدگی نشدهٔ آن احتمالاً شامل مجموعههای اشعار تایپ شده توسط کاربران فعلاً رسیدگی نمیشوند.
۲. دسترسی دیتاسنترها به اینترنت هنوز قطع است منتهی اخیراً نظرات هرز عموماً روسزبان روی تازههای گنجور مینشیند. مشخص است از بیرون خصوصاً از سمت روسستان این سایتها در دسترس است منتهی از آنجایی که باید (سرویس ضدهرزنامهنگاری وردپرس موسوم به اکیسمت) دیده نمیشوند. به قول شیخ اجل سگ را گشادهاند و سنگ را بسته. شدت و تعداد هرزنامههای ارسالی آنقدر زیاد شد که تصمیم گرفتم امکان ارسال نظر برای تازههای گنجور را موقتاً ببندم.
مورد اول را به خصوص جهت اطلاع آن دسته از دوستانی که ایمیلی فرستادهاند و هنوز پاسخی از گنجور دریافت نکردهاند نوشتم که بدانند مضاف بر دلایل شخصی، صاحب این ایمیل بهانههای فنی هم برای پاسخ ندادن یا دیر پاسخ دادن دارد. از همهٔ این عزیزان عذرخواهی میکنم.