1
0
This commit is contained in:
Debug_pro
2026-06-07 18:19:53 +03:00
commit fb13e5a20a
33 changed files with 2382 additions and 0 deletions

34
Services/SlugHelper.cs Normal file
View File

@@ -0,0 +1,34 @@
using System.Text;
using System.Text.RegularExpressions;
namespace SimpleWiki.Services;
public static class SlugHelper
{
public static string Generate(string title)
{
if (string.IsNullOrWhiteSpace(title))
{
return string.Empty;
}
var normalized = title.Trim().ToLowerInvariant();
normalized = normalized.Replace('ё', 'е');
var sb = new StringBuilder();
foreach (var ch in normalized)
{
if (char.IsLetterOrDigit(ch))
{
sb.Append(ch);
}
else if (char.IsWhiteSpace(ch) || ch == '-' || ch == '_')
{
sb.Append('-');
}
}
var slug = Regex.Replace(sb.ToString(), "-+", "-").Trim('-');
return string.IsNullOrWhiteSpace(slug) ? $"article-{DateTime.UtcNow:yyyyMMddHHmmss}" : slug;
}
}