사용자 정의 속성 문서화

최근에 테마 작업에서 이 방법을 사용해 보았습니다. Cursor에 내장된 Claude-3.5를 통해 문서를 생성하도록 프롬프트를 입력했는데, 꽤 잘 작동해서 Discourse 코어 코드베이스에도 적용해 보고자 합니다.

컨텍스트를 .scss 파일로 제한했지만, 컨텍스트 한계에 부딪히며 모델이 실제로 모든 속성을 포함하는 것을 주저하는 경향이 있습니다. 그래서 공유해 봅니다. 더 나은 프롬프트나 접근 방식이 있는 분이 계신지 궁금합니다.

@Codebase Discourse 코드베이스의 모든 사용자 정의 CSS 속성에 대한 완전한 표를 생성하세요. 모든 파일의 모든 속성을 포함하고 다음 범주로 분류하세요: 레이아웃 및 치수, 테두리 반경, 내비게이션, 사이드바, 입력 컨트롤, 채팅, 타이포그래피, 테마 색상, 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: