크로마로 코드 하이라이트 생성 예시

4370 단어 Go
go 코드의 일부분입니다.
type Ping struct {
    Status int
    Result string
}

func Sample(w http.ResponseWriter, r *http.Request) {
    lexer := lexers.Get("ruby")
    style := styles.Get("monokai")
    if style == nil {
        style = styles.Fallback
    }
    formatter := html.New(html.WithClasses())
    iterator, err := lexer.Tokenise(nil, "def hoge; x=3; 6; end")
    buf := new(bytes.Buffer)
    err = formatter.Format(buf, style, iterator)
    if err != nil {
        fmt.Println(err)
    }

    sourceCode := buf.String()
    ping := Ping{http.StatusOK, sourceCode}
    res, _ := json.Marshal(ping)
    w.Header().Set("Content-Type", "application/json")
    w.Write(res)
}
이렇게 하면 다음과 같은 json을 얻을 수 있다.

좋은 웹페이지 즐겨찾기