Релиз Astro 4.3: конфигурация доменов для i18n и больше контроля над HTML-файлами

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Разработчики генератора статических сайтов Astro выпустили версию 4.3. В ней появилась экспериментальная функция конфигурации доменов для i18n, добавили больше контроля над HTML-файлами, а изображения в Markdown теперь можно использовать без идентификатора относительных ссылок.

Основные нововведения Astro 4.3:

  • Для разных доменов или поддоменов можно настроить конфигурацию i18n. К примеру, для example.ru можно использовать русскоязычную версию сайта, а для example.com — англоязычную. Для доступа к функции необходимо активировать экспериментальный флаг i18nDomains и внести изменения в конфигурационный файл astro.config.mjs:

// astro.config.mjs
import {defineConfig} from "astro/config"

export default defineConfig({
    site: "https://example.com",
    output: "server", // required, with no prerendered pages
    adapter: node({
      mode: 'standalone',
    }),
    i18n: {
        defaultLocaLe: 'en',
        locales: ['en', 'es', 'pt_BR', 'pt', 'fr'],
        domains: {
            fr: "https://fr.example.com",
            es: "https://example.es"
        },
        routing: {
          prefixDefaultLocale: true,
        }
    },
    experimental: {
        i18nDomains: true
    },
})

Важно отметить, что функция не будет работать с предварительно созданными страницами. Для этого нужна возможность смены языка на стороне сервера.

  • Исправили использование изображений в Markdown без идентификатора относительных ссылок (./ или ../). Теперь можно использовать стандартный синтаксис. Такая конструкция больше не вызывает ошибку.

  • В build.format появилась опция preserve, которая даёт больше контроля при сборке проектов. Этот параметр конфигурации сгенерирует HTML-файлы точно так же, как они отображаются в исходной папке. К примеру src/pages/about.astro создаст /about.html, а src/pages/about/index.astro — /about/index.html.

  • Теперь Astro поддерживает экспорт из astro/types типа ComponentProps, который похож на React.ComponentProps или экспорт ComponentProps для Svelte.

---
import type { ComponentProps } from 'astro/types';
import Button from "./Button.astro";

type MyButtonProps = ComponentProps<typeof Button>;
---

Источник: https://habr.com/ru/news/791732/


Интересные статьи

Интересные статьи

Разработка и внедрение систем контроля и управления доступом остается одним из наиболее важных аспектов физической безопасности для большинства современных организаций. Согласно отчетам, глобальны...
Типичный смартфон состоит как минимум из трех различных компьютерных систем, каждая из которых обладает собственной операционной системой и обслуживается разными специалистами из нескольких областей и...
Автоматизированные системы должны быть рассчитаны для тотального контроля человеком, управлению подлежат все их функции. Метод тотального контроля(МТК6): I. Наблюдение как система выполняет операции I...
В статье описана практика использования low-code систем в enterprise. Часто сталкиваемся с мнением, что подобный класс систем не способен адресовать быстро растущие аппет...
Кто бы мог подумать, но кажется, пиратство в сфере музыки незаметно превращается из ключевой угрозы в обыкновенную «пугалку» для обывателей. Обсудим, так ли это на самом ...