Преминете към основното съдържание

Уебсайт — Преглед

Уебсайтът на Dictaro (dictaro.ai) е статичен сайт, изграден с Astro 5 и стилизиран с Tailwind CSS 4. Хостван е на Cloudflare Pages с custom domain.

Технологичен стек

КомпонентТехнологияВерсия
FrameworkAstro^5.18.0
CSSTailwind CSS (Vite plugin)^4.2.1
FontsInter, JetBrains Mono^5.2.x
SEOastro-seo^1.1.0
Sitemap@astrojs/sitemap^3.7.1
Deploy toolWrangler^4.70.0
ХостингCloudflare Pages

Архитектура

Конфигурация на Astro

Файлът website/astro.config.mjs дефинира:

  • site: https://dictaro.ai — използва се за генериране на sitemap и canonical URLs
  • Vite plugins: Tailwind CSS 4 чрез @tailwindcss/vite
  • Integrations: @astrojs/sitemap за автоматичен sitemap.xml
  • i18n: 25 езика с prefixDefaultLocale: false (английският е без prefix)

Дизайн система

  • Primary цвят: #D95070 (розово-червен gradient)
  • Шрифтове: Inter (body), JetBrains Mono (code)
  • Теми: Light / Dark mode с data-theme атрибут
  • Стил: Glassmorphism навигация, gradient текст, card-based layout

Основни страници

СтраницаФайлОписание
Начална[...lang]/index.astroHero, Features, Demo, UseCases, Trust, Stats, Pricing, Download
Ценообразуване[...lang]/pricing.astroStandalone Pricing компонент (Free / Pro тарифи)
Изтегляне[...lang]/download.astroЛинкове за download (GitHub releases, Microsoft Store "Soon")
Поверителност[...lang]/privacy.astroPrivacy Policy
Условия[...lang]/terms.astroTerms of Service

Структура на проекта

website/
├── astro.config.mjs # Astro конфигурация
├── package.json # Dependencies
├── src/
│ ├── components/ # Astro компоненти (15 файла)
│ ├── i18n/ # Интернационализация
│ │ ├── locales.ts # 25 езика с кодове и имена
│ │ ├── translations.ts # Glob import на JSON файлове
│ │ ├── utils.ts # useTranslations, getLocalizedPath
│ │ └── translations/ # JSON файлове по език/namespace
│ ├── layouts/ # BaseLayout
│ ├── lib/ # Stripe API helper
│ └── pages/
│ └── [...lang]/ # Dynamic i18n routes (5 страници)
└── dist/ # Build output (gitignored)

Build процес

Ключови характеристики

  • Static Site Generation (SSG): Всички страници се генерират при build time, включително преводите за 25 езика
  • Build-time data fetching: Цените се взимат от Stripe API при build, не при runtime
  • Статистики от API: Компонентът Stats извиква pro.dictaro.ai/stats/public при build time
  • Zero JavaScript по подразбиране: Astro изпраща само необходимия JS (theme toggle, language switcher, billing toggle, demo tabs)