Skip to content

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

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

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

Conversation

@vitya-ne

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

Copy link
Copy Markdown
Contributor

Удаляет пакет 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" показывает ссылки на спеку фичи;
  • показ состояния загрузки данных;

@nasty23-star nasty23-star left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

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

@igsekor igsekor left a comment

Copy link
Copy Markdown
Member

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

furtivite commented Oct 3, 2025

Copy link
Copy Markdown
Member

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

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

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

@vitya-ne

vitya-ne commented Oct 3, 2025

Copy link
Copy Markdown
Contributor Author

@igsekor, привет

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

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

@vitya-ne

vitya-ne commented Oct 3, 2025

Copy link
Copy Markdown
Contributor Author

@furtivite, привет

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

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

@vitya-ne

vitya-ne commented Oct 3, 2025

Copy link
Copy Markdown
Contributor Author

@igsekor

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

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

@vitya-ne

vitya-ne commented Oct 3, 2025

Copy link
Copy Markdown
Contributor Author

@igsekor

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

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

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

@igsekor

igsekor commented Oct 3, 2025

Copy link
Copy Markdown
Member

@igsekor

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

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

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

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

Screenshot 2025-10-03 at 19 26 24

@igsekor

igsekor commented Oct 3, 2025

Copy link
Copy Markdown
Member

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

@vitya-ne

vitya-ne commented Oct 3, 2025

Copy link
Copy Markdown
Contributor Author

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

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

@vitya-ne

vitya-ne commented Oct 4, 2025

Copy link
Copy Markdown
Contributor Author

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

StarHamster

This comment was marked as resolved.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

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

Copy link
Copy Markdown
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
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

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

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

@vitya-ne vitya-ne Oct 7, 2025

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

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

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

@monochromer monochromer Oct 7, 2025

Copy link
Copy Markdown
Contributor

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
Copy Markdown
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
Copy Markdown
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
Copy Markdown
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

vitya-ne commented Oct 7, 2025

Copy link
Copy Markdown
Contributor Author

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

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

@vitya-ne

vitya-ne commented Oct 7, 2025

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

@StarHamster

Copy link
Copy Markdown

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

image

@vitya-ne

vitya-ne commented Oct 9, 2025

Copy link
Copy Markdown
Contributor Author

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

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

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

@vitya-ne

vitya-ne commented Oct 9, 2025

Copy link
Copy Markdown
Contributor Author

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

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

@StarHamster

Copy link
Copy Markdown

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

image

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

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

@vitya-ne

vitya-ne commented Oct 9, 2025

Copy link
Copy Markdown
Contributor Author

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

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

@skorobaeus

Copy link
Copy Markdown
Member

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

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

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

@vitya-ne

Copy link
Copy Markdown
Contributor Author

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

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

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

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

@vitya-ne

vitya-ne commented Jan 16, 2026

Copy link
Copy Markdown
Contributor Author

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

@github-actions

Copy link
Copy Markdown

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

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

@igsekor igsekor left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

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

@vitya-ne

Copy link
Copy Markdown
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

igsekor commented Jan 31, 2026

Copy link
Copy Markdown
Member

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

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

@vitya-ne

Copy link
Copy Markdown
Contributor Author

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

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

@igsekor

igsekor commented Feb 1, 2026

Copy link
Copy Markdown
Member

Вопрос не совсем в синтаксисе, а в том как именно проверять фичи: делать доп. запрос или использовать данные 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