feat: add blog with archives, pagination, search, sharing and RSS
- Content collection (one folder per post) with zod schema - /blog, category and tag archives with /sayfa/<n>/ pagination - Post page: breadcrumbs, date badges, share bar, TOC, DIY notice, code copy, license line, prev/next, BlogPosting + BreadcrumbList JSON-LD - Sidebar: Pagefind search, categories, featured fallback, tag cloud - Sätteri HAST plugins for figure/figcaption and external links - Dual-theme Shiki, themed prose, RSS feed, latest posts on home - Three sample posts marked as examples Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -6,6 +6,8 @@ import mdx from '@astrojs/mdx';
|
||||
import sitemap from '@astrojs/sitemap';
|
||||
import node from '@astrojs/node';
|
||||
import icon from 'astro-icon';
|
||||
import { satteri } from '@astrojs/markdown-satteri';
|
||||
import { externalLinksPlugin, figurePlugin } from './src/lib/markdown-plugins.mjs';
|
||||
|
||||
/**
|
||||
* Dev-only routes (style preview); never part of a production build.
|
||||
@@ -29,6 +31,15 @@ export default defineConfig({
|
||||
output: 'static',
|
||||
adapter: node({ mode: 'standalone' }),
|
||||
integrations: [mdx(), sitemap(), icon({ include: { tabler: ['*'] } }), devRoutes],
|
||||
markdown: {
|
||||
processor: satteri({ hastPlugins: [figurePlugin, externalLinksPlugin] }),
|
||||
// Dual themes; colours switch with [data-theme] in global.css.
|
||||
shikiConfig: {
|
||||
themes: { light: 'github-light-high-contrast', dark: 'github-dark-high-contrast' },
|
||||
defaultColor: false,
|
||||
wrap: false,
|
||||
},
|
||||
},
|
||||
vite: {
|
||||
plugins: [tailwindcss()],
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user