이 테마 컴포넌트는 Discourse Indented Subcategories를 대신하여 비추천(deprecated)되었습니다. 훨씬 더 간단하고 사용하기 쉬운 해당 테마로 전환해 주세요. 이 저장소는 더 이상 유지보수되지 않으며 2026년 2월 20일경에 아카이브 처리될 예정입니다.
이 간단한 테마 컴포넌트는 두 가지 방식으로 사용할 수 있습니다. 사이드바에서 들여쓰기(또는 중첩)할 카테고리 또는 하위 카테고리를 선택하는 방식이거나, 특정 카테고리 목록을 제외하고 모든 카테고리를 들여쓰기하도록 허용하는 방식입니다. 대부분의 사용자는 중첩된 모양을 보이도록 하위 카테고리만 들여쓰기를 원할 것입니다. 하지만 목록에 있는 카테고리 중 어떤 것이든 들여쓰기할 수 있습니다. 데스크톱 및 모바일 뷰, 그리고 헤더 드롭다운 메뉴에서도 작동합니다. 일부 코드에 도움을 주신 @dax님께 감사드립니다.
설정은 총 3가지가 있으며, 수행하려는 작업에 따라 첫 번째 설정만 사용하거나 두 번째와 세 번째 설정을 함께 사용해야 합니다.
설정
설명
indent only select categories
들여쓰기할 선택된 카테고리 또는 하위 카테고리 목록.
indent all categories except the following
아래 목록 설정에 포함된 카테고리를 제외하고 모든 카테고리를 들여쓰기하려면 이 설정을 활성화하세요. 위의 목록 설정은 비워 두어야 합니다.
서브서브카테고리(Sub-Sub-Categories)에서도 작동하도록 조정할 수 있는 방법이 있을까요?
즉, 2단계의 들여쓰기가 가능해지도록요.
예를 들어:
Learning이라는 카테고리가 있고, 그 안에 서브카테고리(Learning Tools & How To’s)가 있으며, 다시 그 안에 Games & Best Practices라는 서브서브카테고리가 있는 경우입니다.
(Learning - learning tools - games) & (Learning - How To’s - Best Practices)
눈은 직선이 아닌 것에 끌리기 마련입니다. 그래서 텍스트나 툴바 등에서 간격 등을 최대한 일정하게 유지하려고 합니다. 그런데 동시에 아이콘과 색상도 계속 변합니다. 메인 카테고리의 아이콘은 어떤 정보 가치를 지니지만, 나머지는 그렇지 않습니다. 이는 내비게이션을 더 쉽게 만드는 것이 아니라 오히려 방해합니다. 그리고 이러한 것들이 바로 서적이든 웹이든 깊은 중첩이 나쁜 아이디어인 주요 이유입니다. 게다가 귀중한 공간을 낭비하게 되고, 카테고리 이름도 더 이상 이름이 아닌 것이 되어버립니다.
만약 정말로 특정 주제가 방대해서 여러 개의 메인 카테고리와 적어도 그만큼의 하위 카테고리를 사용해야 하고, 그 아래에 수많은 하위-하위 카테고리까지 있는 경우(그리고 메인 및 1차 하위 카테고리는 다른 카테고리를 표시하는 헤더에 불과한 상태), 사이드바가 너무 길어져서 실제로 이를 사용할 사람이 하나도 없을 것입니다.
크게 소리 내어 말하고 싶지만, 이것은 로직 구조인 중괄호 { } 쌍을 표시하는 데 인텐트가 사용되는 CSS 스니펫과 완전히 똑같아 보입니다. 읽기 위해 설계된 것이 절대 아닙니다.
이 플러그인을 인스턴스에 설치했는데, 하위 카테고리들이 들여쓰기되지 않고 있습니다…
적어도 제가 그렇게 생각했었죠. '선택한 것을 제외한 모든 항목 들여쓰기’로 설정하고 목록은 비워두었습니다.
처음에는 모든 것, 카테고리까지도 들여쓰기되고 있다는 걸 깨닫지 못했습니다.
'모든 하위 카테고리 들여쓰기’라는 간단한 체크박스 옵션을 추가해서 업데이트해 주실 수 있을까요? 원하시면 제외 목록도 추가할 수 있지만, 제 사용 사례에서는 항상 하위 카테고리는 들여쓰기하고 카테고리는 절대 들여쓰기하지 않기를 원합니다.
부연설명으로, 제가 추가한 JS(공유할 수 있는 몇 가지 추가 수정 사항이 있습니다)는 임시 대안으로 작동합니다. 기본적으로 페이지 로드 시 하위 카테고리를 접어 두고, 체브론을 주입하여 사용자가 확장하거나 상위 항목으로 이동할 수 있게 합니다. 유일한 문제는 일부 상호작용 시 내비게이션이 완전히 다시 작성되므로, JS가 하위 카테고리를 접은 상태로 유지하기 위해 클래스를 다시 적용해야 한다는 점입니다(예: 상단의 햄버거 메뉴를 상호작용하거나 모바일에서 상호작용하는 경우).