aboutsummaryrefslogtreecommitdiff
path: root/parse.go
diff options
context:
space:
mode:
Diffstat (limited to 'parse.go')
-rw-r--r--parse.go61
1 files changed, 0 insertions, 61 deletions
diff --git a/parse.go b/parse.go
deleted file mode 100644
index ac187f5..0000000
--- a/parse.go
+++ /dev/null
@@ -1,61 +0,0 @@
-package main
-
-import (
- "bytes"
- "regexp"
- "strings"
- "text/template"
-)
-
-var (
- doc = template.Must(template.ParseFiles("tmpl/doc"))
- intlink = regexp.MustCompile(`\[[^\]]+\]`)
- extlink = regexp.MustCompile(`(https?|ftp)://\S+`)
- imglink = regexp.MustCompile(`\.(jpe?g|png|gif)$`)
-)
-
-func lines(in string) (ret []string) {
- for _, l := range strings.Split(in, "\r\n") {
- if len(l) > 1 {
- ret = append(ret, l[1:])
- }
- }
- return
-}
-
-func (p Page) HTML() string {
- buf := new(bytes.Buffer)
- for _, v := range strings.Split(string(p.Body), "\r\n\r\n") {
- if len(v) < 1 {
- continue
- }
- v = intlink.ReplaceAllStringFunc(v, func(s string) string {
- tmp := new(bytes.Buffer)
- doc.ExecuteTemplate(tmp, "link", s[1:len(s)-1])
- return tmp.String()
- })
- v = extlink.ReplaceAllStringFunc(v, func(s string) string {
- tmp := new(bytes.Buffer)
- if imglink.MatchString(s) {
- doc.ExecuteTemplate(tmp, "img", s)
- } else {
- doc.ExecuteTemplate(tmp, "link", s)
- }
- return tmp.String()
- })
-
- switch v[0] {
- case ' ':
- doc.ExecuteTemplate(buf, "pre", v)
- case '-', '*':
- doc.ExecuteTemplate(buf, "list", lines(v))
- case '#':
- doc.ExecuteTemplate(buf, "olist", lines(v))
- case '=':
- doc.ExecuteTemplate(buf, "heading", v[1:])
- default:
- doc.ExecuteTemplate(buf, "par", v)
- }
- }
- return buf.String()
-}