- Install @astrojs/rss and setup content collections (blog + generators) - Create BlogLayout with BlogPosting schema, article OG tags, prev/next nav - Create blog post pages EN/RU ([slug].astro) with dynamic routing - Create blog index pages EN/RU with post cards and filtering - Create RSS feeds EN/RU with auto-discovery links - Create generator category pages EN/RU (5 categories each) - Add category navigation pills to homepage - Create Breadcrumbs, RelatedGenerators, RelatedPosts components - Add breadcrumbs to GeneratorLayout and BlogLayout - Wire RelatedGenerators into GeneratorLayout - Wire RelatedPosts into blog post pages - Create 8 EN + 8 RU blog post templates with placeholder content - Add blog link to LanguageSwitcher navigation - Add category and blog translation keys
37 lines
1.2 KiB
Plaintext
37 lines
1.2 KiB
Plaintext
Task 15: Blog Index Pages — Evidence
|
|
======================================
|
|
|
|
Build Status: PASS (76 pages, exit code 0)
|
|
|
|
Files Created:
|
|
- src/pages/blog/index.astro
|
|
- src/pages/ru/blog/index.astro
|
|
|
|
Files Modified:
|
|
- src/i18n/translations.ts (added blogDesc, readMore, noPosts keys for EN + RU)
|
|
|
|
Build Output Verification:
|
|
- dist/blog/index.html (6893 bytes)
|
|
- dist/ru/blog/index.html (7342 bytes)
|
|
|
|
EN Page Features:
|
|
- Queries getCollection("blog"), filters lang === "en" and draft !== true
|
|
- Sorts by pubDate descending
|
|
- Links to /blog/[slug]/
|
|
- Date formatting: toLocaleDateString("en-US", ...)
|
|
- JSON-LD Blog schema with blogPost array
|
|
|
|
RU Page Features:
|
|
- Queries getCollection("blog"), filters lang === "ru" and draft !== true
|
|
- Sorts by pubDate descending
|
|
- Links to /ru/blog/[slug]/
|
|
- Date formatting: toLocaleDateString("ru-RU", ...)
|
|
- JSON-LD Blog schema with blogPost array
|
|
|
|
Both pages:
|
|
- Use BaseLayout with title and description props
|
|
- Include OG/Twitter Card meta tags (inherited from BaseLayout)
|
|
- Include canonical + hreflang alternates (inherited from BaseLayout)
|
|
- Show empty state "No posts yet" / "Пока нет записей." when collection is empty
|
|
- Display category badge + tag badges per post card
|