캘린더 생성 및 관리

: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개의 좋아요

I have a hard time understanding how to create a calendar so that it displays in a category, and what to do to fill it once it’s there. For topics, it is quite straightforward, but the category case is more obscure. Can someone give an example?

Create a Category Calendar

The difference between a topic calendar and a category calendar is that the former uses add date from a specific topic response, and displays the calendar in the topic itself, while the latter uses create event in any topic of the configured category, and displays the events calendar in the category.

1. Enable the calendar plugin

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

You want something like: categoryId=123;postId=4949;tzPicker;defaultView=month

  • categoryId is easy to find: it’s the number in the URL when you click the #category

  • postId can be found like this: go to the category description (the “About category” pinned topic) and append .json to the URL: the postId is at the beginning of the JSON file.

  • Review the discourse-calendar documentation for available options.

  • Add the category (numbered 123 in our example) to events calendar categories

You may want to set discourse post event allowed on groups to include the groups you want to be able to add events.

2. Create an event

You can create a new topic in category 123 and create event (from the gear button).

The event will then appear on the category calendar.

:tada:

2개의 좋아요

Is there any way to display not the upcoming events, but the ones in the past year? We would like to make use of the plugin for our journal section and list all past entries in the first post.

When using this snippet below, the event list is initially empty. Only when going back to monthly view, going one month back and going back to list view, it works

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

See bug in action:
CleanShot 2024-05-07 at 14.08.49 2

6개의 좋아요

I am interested in this function as well.

I wonder if there might also be some data explorer scripts to go along calender searching

3개의 좋아요

When someone in my community posts a calendar event, then an Admin edits said event, why is then the original poster can no longer edit?

This is a huge deal impacting 100s of people

Make clear that for now only the Topic calendar starts at Monday and that the Category calendar starts at Sunday instead.

Would love to have this admin configurable, as now each one shows the calendar differently…

3개의 좋아요

Uh-huh. That makes sense, because I didn’t realize–

휴일 캘린더에서 휴일이 표시되려면, 에디터 메뉴에서 추가하는 타임스탬프가 반드시 포함되어야 한다는 점을 언급할 가치가 있습니다.
또한 이전에 언급했듯이, 게시물의 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개의 좋아요