Документирование пользовательских свойств

Недавно я делал это для темы, используя Claude-3.5, встроенный в Cursor, для генерации документации. Это сработало довольно хорошо, поэтому я захотел попробовать то же самое для основной кодовой базы Discourse.

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

@Codebase Сгенерируй полную таблицу ВСЕХ пользовательских CSS-свойств из кодовой базы Discourse. Включи каждое свойство из всех файлов и организов их в следующих категориях: Макет и размеры, Радиус границы, Навигация, Боковая панель, Элементы управления вводом, Чат, Типографика, Цвета темы, RGB-значения цветов. Для каждого свойства укажи его имя, описание, значение по умолчанию и исходный файл. Оберни имена свойств и значения по умолчанию в обратные кавычки. Не пропускай ни одного свойства, не задавай вопросов и не добавляй комментариев.

Макет и размеры

Имя свойства Описание Значение по умолчанию Исходный файл
--d-max-width Максимальная ширина контента 1110px desktop/discourse.scss
--topic-body-width Ширина тела темы 750px common/foundation/base.scss
--topic-body-width-padding Отступы для тела темы 20px common/foundation/base.scss
--topic-avatar-width Ширина аватара в темах 45px common/foundation/base.scss
--d-wrap-padding-h Горизонтальные отступы для контейнера обертки 0.67em common/base/discourse.scss

Радиус границы

Имя свойства Описание Значение по умолчанию Исходный файл
--d-border-radius Радиус границы по умолчанию 2px common/foundation/base.scss
--d-border-radius-large Большой радиус границы 2px common/foundation/base.scss
--d-nav-pill-border-radius Радиус границы для навигационных таблеток 2px common/foundation/base.scss
--d-button-border-radius Радиус границы для кнопок 2px common/foundation/base.scss
--d-input-border-radius Радиус границы для полей ввода 2px common/foundation/base.scss
--full-page-border-radius Радиус границы для полной страницы 12px plugins/chat/assets/stylesheets/common/base-common.scss

Навигация

Имя свойства Описание Значение по умолчанию Исходный файл
--d-nav-color Цвет текста навигации var(--primary) common/base/discourse.scss
--d-nav-bg-color Фон навигации transparent common/base/discourse.scss
--d-nav-color--hover Цвет текста при наведении на навигацию var(--primary) common/base/discourse.scss
--d-nav-bg-color--hover Фон при наведении на навигацию var(--d-hover) common/base/discourse.scss
--d-nav-color--active Цвет текста активной навигации var(--tertiary) common/base/discourse.scss
--d-nav-bg-color--active Фон активной навигации transparent common/base/discourse.scss
--d-nav-border-color--active Граница активной навигации var(--d-nav-color--active) common/base/discourse.scss
--d-nav-underline-height Высота подчеркивания навигации 0.125em common/base/discourse.scss

Боковая панель

Имя свойства Описание Значение по умолчанию Исходный файл
--d-sidebar-width Ширина боковой панели 17em common/base/sidebar.scss
--d-sidebar-row-horizontal-padding Горизонтальные отступы для строк 1rem common/base/sidebar.scss
--d-sidebar-row-height Высота строк боковой панели 2.2em common/base/sidebar.scss
--d-sidebar-animation-time Длительность анимации 0.25s common/base/sidebar.scss
--d-sidebar-animation-ease Плавность анимации ease-in-out common/base/sidebar.scss
--d-sidebar-background Цвет фона var(--secondary) common/base/sidebar.scss
--d-sidebar-admin-background Фон административной секции var(--primary-very-low) common/base/sidebar.scss
--d-sidebar-footer-fade Цвет затухания футера rgba(var(--secondary-rgb), 1) common/base/sidebar.scss
--d-sidebar-header-color Цвет текста заголовка var(--primary-medium) common/base/sidebar.scss
--d-sidebar-header-icon-color Цвет иконки заголовка var(--primary-medium) common/base/sidebar.scss
--d-sidebar-border-color Цвет границы var(--primary-low) common/base/sidebar.scss
--d-sidebar-link-color Цвет текста ссылки var(--primary-high) common/base/sidebar.scss
--d-sidebar-link-icon-color Цвет иконки ссылки var(--primary-500) common/base/sidebar.scss
--d-sidebar-link-badge-color Цвет бейджа ссылки var(--primary-700) common/base/sidebar.scss
--d-sidebar-prefix-background Цвет фона префикса var(--primary-low) common/base/sidebar.scss
--d-sidebar-prefix-color Цвет текста префикса var(--d-sidebar-link-color) common/base/sidebar.scss
--d-sidebar-suffix-color Цвет суффикса var(--tertiary-med-or-tertiary) common/base/sidebar.scss

Элементы управления вводом

Имя свойства Описание Значение по умолчанию Исходный файл
--d-input-bg-color Цвет фона поля ввода var(--secondary) common/base/discourse.scss
--d-input-text-color Цвет текста поля ввода var(--primary) common/base/discourse.scss
--d-input-border Стиль границы поля ввода 1px solid var(--primary-400) common/base/discourse.scss
--d-input-bg-color--disabled Фон отключенного поля ввода var(--primary-very-low) common/base/discourse.scss
--d-input-text-color--disabled Цвет текста отключенного поля ввода var(--primary-medium) common/base/discourse.scss
--d-input-border--disabled Граница отключенного поля ввода 1px solid var(--primary-low) common/base/discourse.scss

Чат

Имя свойства Описание Значение по умолчанию Исходный файл
--message-left-width Левая ширина для сообщений 42px plugins/chat/assets/stylesheets/common/base-common.scss
--channel-list-avatar-size Размер аватаров в списке каналов 30px plugins/chat/assets/stylesheets/common/base-common.scss
--chat-header-offset Смещение заголовка чата 45px plugins/chat/assets/stylesheets/common/base-common.scss
--chat-header-expanded-offset Смещение развернутого заголовка чата 0px plugins/chat/assets/stylesheets/common/base-common.scss

Типографика

Имя свойства Описание Значение по умолчанию Исходный файл
--d-font-family--monospace Шрифтовой стек моноширинного шрифта ui-monospace, "Cascadia Mono", "Segoe UI Mono", "Liberation Mono", menlo, monaco, consolas, monospace common/foundation/base.scss
--heading-font-family Семейство шрифтов для заголовков Ссылается в коде common/base/discourse.scss
--font-family Базовое семейство шрифтов Ссылается в коде common/base/discourse.scss
--line-height-small Маленькая высота строки Ссылается в коде common/base/_topic-list.scss
--line-height-medium Средняя высота строки Ссылается в коде common/base/_topic-list.scss
--line-height-large Большая высота строки Ссылается в коде common/base/_topic-list.scss

Цвета темы

Имя свойства Описание Значение по умолчанию Исходный файл
--primary Основной цвет #222222 color_definitions.scss
--secondary Вторичный цвет #ffffff color_definitions.scss
--tertiary Третичный цвет #0088cc color_definitions.scss
--quaternary Четвертичный цвет #e45735 color_definitions.scss
--header_background Цвет фона заголовка #ffffff color_definitions.scss
--header_primary Основной цвет заголовка #222222 color_definitions.scss
--highlight Цвет выделения #ffff4d color_definitions.scss
--danger Цвет опасности/ошибки #e45735 color_definitions.scss
--success Цвет успеха #009900 color_definitions.scss
--love Цвет любви/сердца #fa6c8d color_definitions.scss
--d-selected Цвет выбранного состояния #e9e9e9 color_definitions.scss
--d-hover Цвет состояния наведения #f2f2f2 color_definitions.scss

RGB-значения цветов

Имя свойства Описание Значение по умолчанию Исходный файл
--always-black-rgb Черный цвет в RGB 0, 0, 0 color_definitions.scss
--primary-rgb Основной цвет в RGB 34, 34, 34 color_definitions.scss
--primary-low-rgb Низкий основной цвет в RGB 242, 242, 242 color_definitions.scss
--primary-very-low-rgb Очень низкий основной цвет в RGB 248, 248, 248 color_definitions.scss
--secondary-rgb Вторичный цвет в RGB 255, 255, 255 color_definitions.scss
--header_background-rgb Фон заголовка в RGB 255, 255, 255 color_definitions.scss
--tertiary-rgb Третичный цвет в RGB 0, 136, 204 color_definitions.scss
--highlight-rgb Цвет выделения в RGB 255, 255, 77 color_definitions.scss
--success-rgb Цвет успеха в RGB 0, 153, 0 color_definitions.scss

Выглядит отлично! Я уже вижу несколько вещей, которые смогу использовать в своей теме.

Это довольно круто и очень полезно. Спасибо!

:beers: :sunglasses: :+1: :sparkles: