2026-06-01 07:46:56 +03:30
|
|
|
@page "/blog/{slug}"
|
|
|
|
|
@model SoroushAsadi.Pages.Blog.PostModel
|
|
|
|
|
@{
|
2026-06-21 05:16:06 +03:30
|
|
|
ViewData["Title"] = Model.Title + " - Soroush Asadi";
|
2026-06-01 07:46:56 +03:30
|
|
|
var fa = Model.IsFa;
|
|
|
|
|
}
|
|
|
|
|
|
2026-06-21 05:16:06 +03:30
|
|
|
<div class="px-5 pt-28 pb-24 sm:px-8 sm:pt-32">
|
|
|
|
|
<div class="mx-auto max-w-2xl">
|
|
|
|
|
<a href="/blog" class="mb-10 inline-flex items-center gap-2 text-sm text-zinc-500 transition-colors hover:text-zinc-900 @(fa ? "flex-row-reverse" : "")">
|
|
|
|
|
<svg viewBox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="1.8" class="@(fa ? "" : "rotate-180")"><path d="M5 12H19"/><path d="M13 6L19 12L13 18"/></svg>
|
2026-06-01 07:46:56 +03:30
|
|
|
@(fa ? "بازگشت به بلاگ" : "Back to blog")
|
|
|
|
|
</a>
|
|
|
|
|
|
|
|
|
|
@if (Model.PostNotFound)
|
|
|
|
|
{
|
2026-06-21 05:16:06 +03:30
|
|
|
<p class="text-zinc-600">@(fa ? "مقاله پیدا نشد." : "Post not found.")</p>
|
2026-06-01 07:46:56 +03:30
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
2026-06-21 05:16:06 +03:30
|
|
|
<header class="mb-8">
|
|
|
|
|
<span class="kicker">@Model.Category</span>
|
|
|
|
|
<h1 class="mt-3 @(fa ? "font-fa" : "")" style="font-size:clamp(1.8rem,4vw,2.5rem)">@Model.Title</h1>
|
2026-06-26 05:33:44 +03:30
|
|
|
<p class="mt-3 text-sm text-zinc-500">@Model.ReadTime @(fa ? "دقیقه مطالعه" : "min read")</p>
|
2026-06-21 05:16:06 +03:30
|
|
|
</header>
|
2026-06-01 07:46:56 +03:30
|
|
|
|
2026-06-21 05:16:06 +03:30
|
|
|
<article class="prose-custom">
|
2026-06-01 07:46:56 +03:30
|
|
|
@Html.Raw(Model.BodyHtml)
|
|
|
|
|
</article>
|
|
|
|
|
}
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|