구문 강조
Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
GitLab은 두 가지 보완 시스템을 통해 파일에 대한 구문 강조를 제공합니다: 여기서 경로는 Git의 .gitattributes 인터페이스를 사용합니다. Web IDE와 스니펫은 텍스트 편집을 위해 Monaco Editor를 사용하며, 내부적으로 구문 강조를 위해 Monarch 라이브러리를 사용합니다.
GitLab은 두 가지 보완 시스템을 통해 파일에 대한 구문 강조를 제공합니다:
- Rouge (Ruby gem): GitLab 서버에서 파일을 처리하는 서버 측 강조. 다음에 사용됩니다:
- 저장소 파일 보기
- 머지 리퀘스트 diff
- 커밋 diff
- 비교 보기
- 비난(Blame) 보기
- Highlight.js: 브라우저에서 실행되는 클라이언트 측 강조. 지원 언어에 대해 브라우저에서 저장소 파일을 보는 데 사용됩니다.
여기서 경로는 Git의 .gitattributes 인터페이스를 사용합니다.
Web IDE와 스니펫은 텍스트 편집을 위해 Monaco Editor를 사용하며, 내부적으로 구문 강조를 위해 Monarch 라이브러리를 사용합니다.
파일 유형에 대한 구문 강조 재정의#
Web IDE는 .gitattributes 파일을 지원하지 않습니다. 자세한 내용은 에픽 18651을 참조하세요.
파일 유형에 대한 구문 강조를 재정의하려면:
-
프로젝트의 루트 디렉토리에
.gitattributes파일이 없으면 이 이름으로 빈 파일을 만듭니다. -
수정할 각 파일 유형에 대해 파일 확장자와 원하는 강조 언어를 선언하는 줄을
.gitattributes파일에 추가합니다:# 이 확장자는 일반적으로 Perl 구문 강조를 받습니다. Prolog도 # 사용하는 경우 이 파일 확장자에 대한 강조를 재정의할 수 있습니다: *.pl gitlab-language=prolog -
변경 사항을 커밋, 푸시하고 기본 브랜치에 머지합니다.
변경 사항이 기본 브랜치에 머지된 후 프로젝트의 모든 *.pl 파일이 선호하는 언어로 강조 표시됩니다.
다음과 같은 CGI(Common Gateway Interface) 옵션으로 강조를 확장할 수도 있습니다:
# .erb가 포함된 JSON 파일
/my-cool-file gitlab-language=erb?parent=json
# 강조 오류가 가득 찬 파일!
/other-file gitlab-language=text?token=Error
파일 유형에 대한 구문 강조 비활성화#
파일 유형에 대한 강조를 완전히 비활성화하려면 파일 유형에 대한 강조 재정의 지침을 따르고 gitlab-language=text를 사용합니다:
# 이 파일 유형에 대한 구문 강조 비활성화
*.module gitlab-language=text
강조에 대한 최대 파일 크기 구성#
다음 파일 크기 제한이 구문 강조기에 적용됩니다:
- Rouge (서버 측): 기본적으로 512 KB (구성 가능)
- 이 제한보다 큰 파일은 구문 강조 없이 일반 텍스트로 렌더링됩니다.
- Highlight.js (클라이언트 측): 2 MB (구성 불가)
- 지원되지 않는 언어의 경우 Rouge 강조로 폴백됩니다.
- 이 제한보다 큰 파일은 프런트엔드에서 강조 표시할 수 없으며 원시 콘텐츠로 봐야 합니다.
Rouge 강조 제한을 변경하려면:
-
프로젝트의
gitlab.yml구성 파일을 엽니다. -
maximum_text_highlight_size_kilobytes를 원하는 값으로 바꿔 이 섹션을 추가합니다.gitlab: extra: ## 구문 강조를 위한 최대 파일 크기 ## https://docs.gitlab.com/user/project/repository/files/highlighting/#configure-maximum-file-size-for-highlighting maximum_text_highlight_size_kilobytes: 512 -
변경 사항을 커밋, 푸시하고 기본 브랜치에 머지합니다.
