This commit is contained in:
Hamid Reza Mohammadi 2021-06-23 19:28:52 +04:30
parent 34d3a50354
commit 656dce33bc

View File

@ -3142,6 +3142,14 @@ namespace RMuseum.Services.Implementation
} }
} }
private static string PrepareTOCChar(string poemLastChar)
{
string s = GPersianTextSync.Farglisize(poemLastChar);
if (s == "s")
return "ss"; //prevent an ID conflict
return s;
}
/// <summary> /// <summary>
/// generate category TOC /// generate category TOC
/// </summary> /// </summary>
@ -3194,7 +3202,7 @@ namespace RMuseum.Services.Implementation
var randomPoemVerses = await _context.GanjoorVerses.AsNoTracking().Where(p => p.PoemId == randomPoem.Id).OrderBy(v => v.VOrder).ToArrayAsync(); var randomPoemVerses = await _context.GanjoorVerses.AsNoTracking().Where(p => p.PoemId == randomPoem.Id).OrderBy(v => v.VOrder).ToArrayAsync();
if(randomPoemVerses.Length > 2) if(randomPoemVerses.Length > 2)
{ {
html += $"<p>مثلاً برای پیدا کردن شعری که مصرع <em>{randomPoemVerses[1].Text}</em> مصرع دوم یکی از بیتهای آن است باید شعرهایی را نگاه کنید که آخر حرف قافیهٔ آنها «<em><a href=\"#{ GPersianTextSync.Farglisize(randomPoem.RhymeLetters.Substring(randomPoem.RhymeLetters.Length - 1)) }\">{randomPoem.RhymeLetters.Substring(randomPoem.RhymeLetters.Length - 1)}</a></em>» است.</p>{Environment.NewLine}"; html += $"<p>مثلاً برای پیدا کردن شعری که مصرع <em>{randomPoemVerses[1].Text}</em> مصرع دوم یکی از بیتهای آن است باید شعرهایی را نگاه کنید که آخر حرف قافیهٔ آنها «<em><a href=\"#{ PrepareTOCChar(randomPoem.RhymeLetters.Substring(randomPoem.RhymeLetters.Length - 1)) }\">{randomPoem.RhymeLetters.Substring(randomPoem.RhymeLetters.Length - 1)}</a></em>» است.</p>{Environment.NewLine}";
} }
html += $"<h3><a id=\"index\">دسترسی سریع به حروف</a></h3>{Environment.NewLine}"; html += $"<h3><a id=\"index\">دسترسی سریع به حروف</a></h3>{Environment.NewLine}";
@ -3209,7 +3217,7 @@ namespace RMuseum.Services.Implementation
{ {
html += " | "; html += " | ";
} }
html += $"<a href=\"#{GPersianTextSync.Farglisize(poemLastChar)}\">{poemLastChar}</a>"; html += $"<a href=\"#{PrepareTOCChar(poemLastChar)}\">{poemLastChar}</a>";
lastChar = poemLastChar; lastChar = poemLastChar;
} }
} }
@ -3235,7 +3243,7 @@ namespace RMuseum.Services.Implementation
string poemLast = poem.RhymeLetters.Substring(poem.RhymeLetters.Length - 1); string poemLast = poem.RhymeLetters.Substring(poem.RhymeLetters.Length - 1);
if (poemLast != last) if (poemLast != last)
{ {
html += $"<h3><a href=\"#index\" id=\"{GPersianTextSync.Farglisize(poemLast)}\">{poemLast}</a></h3>{Environment.NewLine}"; html += $"<h3><a href=\"#index\" id=\"{PrepareTOCChar(poemLast)}\">{poemLast}</a></h3>{Environment.NewLine}";
last = poemLast; last = poemLast;
} }
} }