여기에 외부 링크를 사용할 수 있나요? 그리고 새 탭으로 열려면 _blank를 사용해야 하나요?
카테고리에 대한 간단한 설명을 선택적으로 추가할 수 있습니다.
## 외부 테스트
* Google: https://google.com
## 첫 번째 섹션
* https://discourse.example.com/t/topic-title/12
* https://discourse.example.com/t/another-topic-title/34
* 짧은 제목: https://discourse.example.com/t/topic-with-a-long-title/56
* 다른 제목: https://discourse.example.com/t/another-topic-with-a-long-title/78
## 두 번째 섹션
* 주제 제목: https://discourse.example.com/t/documentation-topic/98
* https://discourse.example.com/t/new-topic/76
이 파일을 열면 중요한 버전 호환성 안내를 확인할 수 있습니다. 일부는 설명 부분에 해당 정보가 포함되어 있을 수도 있습니다. 예를 들어 Category Moderators enhance 플러그인은 안정 버전(stable branch)만 지원한다는 면책 조항이 있습니다.
Pavilion은 추가 기능을 업데이트할 시간을 확보하기 위해 권장하는 Discourse 업데이트 주기를 제공합니다.
이 플러그인이 실제로 무엇을 하는지, 저처럼 혼란스러워할 수 있는 다른 분들을 위해 간단히 설명해 보겠습니다.
다양한 설정과 인덱스 토픽 등 때문에 무엇을 할 수 있는지, 어떻게 사용해야 하는지 이해하는 것 자체가 부담스러울 수 있습니다. 적어도 저는 이 플러그인의 작동 방식을 이해할 수 있는 방법을 찾아내기 전까지는 다소 혼란스러웠습니다(제가 놓친 부분이 있다면 자유롭게 공유해 주세요).
결국 제가 이해한 방식은 이렇습니다. 원하는 대로 카테고리를 생성한 후, 이 플러그인이 기본 사이드바(카테고리, 태그 등 섹션이 있는)를 제거하고, 그 대신 섹션 목록과 그 안의 토픽, 카테고리, 외부 링크 등으로 구성된 목록으로 교체한다는 것입니다. 이렇게 보면 이해하기가 훨씬 쉽습니다. 이는 특정 카테고리를 방문했을 때 사이드바를 커스터마이징하는 데 초점을 맞춘 기능입니다. 예를 들어, A 카테고리를 방문하면 인덱스 토픽에서 제공되는 해당 커스텀 사이드바로 기본 사이드바를 교체하는 것과 같습니다. 아주 단순합니다.
선택지가 많지 않거나, 아예 선택지가 없다고 봐도 무방할 정도입니다. 모바일 기기에 공간이 충분하지 않기 때문입니다.
이것이 제가 문서를 완전히 포기하는 것을 고려하는 이유 중 하나입니다. 제 사용자의 약 95%가 모바일을 사용하며, 사이드바를 거의 사용하지 않거나 아예 사용하지 않습니다. 따라서 문서 메뉴를 정리하는 데 상당한 시간이 소요되는데, 시간 대비 효과가 균형 잡혀 있다고 생각되지 않습니다
자, 이 토론 전체를 읽어보았고 몇 가지 질문이 있습니다. 이 페이지의 구조가 이 페이지에 의해 생성된다는 것은 이해합니다. 그런데 하위 카테고리 각각에도 인덱스 페이지가 필요한 건가요? 이 페이지의 인덱스는 엄청나게 클 텐데… 또는 다른 많은 아티클이 있는 카테고리들도 마찬가지일 것입니다.
Discourse 사이트의 문서에 속하는 페이지에 대해 xwiki 스타일의 레이아웃을 구현하는 것이 얼마나 어려운 일일까요? UI는 충분히 단순합니다. 페이지 생성 시 이 페이지가 문서임을 나타내는 상자를 체크하면 됩니다. 그러면 단순히 부모 페이지를 묻습니다. 부모가 없으면 최상위 주제입니다. 부모를 설정하면 해당 주제/카테고리 아래에 페이지가 표시됩니다. 이는 인덱스 페이지를 수동으로 유지 관리해야 하는 요구 사항을 완전히 제거합니다. 인덱스 페이지는 필요하지 않을 것 같은 많은 추가 작업처럼 보이며, 항목이 생성될 때 누락하기 쉽습니다.
https://checkin.technospider.com 에 접속하여 사이드바의 일부 항목을 펼치면 실제 사례에서 네스팅이 어떻게 작동하는지 볼 수 있습니다. 이 사이드바 전체는 단순히 페이지를 다른 페이지 아래에 중첩(부모/자식 관계)함으로써 동적으로 생성됩니다. 이 사이트에는 약 150개의 페이지만 있지만, 모든 것을 만들기 위해 인덱스를 만들어야 했다면 완료하는 데 두 배의 시간이 걸렸을 것입니다.
이것은 Docs 사이드바의 레이아웃과 관련된 UI/UX 문제로 이어집니다. 메인 페이지에서 벗어나 클릭하면 초기 카테고리 목록을 잃어버립니다. 페이지 어딘가에 돌아갈 수 있는 방법이 있어야 합니다.
8개의 주요 영역 각각에Disclosure 삼각형이 있어야 합니다. 이렇게 하면 메인 페이지의 상자를 클릭하든, 사이드바의 이름을 클릭하든, 단순히 접이식 메뉴가 펼쳐져 다른 주요 영역을 직접 클릭할 수 있는 기능이 유지됩니다.
각 엔드 아티클에는 브레드크럼이 있지만, 8개의 카테고리에는 그것조차 없습니다. 페이지 상단의 하위 카테고리에서 '필터 제거’를 클릭하면 돌아가지만, 이는 매우 직관적이지 않습니다. 그리고 필터를 조작하면 몇 가지 이상한 일이 발생할 수 있습니다. 예를 들어, '하위 카테고리 없음’을 클릭하면 멋진 녹색 배너가 사라집니다.
이 플러그인을 사용하는 셀프 호스터의 경우, 최신 업데이트를 적용하려면 인덱스를 수동으로 다시 빌드해야 합니다. 이를 위해 다음 rake 작업을 실행해야 합니다:
bundle exec rake doc_categories:build_sidebar
# 위의 작업 실행 시 NoDatabaseError로 실패할 경우,
# 일반적인 셀프 호스팅 환경에서는 다음 명령을 실행하세요.
sudo -E -u discourse bundle exec rake doc_categories:build_sidebar
이 rake 작업을 실행할 수 없는 경우, 각 문서 범주의 설정으로 이동하여 범주 인덱스를 제거한 후 저장하고, 다시 추가한 뒤 저장할 수 있습니다. 이렇게 하면 인덱스가 다시 빌드되고 범주 캐시도 새로워집니다.
왜 이렇게 하는 것일까요?
이전에는 사이드바를 채워야 할 때 각 인덱스 주제를 실시간으로 파싱하고 캐싱했습니다. 이번 업데이트를 통해 기존 인덱스가 주제(topic) 대신 데이터베이스로 백업되도록 변경되었습니다. 이를 통해 인덱스 구성 UX를 개선하는 방법에 대해 더 많은 옵션을 고려할 수 있게 되었습니다.