highlight shortcode
highlight는 코드를 syntax highlight가 적용된 HTML로 바꿔 주는 shortcode입니다.
Markdown에서는 기본 fenced code block만으로도 충분한 경우가 많지만, 인라인 코드 조각을 강조하거나 하이라이트 옵션을 세밀하게 통제하고 싶을 때 유용합니다.
공식 문서 기준으로 highlight는 LANG, OPTIONS, CODE의 세 가지 요소를 사용합니다. OPTIONS는 문자열로 넘기는 옵션 묶음이며, 줄 번호, 테마, 강조 라인 같은 디테일을 세밀하게 조절할 수 있습니다. citeturn791175view0turn241043view5
렌더링 결과: 블록형
1package main
2
3import "fmt"
4
5func main() {
6 for i := 0; i < 3; i++ {
7 fmt.Println("Value of i:", i)
8 }
9}원형: 블록형
{{< highlight go "linenos=inline, hl_lines=3 6-8, style=emacs" >}}
package main
import "fmt"
func main() {
for i := 0; i < 3; i++ {
fmt.Println("Value of i:", i)
}
}
{{< /highlight >}}
렌더링 결과: 인라인형
이 문장은 인라인 하이라이트 예시입니다.
fmt.Println("inline")
를 보면 코드 조각이 본문 안에서 따로 강조됩니다.
원형: 인라인형
이 문장은 인라인 하이라이트 예시입니다.
{{< highlight go "hl_inline=true" >}}fmt.Println("inline"){{< /highlight >}}
를 보면 코드 조각이 본문 안에서 따로 강조됩니다.
옵션 해석
linenos=inline은 줄 번호를 코드 옆에 붙입니다.hl_lines=3 6-8은 특정 줄을 강조합니다.style=emacs는 하이라이트 테마를 정합니다.hl_inline=true는 블록이 아니라 본문 흐름 안에서 코드 조각만 강조합니다.
실무 팁
- 코드 블록은 대부분의 Markdown 렌더러에서 기본 지원되므로,
highlight는 보조 수단으로 생각하는 편이 좋습니다. - 인라인 코드가 자주 등장하는 문서라면
highlight전용 짧은 래퍼 shortcode를 하나 더 만드는 것도 좋습니다. - 긴 예제일수록 하이라이트 옵션을 코드 바로 위에 모아두면 읽기 쉽습니다.