정적 구문 강조는 사용자가 바꿀 수 없는 코드에 적용하는 강조예요. 여기에는 코드 조각, 이터레이션 등이 포함돼요.
온라인 에디터는 정적 구문 강조를 사용하지 않아요. 사용자가 코드를 그 자리에서 바꿀 수 있기 때문이에요. 온라인 에디터에서 구문 강조를 어떻게 처리하는지 더 알고 싶다면 동적 구문 강조 문서를 확인해 봐요.
정적 구문 강조는 highlightjs 라이브러리를 사용해요.
언어 지원을 추가할 때는 세 가지 방법이 있어요:
트랙의 언어에 highlightjs 지원을 사용하도록 설정하려면 트랙의 config.json 파일을 수정해야 해요.
config.json 파일 안에서 online_editor.highlightjs_language 키를 적절한 highlightjs 언어 식별자(문서에서 확인할 수 있어요)로 추가하거나 설정해요.
{
"online_editor": {
"highlightjs_language": "csharp"
}
}
기존 플러그인을 사용하려면 그 플러그인이 NPM에 게시되어 있어야 해요. 플러그인이 NPM에 게시되어 있지 않다면 다음 중 하나를 할 수 있어요:
다음 단계는 플러그인 활성화예요.
플러그인(NPM에 게시되어 있어야 해요)을 활성화하려면 포럼에 글을 올려 웹사이트에 그 플러그인 지원을 추가해 달라고 요청해요. 그러면 저희(Exercism)가 플러그인을 웹사이트에 추가하는 Pull Request를 만들어요. PR이 병합되면 트랙 설정 섹션의 안내에 따라 highlightjs 지원을 활성화할 수 있어요.
플러그인을 만들고 싶다면 호스팅 방법이 두 가지 있어요:
저장소가 준비되면 언어 기여 안내를 따라 플러그인을 구현해요.
그다음 플러그인을 NPM에 게시해야 해요. 다음 단계는 플러그인 활성화예요.
사용하는 언어의 문법이 다른 언어의 문법과 (거의) 비슷하다면, 그 언어의 구문 강조를 사용하는 것을 고려할 수 있어요. 그러려면 트랙이 다른 언어의 highlightjs 언어 식별자를 사용하도록 설정해요. 자세한 내용은 트랙 설정 섹션을 봐요.