Hexlet / hexlet-sicp

Hexlet SICP
https://sicp.hexlet.io
GNU Affero General Public License v3.0
105 stars 134 forks source link

add component for language markup #1623

Closed DmitriySmolin closed 6 months ago

DmitriySmolin commented 6 months ago

Pull request details

Issues fixed

https://github.com/Hexlet/hexlet-sicp/issues/1392

Link to demo

https://hexlet-sicp-wums.onrender.com/ru

fey commented 6 months ago

@DmitriySmolin задеплойте, пожалуйста, демку на Render

DmitriySmolin commented 6 months ago

@fey демка задеплоена на render https://hexlet-sicp-wums.onrender.com/ru

fey commented 6 months ago
  1. каким редактором пользуетесь? У вас в ПРе исправления отступов в шаблонах - много шумных изменений. Можете их откатить? В проекте есть команда для преттира, которая фиксит отступы (проверьте по ней отступы) 2) Можете словами описать что сейчас делает миддлвара? 3) Кажется генерировать HTML самой мидлваре и менять html - это не тот способ, который нам нужен.

Можем начать с конца. Наша задача в чем? Сформировать HTML, он формируется в шаблонах. Можно сделать компонент шаблона, в котором будет нужная логика и выводить этот компонент. Сам компонент может принимать текущую локаль (или брать из приложения).

fey commented 6 months ago

https://laravel.com/docs/11.x/blade#components https://laravel.com/docs/11.x/blade#passing-data-to-components

DmitriySmolin commented 6 months ago
  1. PHP Storm использую. Очень странно что с отступами так произошло, я долго не мог запушить свои коммиты, несколько раз подряд прогонял через make lint-fix
  2. миддлвара фомирует и рендерит в зависимости от выбранной локали языковые теги HTML. Локаль берется из приложения. В соответстви с этим:

Для https://sicp.hexlet.io/ru. Набор тегов:

link rel="alternate" hreflang="en" href="https://sicp.hexlet.io/" link rel="alternate" hreflang="x-default" href="https://sicp.hexlet.io/"

Для https://sicp.hexlet.io/chapters. Набор тегов:

link rel="alternate" hreflang="ru" href="https://sicp.hexlet.io/ru/chapters" link rel="alternate" hreflang="x-default" href="https://sicp.hexlet.io/chapters"

  1. Понятно, я предложил свое видение решения через middleware. Почитаю про компоненты