feat: zeropost-web — публичный AI-блог на zeropost.ru

- Next.js 16, Tailwind с @tailwindcss/typography
- Главная: hero, featured-статья, сетка карточек, облако тегов
- /blog/[slug]: статья со SSG + revalidate 60s, prose typography
- /tag/[name]: фильтр по тегам
- /about: про проект
- /api/cron/generate: endpoint для авто-генерации (защищён x-cron-token)
- SEO: dynamic metadata, OG, sitemap-ready
- Лента грузится с zeropost-engine /api/articles
This commit is contained in:
Alexey Pavlov
2026-05-31 08:50:35 +03:00
parent adea4b80de
commit 6dfe8b8afa
20 changed files with 2913 additions and 0 deletions
+44
View File
@@ -0,0 +1,44 @@
/** @type {import('tailwindcss').Config} */
module.exports = {
content: [
'./app/**/*.{js,jsx,ts,tsx}',
'./components/**/*.{js,jsx,ts,tsx}',
],
theme: {
extend: {
colors: {
bg: '#0a0a0a',
surface: '#141414',
surface2: '#1c1c1c',
border: '#2a2a2a',
accent: '#10b981',
accent2: '#34d399',
ink: '#e5e7eb',
mute: '#9ca3af',
},
fontFamily: {
sans: ['Inter', 'system-ui', 'sans-serif'],
serif: ['"Source Serif Pro"', 'Georgia', 'serif'],
},
typography: ({ theme }) => ({
DEFAULT: {
css: {
'--tw-prose-body': theme('colors.ink'),
'--tw-prose-headings': '#ffffff',
'--tw-prose-links': theme('colors.accent2'),
'--tw-prose-bold': '#ffffff',
'--tw-prose-quotes': theme('colors.mute'),
'--tw-prose-quote-borders': theme('colors.accent'),
'--tw-prose-code': theme('colors.accent2'),
'--tw-prose-pre-bg': theme('colors.surface2'),
'--tw-prose-pre-code': theme('colors.ink'),
'--tw-prose-bullets': theme('colors.mute'),
'--tw-prose-counters': theme('colors.mute'),
'--tw-prose-hr': theme('colors.border'),
},
},
}),
},
},
plugins: [require('@tailwindcss/typography')],
};