feat(blog): real bilingual blog with covers, list & article pages

- Add blog content module (posts.ts): 4 platform-focused articles (deploy,
  managed databases, custom domain + SSL, replicas & cost) in fa/en with
  tag, date, reading time, excerpt and structured body.
- Self-contained gradient cover art (BlogCover) — no external images, themed
  per topic with the brand cloud motif.
- Landing blog section now shows the 3 latest posts with covers, linking to
  article pages; "view all" links to /blog.
- Dedicated /blog list page and /blog/[slug] article page over the shared
  cloud-sky shell (BlogShell), with a not-found state.
- Remove the now-redundant "Learn" header nav item (blog covers getting
  started) and drop its orphan section anchor.
- i18n: blog minRead/notFound/backToBlog strings.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
keyhan
2026-06-23 13:35:02 +03:30
parent f89c3de826
commit bd14eb2daa
10 changed files with 626 additions and 28 deletions
+3
View File
@@ -189,6 +189,9 @@ const fa = {
comingSoon: 'به‌زودی',
cta: 'مشاهدهٔ همهٔ مقالات',
readMore: 'ادامهٔ مطلب',
minRead: '{n} دقیقه مطالعه',
notFound: 'این مقاله پیدا نشد.',
backToBlog: 'بازگشت به بلاگ',
posts: [
{ tag: 'شروع کار', title: 'اولین اپلیکیشن خود را در چند دقیقه منتشر کن', desc: 'از اتصال ریپازیتوری تا دامنه و SSL خودکار — قدم‌به‌قدم.' },
{ tag: 'بهینه‌سازی هزینه', title: 'منابع را درست انتخاب کن و کمتر هزینه بده', desc: 'CPU، حافظه، رپلیکا و سرویس‌های جانبی را هوشمندانه تنظیم کن.' },