코어와 플러그인 구현을 포함하여 전체 Blocks API를 다루는 문서가 여전히 존재합니다. Blocks를 활용한 테마 작업에 대해서는 SKILL.md에 이미 모든 관련 사항이 다루어져 있습니다. 내용은 간결하고 매우 읽기 쉽습니다.
예제 테마에는 초기화 파일(initializer files)과 블록이 모두 포함되어 있습니다. 초기화 파일은 각 BlockOutlet에 대한 레이아웃을 선언합니다: discourse-theme-skills/javascripts/discourse/api-initializers at main · discourse/discourse-theme-skills · GitHub.
테마 작업 시 제가 느끼는 가장 큰 변화는 다음과 같습니다. PluginOutlets처럼 커스텀 컴포넌트를 앱에 직접 주입하지 않고, 이제 몇 가지 전용 레이아웃 프레임이 있습니다. 해당 프레임에 렌더링되어야 하는 모든 블록은 다른 조건으로 표시되더라도 동일한 초기화 파일에 등록됩니다.
이를 통해 커스터마이징과 코어 앱 레이아웃 사이에 깔끔한 인터페이스를 유지할 수 있습니다.