Discourse 영구 배너

:information_source: 요약 관리자만 숨길 수 있는 영구 배너가 모든 페이지 상단에 표시됩니다.
:eyeglasses: 미리보기 Theme Creator
:hammer_and_wrench: 저장소 GitHub - NateDhaliwal/discourse-persistent-banner: A theme component for Discourse that cannot be closed by the user. · GitHub
:question: 설치 가이드 테마 또는 테마 컴포넌트 설치 방법
:open_book: Discourse 테마를 처음 사용하시나요? Discourse 테마 사용 입문 가이드

이 테마 컴포넌트 설치

이 컴포넌트는 모든 페이지 상단에 배너를 표시합니다. 모든 유효한 CSS 색상을 사용할 수 있습니다. discourse 테마 변수를 사용하려는 경우, var()로 감싸야 합니다. 예를 들어 var(--tertiary-very-low)와 같은 형태가 됩니다.


배너를 제어하는 7가지 설정이 있습니다.

  1. banner_background_color는 배너의 배경색을 변경합니다.
  2. banner_text_color는 배너의 텍스트 색상을 변경합니다.
  3. banner_border_color는 배너의 테두리 색상을 변경합니다.
  4. banner_border_thickness는 배너의 테두리 두께를 변경합니다.
  5. banner_text_content는 배너의 텍스트를 변경합니다. 텍스트가 1줄보다 길면 배너 내에서 줄바꿈됩니다.
  6. banner_visible은 배너의 가시성을 변경합니다. show는 배너를 표시하고, hide는 배너를 숨깁니다.
  7. banner_location은 배너를 다음 4개의 아웃렛 중 하나에 배치합니다: above-site-header, below-site-header, above-main-container, before-topic-list.

파일 정리를 도와주신 @Lilly님께 감사드립니다!

4개의 좋아요

이것은 테마의 “알림 배너” 컴포넌트와 매우 비슷하다고 생각하며, 커스터마이징 옵션이 더 많습니다.

2개의 좋아요

네, 하지만 이렇게 해야 배너가 그대로 유지됩니다(배너를 닫은 뒤 다시 표시하는 방법에 대해 질문하시는 분들이 있었거든요).

2개의 좋아요

잘하셨네요, 네이트. :clap: :slight_smile:
단순함이 좋습니다.

테마 제작자 미리보기가 작동하지 않는 것 같습니다. :thinking:

고려해 볼 몇 가지 제안입니다:

  • 데스크톱 모드에서 배치에 문제가 있는데, 특히 와이드/전체 화면을 사용할 때 그렇습니다.

  • 테두리 크기와 색상을 제어할 수 있으면 좋겠습니다.

  • below-site-header나 above-main-containter와 같은 다른 플러그인 아웃렛으로 배치를 선택할 수 있는 옵션이 있으면 어떨까요?

  • 색상 선택에 대한 열거형(enum) 목록과 텍스트 입력의 사용은 편리하지만, 다크/라이트 모드와 호환되는 팔레트 변수를 사용하거나 16진 색상 값으로 더 세밀하게 조절하려는 관리자의 자유도를 제한하기도 합니다.

  • 배너 문자열 텍스트 입력 설정에 textarea: true 속성을 적용하는 것을 제안합니다. 그러면 사용자가 확장할 수 있는 여러 줄 텍스트 상자를 얻을 수 있습니다. 이렇게 하면 다음을 수행하기가 더 쉽습니다:

2개의 좋아요

배너의 배치를 조정해 보고 이 문제를 해결해 보겠습니다.

큰 문제는 아닐 것 같습니다. 이 기능을 추가하겠습니다.

알겠습니다. 이를 구현하는 방법에 대해 대략적인 아이디어가 있습니다.

이 기능도 구현할 수 있을 것 같습니다.

알겠습니다. 이 부분도 추가하겠습니다.

1개의 좋아요

@Lilly 확인차 여쭤봅니다. 이걸 settings.yml에 추가해야 하나요?

1개의 좋아요

네, 다재다능한 배너 컴포넌트에서 확인할 수 있습니다:

컴포넌트 설정에 반영됩니다:

2개의 좋아요

구현했습니다.

완료했습니다.

이제 16진 값(해시 기호 # 포함), 유효한 CSS 색상 또는 테마 변수(var(–var-name))를 사용할 수 있습니다.

이것도 완료했습니다.

수정된 것 같습니다. 사용자 측에서 테스트해 보실 수 있을까요?

2개의 좋아요

확실히 수정되었습니다. 잘하셨네요. :smiley: :discourse:

와이드스크린 데스크톱 뷰에서 찍은 스크린샷

3개의 좋아요

업데이트:
배너 텍스트가 비어 있는지 확인하는 if 문과 배너의 표시 여부를 .scss 파일로 이동시켜 .gjs 파일을 간소화했습니다.

2개의 좋아요