@page @model GanjooRazor.Areas.User.Pages.EditorModel @using DNTPersianUtils.Core @{ Layout = "_UserPanelLayout"; ViewData["Title"] = "ویرایشگر"; await GanjooRazor.Utils.GanjoorSessionChecker.ApplyPermissionsToViewData(Request, Response, ViewData); }
نکات مهم در ویرایش متن
🔗 @Model.PageInformation.FullTitle
if (Model.MyLastEdit != null) {| متن اولیه | تغییرات من |
| تغییرات عنوان | |
|
@Model.MyLastEdit.OriginalTitle |
@Model.MyLastEdit.Title |
|
@Model.MyLastEdit.OriginalTitle |
|
| تغییرات وزن | |
|
@Model.MyLastEdit.OriginalRhythm |
@Model.MyLastEdit.Rhythm |
| تغییرات وزن دوم | |
|
@Model.MyLastEdit.OriginalRhythm2 |
@Model.MyLastEdit.Rhythm2 |
| تغییرات قافیه | |
|
@Model.RhymeLetters |
@Model.MyLastEdit.RhymeLetters |
| تغییرات قالب شعری | |
|
@RMuseum.Services.Implementation.GanjoorPoemFormatConvertor.GetString(Model.MyLastEdit.OriginalPoemFormat) |
@RMuseum.Services.Implementation.GanjoorPoemFormatConvertor.GetString(Model.MyLastEdit.PoemFormat) |
| خلاصهٔ پیشنهادی من | |
|
@Model.MyLastEdit.OriginalPoemSummary |
@Model.MyLastEdit.PoemSummary |
|
@Model.MyLastEdit.OriginalPoemSummary |
|
| تغییرات متن | |
| @verse.OriginalText | |
|
@verse.OriginalText |
باید حذف شود |
| @verse.OriginalText | |
|
@if (verse.OriginalVersePosition != null)
{
@RMuseum.Models.Ganjoor.VersePositionHelper.GetVersePositionString((RMuseum.Models.Ganjoor.VersePosition)verse.OriginalVersePosition) |
نوع پیشنهادی مصرع: @RMuseum.Models.Ganjoor.VersePositionHelper.GetVersePositionString((RMuseum.Models.Ganjoor.VersePosition)verse.VersePosition) |
| @verse.OriginalText | |
|
@verse.OriginalText |
@verse.Text |
|
@verse.OriginalText |
|
| @verse.OriginalText | |
|
@if (verse.OriginalLanguageId == null)
{
زبان: فارسی } else {زبان: @Model.Languages.Where(l => l.Id == verse.OriginalLanguageId).Single().Name } |
@Model.Languages.Where(l => l.Id == verse.LanguageId).Single().Name |
|
معنی @(verse.OriginalText + " ...") |
|
|
@verse.OriginalCoupletSummary |
@verse.CoupletSummary |
|
@verse.OriginalText |
|
| برچسبهای زمان و مکان پیشنهادی | |
|
بیت: @(geoDateTag.CoupletIndex != null ? (Model.Couplets.Where(c => c.Item1 == geoDateTag.CoupletIndex).Select(c => c.Item2).FirstOrDefault() ?? "— کل شعر —") : "— کل شعر —") @if (geoDateTag.MarkForDelete) {درخواست حذف برچسب موجود (#@geoDateTag.ExistingTagId) } else {
@if (geoDateTag.LocationId != null)
{
@(Model.Locations.Where(l => l.Id == geoDateTag.LocationId).Select(l => l.Name).FirstOrDefault())
}
else if (!string.IsNullOrEmpty(geoDateTag.SuggestedLocationName))
{
@($"{geoDateTag.SuggestedLocationName} (مکان جدید پیشنهادی)")
}
@if (geoDateTag.LunarYear != null)
{
@(" - سال " + geoDateTag.LunarYear)
}
@if (geoDateTag.LunarMonth != null)
{
switch (geoDateTag.LunarMonth)
{
case 1:
@(" محرم")
;
break;
case 2:
@(" صفر")
;
break;
case 3:
@(" ربیعالاول")
;
break;
case 4:
@(" ربیعالثانی")
;
break;
case 5:
@(" جمادیالاول")
;
break;
case 6:
@(" جمادیالثانی")
;
break;
case 7:
@(" رجب")
;
break;
case 8:
@(" شعبان")
;
break;
case 9:
@(" رمضان")
;
break;
case 10:
@(" شوال")
;
break;
case 11:
@(" ذیقعده")
;
break;
case 12:
@(" ذیحجه")
;
break;
}
}
@if (geoDateTag.LunarDay != null)
{
@(" روز " + geoDateTag.LunarDay)
}
@if (geoDateTag.IgnoreInCategory)
{
یادداشت: @geoDateTag.SuggestionNote } } |
|
| یادداشت: | @Model.MyLastEdit.Note |
| 🗑 انصراف و حذف این ویرایش | |
پیمایش
لغزش سریع
منبع کاغذی:
(متن پیشنهادی نمیبایست از نسخهٔ متفاوتی باشد)
@verseCoupletNumber.ToPersianNumbers() @{ var verseProgressPercent = Model.GetCoupletProgressPercent(verseCoupletNumber); } ترتیب مصرع یا خط از ابتدا: @verse.VOrder.ToPersianNumbers()
@(Model.GanjoorMetre1 == null ? "" : Model.GanjoorMetre1.Rhythm)
توجه داشته باشید که کارکرد برچسبگذاری اشعار در گنجور یافتن اشعار هموزن است. از این جهت از پیشنهاد صورتهای سلیقهای و متفاوت یک وزن خودداری کنید تا این قابلیت مختل نشود. این نکته را هم مد نظر داشته باشید.
@Model.RhymeLetters
این فیلد قافیه و ردیف را با هم و بدون فاصله میخواهد، نه فقط قافیه. اگر بعد از حروف قافیه کلمه یا کلماتی عیناً در همهٔ ابیات تکرار شده باشند (ردیف)، آنها هم باید در انتها بیایند. برای نمونه در بیت «... اگر تو یله کنی» / «... اگر تو گله کنی» چون «کنی» عیناً در هر دو مصرع تکرار شده و ردیف شعر است، حروف قافیه و ردیف باید «لهکنی» نوشته شود؛ نه «له» (با نادیده گرفتن ردیف) و نه «ه کنی» (با فاصلهٔ اشتباه). همچنین از حرکات (فتحه، ضمه، کسره) یا هر نشانهٔ اضافهٔ دیگر در این فیلد استفاده نشود.
@RMuseum.Services.Implementation.GanjoorPoemFormatConvertor.GetString(Model.PoemFormat) @Model.PoemFormat
توجه فرمایید که هدف از این بخش، تفسیر متن اشعار نیست. انتظار میرود در این بخش برای متون و اشعاری مثل داستانها خلاصه یا لب مطلب را بنویسید (برای بعضی از انواع اشعار مثل غزلها ممکن است خلاصهٔ کلی معنی نداشته باشد). برای خطوط یا ابیات نیز برگردان متن به نثر قابل فهم امروزی نوشته شود (لازم نیست برای همهٔ خطوط برگردان نثر نوشته شود). برای تفسیر یا درج عقاید شخصی خود راجع به اشعار از حاشیهها استفاده کنید.
متن باید خلاصه، به فارسی نوشتاری رسمی (غیرمحاورهای)، خالی از لغات نامأنوس (زبان همهکس فهم) و بدون غلط املایی و تایپی باشد.
اگر متن موجود به اندازهٔ کافی خوب باشد ممکن است متن خیلی متفاوت جایگزین تأیید نشود.
نام و مشخصات نویسندهٔ متن در صفحهٔ شعر نمایش داده نمیشود اما در تاریخچهٔ تغییرات نگهداری میشود.
در صورتی که متن تولید شده توسط هوش مصنوعی را ویرایش میکنید عبارت نشاندهندهٔ تولید هوش مصنوعی بودن آن را حذف کنید.
اگر متن یا شعر یک مفهوم و خلاصهٔ کلی ندارد (مثل خیلی از غزلیات حافظ) برای آن متن کلی وارد نکنید.
هنوز متنی برای خلاصهٔ کلی نوشته نشده است.
}@summaryCoupletNumber.ToPersianNumbers() @{ var summaryProgressPercent = Model.GetCoupletProgressPercent(summaryCoupletNumber); }
@Model.PageInformation.Poem.Verses[verseIndex].Text
} else {تذکّر مهم: از این کادر برای نوشتن چیزی جز معنی استفاده نکنید.
در صورتی که متن تولید شده توسط هوش مصنوعی را ویرایش میکنید عبارت نشاندهندهٔ تولید هوش مصنوعی بودن آن را حذف کنید.
هنوز متنی برای معنی نوشته نشده است.
}@Html.Raw(poemSetion.HtmlText)
وزن: @(poemSetion.GanjoorMetre == null ? "تعیین نشده" : poemSetion.GanjoorMetre.Rhythm)
قطعات و مصرعها
چینش مصرعها
پیمایش
ابزارهای مدیریتی
برای حذف شعر از قسمت مدیریت بخش اقدام کنید.
}میتوانید پیشنهاد دهید که این شعر به مکان یا تاریخ خاصی اشاره دارد. پیشنهادهای شما پس از بررسی ناظران اعمال خواهد شد. با دکمهٔ «ذخیره» بالا همراه با بقیهٔ تغییرات ثبت میشود.
@if (Model.PoemGeoDateTags != null && Model.PoemGeoDateTags.Any(t => t.PersonId == null)) {| بیت | مکان | سال | ماه | روز | # |
|---|---|---|---|---|---|
| @(Model.Couplets.Where(c => c.Item1 == tag.CoupletIndex).Select(c => c.Item2).FirstOrDefault() ?? "— کل شعر —") | @($"{(tag.Location == null ? "" : tag.Location.Name)}") | @tag.LunarYear | @{ switch (tag.LunarMonth) { case 1: @("محرم") ; break; case 2: @("صفر") ; break; case 3: @("ربیعالاول") ; break; case 4: @("ربیعالثانی") ; break; case 5: @("جمادیالاول") ; break; case 6: @("جمادیالثانی") ; break; case 7: @("رجب") ; break; case 8: @("شعبان") ; break; case 9: @("رمضان") ; break; case 10: @("شوال") ; break; case 11: @("ذیقعده") ; break; case 12: @("ذیحجه") ; break; } } | @tag.LunarDay | 🗑️ درخواست حذف |
اگر این برچسب به یک بیت مشخص اشاره دارد، آن را انتخاب کنید تا دیگران بتوانند شاهد آن را در متن پیدا کنند.
شروع به تایپ کنید تا فهرست مکانهای موجود بر اساس نام فیلتر شود؛ اگر مکان مورد نظر پیدا نشد، گزینهٔ تعریف آن بهعنوان مکان جدید نمایش داده میشود.
📍 مکان جدید پیشنهاد بدهمیتوانید پیشنهاد دهید که این شعر به یک نامبرده (تاریخی یا داستانی) اشاره دارد. پیشنهادهای شما پس از بررسی ناظران اعمال خواهد شد. با دکمهٔ «ذخیره» بالا همراه با بقیهٔ تغییرات ثبت میشود.
@if (Model.PoemGeoDateTags != null && Model.PoemGeoDateTags.Any(t => t.PersonId != null)) {| بیت | نامبرده | # |
|---|---|---|
| @(Model.Couplets.Where(c => c.Item1 == tag.CoupletIndex).Select(c => c.Item2).FirstOrDefault() ?? "— کل شعر —") | @(tag.Person != null ? tag.Person.Name : $"نامبرده #{tag.PersonId}") | 🗑️ درخواست حذف |
اگر این برچسب به یک بیت مشخص اشاره دارد، آن را انتخاب کنید تا دیگران بتوانند شاهد آن را در متن پیدا کنند.
شروع به تایپ کنید تا فهرست نامبردگان بر اساس نام فیلتر شود؛ اگر نامبردۀ مورد نظر پیدا نشد، گزینهٔ تعریف او بهعنوان نامبردۀ جدید نمایش داده میشود.
👤 نامبردۀ جدید پیشنهاد بده| مکان | سال | ماه | روز | تاریخ مستند | مختص شعر | # |
|---|---|---|---|---|---|---|
| @($"{(tag.Location == null ? "" : tag.Location.Name)}") | @tag.LunarYear | @{ switch (tag.LunarMonth) { case 1: @("محرم") ; break; case 2: @("صفر") ; break; case 3: @("ربیعالاول") ; break; case 4: @("ربیعالثانی") ; break; case 5: @("جمادیالاول") ; break; case 6: @("جمادیالثانی") ; break; case 7: @("رجب") ; break; case 8: @("شعبان") ; break; case 9: @("رمضان") ; break; case 10: @("شوال") ; break; case 11: @("ذیقعده") ; break; case 12: @("ذیحجه") ; break; } } | @tag.LunarDay | @if (tag.VerifiedDate) { } else { } | @if (tag.IgnoreInCategory) { } else { } | |
|
|
||||||
| ➕ برچسب جدید | ||||||