캘린더 생성 및 관리

:bookmark: 이 가이드는 Calendar(및 Event) 플러그인을 사용하여 Discourse에서 달력을 생성하고 관리하는 방법을 설명합니다.

:person_raising_hand: 필요한 사용자 권한: 모든 사용자

달력은 커뮤니티 내에서 이벤트를 조직하고 표시할 수 있는 Discourse의 강력한 기능입니다. 이 가이드에서는 달력을 생성하고, 이벤트를 추가하며, 이를 효과적으로 관리하는 과정을 안내해 드립니다.

요약

  • Calendar 플러그인 활성화
  • 주제(Topic) 또는 카테고리에서 달력 생성
  • 달력에 이벤트 추가
  • 달력 옵션 및 설정 관리
  • 휴일 달력 기능 사용

Calendar 플러그인 활성화

달력을 생성하기 전에 Discourse 인스턴스에서 “Calendar (and Event)” 플러그인이 활성화되어 있는지 확인하십시오. 플러그인 활성화 및 관련 설정에 대한 자세한 내용은 Discourse Calendar and Event 플러그인 문서를 참조하십시오.

달력 생성

주제(Topic) 달력

주제에 달력을 내장하려면:

  1. 새 주제를 생성하거나 기존 주제의 첫 번째 게시물을 편집합니다.

  2. 다음 코드를 각기 다른 줄에 추가합니다:

    [calendar]
    [/calendar]
    
  3. 게시물을 게시하거나 업데이트합니다.


:information_source: 주 중 첫 번째 날짜는 기본적으로 월요일이지만, “calendar first day of week” 사이트 설정(옵션: 토요일, 일요일, 월요일)을 사용하여 설정할 수 있습니다.

카테고리 달력

카테고리 전체 달력을 생성하려면:

  1. /admin/site_settings/category/discourse_calendar?filter=plugin=discourse-calendar로 이동합니다.

  2. “calendar categories” 설정에 다음 형식으로 항목을 추가합니다:

    categoryId=123;tzPicker;defaultView=month
    
    • 123을(를) 카테고리 ID로 대체합니다(카테고리 URL에서 확인할 수 있음).
  3. 카테고리 ID를 “events calendar categories” 설정에 추가합니다.

  4. (선택 사항) "discourse post event allowed on groups"를 설정하여 어떤 그룹이 이벤트를 추가할 수 있는지를 제어합니다.

달력에 항목 추가

주제(Topic) 달력

주제 달력에 이벤트를 추가하려면:

  1. 달력이 포함된 주제에 답글을 작성합니다.
  2. 작성기 도구 모음의 ⊕ 옵션 메뉴를 열고 “날짜/시간 삽입” 기능을 사용하여 날짜 또는 날짜 범위를 추가합니다.
  3. 날짜 위에 설명을 추가합니다.
  4. 답글을 제출합니다.

주제를 새로 고침한 후 이벤트가 달력에 표시됩니다.

카테고리 달력

카테고리 달력에 이벤트를 추가하려면:

  1. 해당 카테고리에서 새 주제를 생성합니다.
  2. 작성기 도구 모음의 ⊕ 옵션 메뉴를 열고 "이벤트 생성"을 선택합니다.
  3. 이벤트 세부 정보를 입력하고 게시합니다.

이벤트가 카테고리 달력에 표시됩니다.

달력 옵션

다양한 옵션을 사용하여 달력을 사용자 정의할 수 있습니다:

옵션 예시 설명
주말 숨기기 weekends="false" 토요일과 일요일을 숨깁니다
특정 요일 숨기기 hiddenDays="1,2" 월요일과 화요일을 숨깁니다 (일요일~토요일은 0-6 사용)
기본 보기 설정 defaultView="month" 옵션: month, week, listNextYear
시간대 무시 fullDay="true" 모든 이벤트를 종일 이벤트로 취급합니다

사용 예시:

[calendar weekends="false" hiddenDays="1,2" defaultView="week" fullDay="true"]
[/calendar]

달력 항목 제거

달력 항목은 다음 방법으로 제거할 수 있습니다:

  • 만료된 달력 항목은 “delete expired event posts after” 설정을 사용하여 자동으로 제거할 수 있습니다.
  • 주제 타이머를 사용하여 답글을 자동 삭제합니다.
  • 필요할 때 게시물을 수동으로 삭제합니다.

휴일 달력

휴일 달력은 사이트 스태프의 휴가를 관리하기 위한 특수 기능입니다:

  1. 첫 번째 게시물에 달력이 포함된 주제를 생성합니다.
  2. "holiday calendar topic id"를 이 주제의 ID로 설정합니다.
  3. 이 주제에 대한 답글은 게시한 사용자의 휴가 기간으로 처리됩니다.
  4. 달력에 표시되려면 각 답글에는 작성기 ⊕ 옵션 메뉴의 “날짜/시간 삽입” 기능을 통해 추가된 날짜/시간 타임스탬프가 포함되어야 합니다.
  5. 휴가 항목은 자동으로 무작위로 색상 지정됩니다.
  6. 휴가 중인 사용자의 사용자 카드 및 @멘션 옆에 이모지(기본값: :date:)가 표시됩니다.
  7. (선택 사항) "calendar automatic holidays enabled"를 활성화하여 사용자의 로케일별 공휴일을 포함할 수 있습니다.

자주 묻는 질문(FAQ)

Q: 왜 일부 이벤트가 여러 날에 걸쳐 표시되는 것 같나요?
A: 달력은 항상 UTC로 표시됩니다. 시간대 차이를 조정하려면 “all day event start time” 및 “all day event end time” 설정을 사용하십시오.

Q: 달력 항목의 색상을 제어할 수 있나요?
A: 카테고리 달력과 예정된 이벤트의 경우, “map events to color” 사이트 설정을 사용하여 태그 또는 카테고리별로 색상을 지정할 수 있습니다. 휴일 달력 항목은 자동으로 무작위로 색상 지정되며 사용자 정의할 수 없습니다.

Q: 과거 이벤트를 목록 보기로 표시하는 방법은 무엇인가요?
A: 현재 defaultView=listNextYear를 사용할 때 초기 보기가 비어 있는 버그가 있습니다. 임시 조치로, 사용자는 월간 보기로 전환한 후 한 달 전으로 돌아가고, 다시 목록 보기로 전환하여 과거 이벤트를 확인해야 합니다.

추가 자료

11개의 좋아요

카테고리에 표시되도록 캘린더를 만드는 방법과, 생성된 후 어떻게 데이터를 채워 넣는지 이해하기가 어렵습니다. 주제(Topics)의 경우 꽤 직관적인데, 카테고리 경우에는 훨씬 복잡하게 느껴집니다. 혹시 예시를 알려주실 수 있을까요?

카테고리 캘린더 생성

_토픽 캘린더_와 _카테고리 캘린더_의 차이는 전자가 특정 토픽 응답에서 add date를 사용하고 캘린더를 해당 토픽 자체에 표시하는 반면, 후자는 설정된 카테고리의 모든 토픽에서 create event를 사용하고 이벤트 캘린더를 카테고리 내에 표시한다는 점입니다.

1. 캘린더 플러그인 활성화

/admin/site_settings/category/discourse_calendar?filter=plugin%3Adiscourse-calendarcalendar categories:

다음과 유사한 값을 설정해야 합니다: categoryId=123;postId=4949;tzPicker;defaultView=month

  • categoryId는 찾기 쉽습니다: #category를 클릭했을 때 URL에 표시되는 숫자입니다.

  • postId는 다음과 같이 찾을 수 있습니다: 카테고리 설명(고정된 “카테고리 정보” 토픽)으로 이동하고 URL 끝에 .json을 추가하면 됩니다: postId는 JSON 파일의 처음 부분에 있습니다.

  • 사용 가능한 옵션에 대해 discourse-calendar 문서를 검토하세요.

  • 카테고리를(예시에서는 123번) events calendar categories에 추가하세요.

discourse post event allowed on groups 설정을 조정하여 이벤트를 추가할 수 있는 그룹을 포함하도록 설정할 수도 있습니다.

2. 이벤트 생성

카테고리 123에서 새 토픽을 만들고 create event (기어 버튼에서)를 클릭하여 이벤트를 생성할 수 있습니다.

이벤트는 이제 카테고리 캘린더에 표시됩니다.

:tada:

2개의 좋아요

다가오는 이벤트가 아닌 지난 1년 치 이벤트를 표시할 방법이 있을까요? 저널 섹션에 이 플러그인을 활용하여 첫 번째 게시글에 모든 과거 항목을 나열하고 싶습니다.

아래 스니펫을 사용할 경우 이벤트 목록이 처음에는 비어 있습니다. 월간 보기로 돌아가서 한 달 전으로 이동한 후 다시 목록 보기로 돌아갈 때만 정상적으로 동작합니다.

[calendar defaultView=listNextYear fullDay=true]
[/calendar]

버그가 발생하는 모습:
CleanShot 2024-05-07 at 14.08.49 2

6개의 좋아요

저도 이 함수에 관심이 있습니다.

달력 검색과 함께 사용할 수 있는 데이터 탐색 스크립트도 있을지 궁금합니다.

3개의 좋아요

우리 커뮤니티에서 누군가가 캘린더 이벤트를 게시한 후, 관리자가 해당 이벤트를 수정하면 왜 원 게시자가 더 이상 수정할 수 없나요?

이는 수백 명의 사람에게 영향을 미치는 매우 큰 문제입니다.

현재는 주제(Topic) 달력이 월요일부터 시작하고, 카테고리(Category) 달력은 일요일부터 시작한다는 점을 명확히 해 주세요.

이제 각 달력이 서로 다른 방식으로 표시되고 있으므로, 관리자에서 설정할 수 있도록 했으면 좋겠습니다…

3개의 좋아요

음, 그래. 그게 말이 돼. 내가 몰랐거든–

휴일 캘린더에서 휴일이 표시되려면, 에디터 메뉴에서 추가하는 타임스탬프가 반드시 포함되어야 한다는 점을 언급할 가치가 있습니다.
또한 이전에 언급했듯이, 게시물의 ID는 게시물 URL에 .json을 추가하여 찾을 수 있습니다. 카테고리 URL에는 ID가 포함되어 있지만, 주제 URL의 ID는 실제 주제 ID와 숫자가 비슷하지만 동일하지 않아 사용자를 혼란스럽게 할 수 있으므로, 이 부분을 문서에 추가해야 한다고 생각합니다.

어쨌든 이 가이드에 감사드립니다. 기능이 많아서 다루어야 할 내용이 많지만, 정말 좋습니다. 개발팀 여러분, 수고 많으셨습니다!

아, AI가 재작성하면서 '이벤트(event)'라는 용어를 추가했네요. 이상적으로는 플러그인의 추가 ‘이벤트(Event)’ 기능과 혼동을 피하기 위해 문서의 ‘캘린더’ 섹션에서는 이 용어를 피하는 것이 좋습니다.

1개의 좋아요

플러그인을 활성화했는데 디스코스에 달력과 기어 버튼이 표시되지 않습니다. 잘못된 설정이 있을까요?

1개의 좋아요

기어 아이콘은 얼마 전에 으로 변경되었습니다. 날짜 삽입 기능이 그 더 보기 메뉴로 이동된 것 같습니다(이제 아이콘도 사용되고 있는 것 같습니다).

정말 좋은 지적입니다. 이 문서가 업데이트가 필요한 것 같고, 기어 아이콘을 참조하고 있는 다른 주제들도 아마 있을 것입니다.

1개의 좋아요

답변 감사합니다. 그리고 이 관련해서 또 다른 오류를 발견했습니다. 이 아이콘이 크기가 더 크고 잘못된 위치에 있어서, 보시는 것처럼 화면을 가리고 있습니다. 휴대폰에서는 정상적으로 표시되지만 데스크톱에서는 그렇지 않습니다. 참고로 달력은 없고 목록에 이벤트만 표시됩니다. 어떻게 해야 할까요 :pleading_face:

safe mode가 플러스 아이콘의 위치를 수정하나요?

어떤 캘린더 버튼을 기대하고 계신가요?

해당 버튼은 이제 다음과 같습니다

저는 이 삽입 버튼이 있는데, 달력을 게시하려면 어떻게 해야 하나요? [calendar] 코드를 시도해 보았는데 작동은 하지만, 날짜/시간이 달력에 포함되는 건가요?

큰 버튼에 대해서는 안전 모드를 시도해 보았지만 여전히 같은 상태입니다. 앱을 다시 빌드해도 작동하지 않는데, 다음 버전 업데이트에서 이 문제가 해결되길 바랄 수 있을까요? :relieved_face: 아니면 처음부터 다시 하는 것 외에는 제가 할 수 있는 다른 방법이 있을까요? :rofl:

:man_zombie:

이 설정이 유력한 원인으로 보입니다:

image

defaultView="listNextYear"로 설정했는데도 연도 목록 보기가 아닌 월 보기가 표시되는 이유는 무엇인가요?

2개의 좋아요

예제를 테스트해 보았습니다


hiddenDaysdefaultView도 작동하지 않는 것 같습니다(fullDay는 테스트하지 않았습니다). 어떤 날짜 열도 숨겨지지 않았고, 기본 뷰는 여전히 월 단위입니다(참고로, 대비가 낮아 읽기가 어렵습니다).

여기서 무언가 깨진 것 같습니다.

1개의 좋아요