Don't assume pygmentize path (I use pythonbrew!).
This commit is contained in:
parent
149fa796c5
commit
0eddaf3c2c
@ -70,13 +70,18 @@ func mustReadFile(path string) string {
|
|||||||
func cachedPygmentize(lex string, src string) string {
|
func cachedPygmentize(lex string, src string) string {
|
||||||
ensureDir(cacheDir)
|
ensureDir(cacheDir)
|
||||||
arg := []string{"-l", lex, "-f", "html"}
|
arg := []string{"-l", lex, "-f", "html"}
|
||||||
bin := "/usr/local/bin/pygmentize"
|
|
||||||
|
bin, err := exec.Command("which", "pygmentize").Output()
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println("Please install Pygments and ensure pygmentize is in your path first.")
|
||||||
|
os.Exit(1)
|
||||||
|
}
|
||||||
cachePath := cacheDir + "/pygmentize-" + strings.Join(arg, "-") + "-" + sha1Sum(src)
|
cachePath := cacheDir + "/pygmentize-" + strings.Join(arg, "-") + "-" + sha1Sum(src)
|
||||||
cacheBytes, cacheErr := ioutil.ReadFile(cachePath)
|
cacheBytes, cacheErr := ioutil.ReadFile(cachePath)
|
||||||
if cacheErr == nil {
|
if cacheErr == nil {
|
||||||
return string(cacheBytes)
|
return string(cacheBytes)
|
||||||
}
|
}
|
||||||
renderBytes := pipe(bin, arg, src)
|
renderBytes := pipe(string(bin), arg, src)
|
||||||
writeErr := ioutil.WriteFile(cachePath, renderBytes, 0600)
|
writeErr := ioutil.WriteFile(cachePath, renderBytes, 0600)
|
||||||
check(writeErr)
|
check(writeErr)
|
||||||
return string(renderBytes)
|
return string(renderBytes)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user