highlight shortcode

highlight는 코드를 syntax highlight가 적용된 HTML로 바꿔 주는 shortcode입니다.
Markdown에서는 기본 fenced code block만으로도 충분한 경우가 많지만, 인라인 코드 조각을 강조하거나 하이라이트 옵션을 세밀하게 통제하고 싶을 때 유용합니다.

공식 문서 기준으로 highlightLANG, OPTIONS, CODE의 세 가지 요소를 사용합니다. OPTIONS는 문자열로 넘기는 옵션 묶음이며, 줄 번호, 테마, 강조 라인 같은 디테일을 세밀하게 조절할 수 있습니다. citeturn791175view0turn241043view5

렌더링 결과: 블록형

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를 하나 더 만드는 것도 좋습니다.
  • 긴 예제일수록 하이라이트 옵션을 코드 바로 위에 모아두면 읽기 쉽습니다.