Просмотр исходного кода

Format non-markdown files as plain text

Even works with binaries, albeit very slow...  :)
Lu Stadler лет назад: 7
Родитель
Сommit
996b648c6d
1 измененных файлов с 10 добавлено и 1 удалено
  1. 10 1
      go/tmpview/tmpview.go

+ 10 - 1
go/tmpview/tmpview.go

@ -3,12 +3,14 @@ package main
3 3
import (
4 4
	"context"
5 5
	"fmt"
6
	"html/template"
6 7
	"io/ioutil"
7 8
	"log"
8 9
	"net"
9 10
	"net/http"
10 11
	"os"
11 12
	"os/exec"
13
	"strings"
12 14
	"time"
13 15
14 16
	"github.com/russross/blackfriday"
@ -39,7 +41,14 @@ func main() {
39 41
40 42
			style := `body { max-width: 50em; margin: 0 auto; }`
41 43
			fmt.Fprintf(w, "<!doctype html><html><head><meta charset=\"utf-8\" /><title>%s</title><style>%s</style></head><body>\n\n\n", fileName, style)
42
			w.Write(blackfriday.MarkdownCommon(data))
44
			switch {
45
			case strings.HasSuffix(strings.ToLower(fileName), ".md"):
46
				w.Write(blackfriday.MarkdownCommon(data))
47
			default:
48
				fmt.Fprint(w, "<pre>\n")
49
				template.HTMLEscape(w, data)
50
				fmt.Fprint(w, "\n</pre>")
51
			}
43 52
			fmt.Fprintf(w, "\n\n\n</body></html>")
44 53
		})
45 54