Skip to content

Comments

Добавляет новый baseline#1336

Open
vitya-ne wants to merge 16 commits intodoka-guide:mainfrom
vitya-ne:new-baseline
Open

Добавляет новый baseline#1336
vitya-ne wants to merge 16 commits intodoka-guide:mainfrom
vitya-ne:new-baseline

Conversation

@vitya-ne
Copy link
Contributor

@vitya-ne vitya-ne commented Sep 27, 2025

Удаляет пакет web-features, содержащего базу baseline и нуждающегося в переодическом обновлении.
Добавляет веб-компонент <doka-baseline>:

<doka-baseline groupid="light-dark"></doka-baseline>

Репозиторий веб-компонента: https://github.com/vitya-ne/doka-baseline

image image

Особенности:

  • перенос плашки в начало доки;
  • русификация;
  • показ версий браузеров при переходе к details;
  • показ даты с которого фича находится в статусе newly или widly;
  • при использовании параметра showFeatLink="true" показывает ссылку на страницу https://web-platform-dx.github.io c подробной информацией о фиче;
  • при использовании параметра showSpecLinks="true" показывает ссылки на спеку фичи;
  • показ состояния загрузки данных;

Copy link

@nasty23-star nasty23-star left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Большое спасибо! этого очень не хватало<3

Copy link
Member

@igsekor igsekor left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@vitya-ne очень круто ❤️

Но есть нюансы...

  1. Мы с самого начала все скрипты хранили в scripts, именно поэтому их не надо было отдельно подключать. Почему было выбрано решение поместить doka-baseline.js в отдельную папочку libs? Отсюда появились проблема с тем, что нарушена консистентность, и необходимость добавлять в .eleventy.js и meta.njk новые строки, хотя необходимости в этом не было.
  2. Кажется хорошо бы добавить отступ снизу, чтобы было совсем хорошо:
Screenshot 2025-10-03 at 11 43 23

@furtivite
Copy link
Member

furtivite commented Oct 3, 2025

@vitya-ne очень круто ❤️

  1. Кажется хорошо бы добавить отступ снизу, чтобы было совсем хорошо:
Screenshot 2025-10-03 at 11 43 23

А может попробовать две ссылки внизу в одну строку поместить, будет немного компактнее?

@vitya-ne
Copy link
Contributor Author

vitya-ne commented Oct 3, 2025

@igsekor, привет

Почему было выбрано решение поместить `doka-baseline.js` в отдельную папочку `libs`? Отсюда появились проблема с тем, что нарушена консистентность, и необходимость добавлять в `.eleventy.js` и `meta.njk` новые строки, хотя необходимости в этом не было.

Я сомневался куда лучше положить веб-компонент. Нет проблем, перенесу в scripts

@vitya-ne
Copy link
Contributor Author

vitya-ne commented Oct 3, 2025

@furtivite, привет

А может попробовать две ссылки внизу в одну строку поместить, будет немного компактнее?

Да, можно попробовать, перенесу.

@vitya-ne
Copy link
Contributor Author

vitya-ne commented Oct 3, 2025

@igsekor

2. Кажется хорошо бы добавить отступ снизу, чтобы было совсем хорошо:

Спасибо, исправлю. Вроде я это фиксил. Проверю

@vitya-ne
Copy link
Contributor Author

vitya-ne commented Oct 3, 2025

@igsekor

  1. Кажется хорошо бы добавить отступ снизу, чтобы было совсем хорошо:

Спасибо, исправлю. Вроде я это фиксил. Проверю

Не могу поймать проблему нижнего отступа. У тебя точно обновлённая версия пиара ?
Странно, что на твоём скриншоте нет версий браузеров.
У меня вот так:
image

@igsekor
Copy link
Member

igsekor commented Oct 3, 2025

@igsekor

  1. Кажется хорошо бы добавить отступ снизу, чтобы было совсем хорошо:

Спасибо, исправлю. Вроде я это фиксил. Проверю

Не могу поймать проблему нижнего отступа. У тебя точно обновлённая версия пиара ? Странно, что на твоём скриншоте нет версий браузеров. У меня вот так: image

Обновил ещё раз и проверил. Действительно всё ок. Ты молодец! Хорошо получилось! ❤️

Screenshot 2025-10-03 at 19 26 24

@igsekor
Copy link
Member

igsekor commented Oct 3, 2025

А чем «Подробнее» от «Спецификация» отличаются? Надо бы, наверное, более точно назвать, как думаешь? Нет ли тут неоднозначности? А может быть и нет.... Не знаю, но сомнения есть. Что скажете? @solarrust @skorobaeus @TatianaFokina @HellSquirrel

@vitya-ne
Copy link
Contributor Author

vitya-ne commented Oct 3, 2025

А чем «Подробнее» от «Спецификация» отличаются? Надо бы, наверное, более точно назвать, как думаешь?

'Подробнее' - это ссылка на страницу Web platform features explorer. Тоесть там подробности как фича выглядет с точки зрения baseline
'Спецификация' - это ссылка на спеку.

@vitya-ne
Copy link
Contributor Author

vitya-ne commented Oct 4, 2025

@igsekor Я перенёс веб-компонент в папку src/scripts/web-components

StarHamster

This comment was marked as resolved.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Не стоит хранить минифицированную версию в репозитории. Тут нужны либо полные исходники, либо выносить оригинальный код в npm-пакет.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Возможно это именно то, что меня долго тормозило на старте - непонимание как "правильно" веб-компонент должен подключаться к платформе.

  • Полные исходники - не уверен, кто-то (что-то) же должно минимизировать код выполняющийся на стороне клиента.
  • npm-пакет - возможно, но хотелось бы сначала понимать, что код компонента готов, заапрувлен и его не нужно менять через день )

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

кто-то (что-то) же должно минимизировать код выполняющийся на стороне клиента.

Для этого есть бандлер

Copy link
Contributor Author

@vitya-ne vitya-ne Oct 7, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Для этого есть бандлер

ок. добавлю исходник )

Copy link
Contributor

@monochromer monochromer Oct 7, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

В самом начале файла есть минифицированный код, как полагаю, для Lit. В идеале нужно поставить его как зависимость и импортировать:

import { LitElement } from 'lit';

Это нужно для того, чтобы бандлер смог включить лишь одну версию Lit, если его захочется использовать его где-то ещё.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

да это Lit.
Звучит разумно, но не знаю как это осуществить. Сборка компонента делается рекомендованным конфигом Lit.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

вот мои импорты из Lit:
image

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@monochromer Вроде получилось, спасибо за комент

@vitya-ne
Copy link
Contributor Author

vitya-ne commented Oct 7, 2025

Но мне кажется, что стрелочки не хватает, которая подскажет, что виджет можно развернуть

Привет,
ок добавлю, хотя мне эта стрелочка не нравится, потому что "обманывет" мои ожидания: надеешься увидеть что-то полезное, а там всего-то очевидный текст.

@vitya-ne
Copy link
Contributor Author

vitya-ne commented Oct 7, 2025

  • Добавил иконку экспандера; @StarHamster
  • Добавил резервирование места; @StarHamster
  • Изменил формат файла веб-компонента; @monochromer
    поглядите, плиз

@StarHamster
Copy link

А почему их два?

image

@vitya-ne
Copy link
Contributor Author

vitya-ne commented Oct 9, 2025

А почему их два?

В этой доке такой конфиг:
image

две группы -> две плашки

@vitya-ne
Copy link
Contributor Author

vitya-ne commented Oct 9, 2025

А почему их два?

Могу добавить показ имени группы в каждой плашке если их несколько

@StarHamster
Copy link

В MDN просто звёздочку лепят, мол, может не всё поддерживаться

image

Думаю, можно призвать @skorobaeus, чтобы обсудить, как оно лучше будет выглядеть

P.S. Кстати, скрин MDN с той же статьи align-self. У них и у Доки даты не совпадают. Я не понимаю, почему так(

@vitya-ne
Copy link
Contributor Author

vitya-ne commented Oct 9, 2025

В MDN просто звёздочку лепят, мол, может не всё поддерживаться
P.S. Кстати, скрин MDN с той же статьи align-self. У них и у Доки даты не совпадают. Я не понимаю, почему так(

Данные которые отдаёт запрос, используемый в веб-компоненте - это только данные по группе, а не по фичи в группе.
MDN тянет какие-то доп. данные.

@skorobaeus
Copy link
Member

А почему их два?

Могу добавить показ имени группы в каждой плашке если их несколько

Я думаю, стоит попробовать. Две одинаковые плашки кофузят :)

@vitya-ne
Copy link
Contributor Author

А почему их два?

Могу добавить показ имени группы в каждой плашке если их несколько

Я думаю, стоит попробовать. Две одинаковые плашки кофузят :)

@skorobaeus @StarHamster
Добавил показ имён при условии что в конфиге несколько групп:
image

@vitya-ne
Copy link
Contributor Author

vitya-ne commented Jan 16, 2026

@igsekor @StarHamster Я учёл все (надеюсь) пожелания. Было бы здорово если бы вы посмотрели, на то как это выглядит сейчас и дали свой вердикт

@github-actions
Copy link

Превью контента из b3d428c опубликовано.

@igsekor igsekor self-requested a review January 29, 2026 11:32
Copy link
Member

@igsekor igsekor left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Кажется, стало совсем здорово! Витя, ты молодец!

@vitya-ne
Copy link
Contributor Author

@furtivite @igsekor @StarHamster @solarrust

Проблема

Основной недостаток нового подхода: <doka-baseline> использует только информацию о группе фичи (ID).

Например:

<doka-baseline groupid="light-dark"></doka-baseline>

На web-platform-dx/web-features для light-dark простой конфиг: CSS-свойство === group id.

Но для многих CSS-свойств, это совсем не так. Яркий пример Anchor positioning:
Полностью поддержки нет нигде, но очень многие отдельные свойства поддерживает Chrome и чуть меньшее кол-во Firefox: сложный конфиг

Тоесть для точности (см. MDN) нужно иметь возможность передать не только groupid но и список свойств описываемых в доке:
Пример доки: anchor-size()
Конфиг из статьи:

baseline:
  - group: anchor-positioning
    features:
      - css.properties.width.anchor-size
      - css.properties.height.anchor-size
      - css.properties.inline-size.anchor-size
      - css.properties.block-size.anchor-size

Предложение

  1. можно доработать виджет, добавив запрос к файлу конфига: https://github.com/web-platform-dx/web-features/blob/main/features/ID.yml.dist и парсить в нём информацию о необходимых свойствах и поддержке.
  2. оставить пакет web-features (MDN тоже его использует) и подтягивать данные о свойствах оттуда. Тогда можно передавать в виджет флаги поддержки требуемых свойств. Это потребует регулярного обновления пакета в платформе.

Вопрос: Как вы считаете, что лучше ?

@igsekor
Copy link
Member

igsekor commented Jan 31, 2026

Вопрос: Как вы считаете, что лучше ?

Может быть сделать отдельный атрибут features для обозначения списка всех фич, которые нужно поддержать? Можно указывать, например, через ;, как это сделано для атрибута style.

@vitya-ne
Copy link
Contributor Author

Может быть сделать отдельный атрибут features для обозначения списка всех фич, которые нужно поддержать? Можно указывать, например, через ;, как это сделано для атрибута style.

Вопрос не совсем в синтаксисе, а в том как именно проверять фичи: делать доп. запрос или использовать данные web-features.

@igsekor
Copy link
Member

igsekor commented Feb 1, 2026

Вопрос не совсем в синтаксисе, а в том как именно проверять фичи: делать доп. запрос или использовать данные web-features.

Ну если вопрос в этом, то предлагаю всё таки подгружать данные дополнительным запросом на этапе сборки.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants