코드 블록 테마 선택기

:discourse2: 요약 Codeblock Theme Picker를 사용하면 코드 블록에 사용할 테마를 쉽게 변경할 수 있습니다.
:eyeglasses: 미리보기 Discourse Theme Creator에서 미리보기
:hammer_and_wrench: 레포지토리 링크 https://github.com/discourse/hljs-theme-picker
:open_book: Discourse 테마를 처음 접하는 분? Discourse 테마 사용 가이드

이 테마 컴포넌트 설치

기능

이것은 사용 가능한 옵션 중 일부일 뿐입니다. 이 컴포넌트에는 hljs 레포지토리에서 제공되는 모든 90가지 옵션이 포함되어 있습니다.

:information_source: 이 컴포넌트에는 모든 옵션이 포함되어 있지만, 사용자가 선택한 옵션만 로드됩니다. 따라서 오버헤드가 없습니다.

사용 방법

이 컴포넌트의 구성 방식 때문에 사이트 설정 중 하나를 소폭 변경해야 합니다.

  1. your.site.com/admin/site_settings/로 이동합니다.
  2. theme_authorized_extensions를 검색합니다.
  3. 해당 목록에 css를 추가합니다.

아래와 같이:

:warning: 컴포넌트를 설치하기 전에 이 작업을 수행해야 합니다. 그렇지 않으면 작동하지 않습니다.

이 작업이 완료되면 다른 컴포넌트와 마찬가지로 이 컴포넌트를 설치할 수 있습니다.

설정

이름 설명
hljs theme 코드 블록에 사용할 테마를 선택합니다. hljs 데모 페이지에서 테마를 미리 볼 수 있습니다.
hljs dark match 사용 가능한 경우 다크 컬러 스킴을 로드합니다

옵션의 모습을 확인하고 싶다면 여기에서 확인해 보세요 We're not a CDN - highlight.js

사용할 hljs 테마를 정했다면 드롭다운에서 원하는 항목을 검색하여 설정을 저장할 수 있습니다. 모든 기능이 작동하려면 페이지를 새로고침해야 합니다.

크레딧

이 컴포넌트에 포함된 모든 hljs 테마는 각 파일에 저작권 정보가 포함되어 있습니다. 모든 저자(:heart:) 목록은 여기에 추가하기엔 너무 길지만, 여기에서 확인하실 수 있습니다.


:discourse2: 우리가 호스팅하고 계신가요? 테마 컴포넌트는 Standard, Business, Enterprise 플랜에서 사용 가능합니다.

42개의 좋아요

이 테마는 매우 유용하여 제 사이트에서 오랫동안 사용해 왔습니다. 그런데 갑자기 Firefox에서 문제가 발생하는 것을 발견했습니다. 커스텀 CSS 파일이 X-Content-Type-Options: nosniff 헤더에 의해 차단되고 있습니다. 콘솔에서는 해당 CSS 파일의 MIME 유형이 text/html로 표시되고 있습니다. 어떤 테마를 선택하든 Chrome에서는 문제가 없지만 Firefox에서는 여전히 같은 문제가 발생합니다.

이 슈퍼 테마 컴포넌트는 사용자가 선호하는 코드 블록 스타일도 선택할 수 있도록 하면 훨씬 더 좋아질 것입니다.

5개의 좋아요

동의합니다. 사용자 설정이 가능하면 정말 좋을 것 같아요.

줄 번호를 표시할 수 있는 방법이 있나요?

훌륭한 테마 컴포넌트입니다.

한 가지 질문이 있습니다. highlight.js 데모에는 242개의 테마가 있습니다. 예를 들어 첨부된 이미지와 같은 “Github Dark Dimmed” 테마가 있죠.

이 문제를 해결할 방법이 있을까요? 조언 부탁드립니다.

불행히도 이 작업은 다소 복잡합니다.

Discourse는 highlight-js의 10.6.0 버전을 실행하고 있습니다. 현재 누락된 대부분의 추가 테마(예: base16)는 11.0 버전이 필요합니다.

문제는 해당 버전이 일부 호환성 문제(breaking changes)와 비권장(deprecation) 항목을 도입했다는 점입니다. 자세한 내용은 아래 링크를 참고해 주세요.

Release Version 11 · highlightjs/highlight.js · GitHub

즉, 현재 사용 가능한 옵션은 당분간 그대로 유지될 것입니다. 먼저 Discourse의 tests-passed에서 highlight-js 버전을 업데이트해야 합니다. 그 후 안정 버전의 출시를 기다려야 합니다. 테마를 업데이트하는 것(현재 사용 중인 테마 포함)은 테마가 사용자의 사이트에서 제대로 작동하는지 아닌지 추측에 의존하게 되는 좋지 않은 상태로 만들 수 있습니다.

4개의 좋아요

이 컴포넌트는 최신 베타 버전에서 깨진 것 같습니다 - 설치된 상태에서 하이라이트가 더 이상 올바르게 작동하지 않습니다. 테마에서 컴포넌트를 제거하니 다시 작동하기 시작했지만, 하이라이트 테마를 선택할 수는 없습니다.

2개의 좋아요

최신 베타 버전에서도 여기의 구문 하이라이트가 깨져 있음을 확인해 주세요

@Falco가 이 컴포넌트에 대한 수정을 병합했습니다: DEV: Update highlight.js to version 11 - Pull Request #3 - discourse/hljs-theme-picker - GitHub

이 수정에는 highlight.js 11 버전 테마 업데이트(코어 또한 highlight.js 11 버전으로 업데이트되었습니다) 및 올바른 특이성이 누락된 스타일 수정 사항이 포함되어 있습니다.

2개의 좋아요

컴포넌트를 설치하려고 했을 때 이 오류가 발생했습니다

Error creating upload asset: a11y-dark. Original filename Sorry, the file you are trying to upload is not authorized (authorized extensions: wasm, jpg, jpeg, png, woff, woff2, svg, eot, ttf, otf, gif, webp, avif, js).

이 부분을 해보셨나요 :point_down:

1개의 좋아요

아이고, 나는 그걸 할 거야 :hugs:

1개의 좋아요

이 테마 컴포넌트를 방금 발견했는데, 이런 것이 존재하는 게 정말 기쁩니다!

hljs dark match 설정이 작동하지 않는 것 같습니다.

예를 들어, hljs themeatom-one-light로 설정되어 있습니다(이것과 대응하는 atom-one-dark도 존재하죠).

다시 로드하면 다크 모드에서도 atom-one-light가 적용되지만, 다크 모드로 전환해도 코드 블록은 자동으로 다크로 바뀌지 않고 라이트로 유지됩니다.


테마 컴포넌트를 설치할 때 이 오류 메시지가 나타났습니다. 커뮤니티가 이를 수정하는 방법에 대해 안내해 주실 분이 있기를 바랍니다.

허용된 테마 확장 목록에 css를 추가했나요?

1개의 좋아요

감사합니다, 잘 작동해요 ^^

1개의 좋아요

참고:

다음과 같아야 합니다:

이 테마 구성 요소는 최신 버전에서 깨진 것 같습니다.

이미 theme_authorized_extensions 설정에 css를 추가하고 구성 요소를 다시 설치해 보았지만, 코드 블록 스타일이 여전히 적용되지 않습니다.

확인해 주실 수 있을까요? 감사합니다.