parent
32e86d1129
commit
e29d79e5f9
@ -0,0 +1,2 @@ |
||||
|
||||
</html> |
@ -0,0 +1,11 @@ |
||||
<html> |
||||
<head> |
||||
<title>binit</title> |
||||
<style type="text/css"> |
||||
pre {margin-left: 50px; border-left: solid 3px #0000ff; padding: |
||||
5px;} |
||||
</style> |
||||
</head> |
||||
|
||||
|
||||
|
@ -0,0 +1,7 @@ |
||||
<body> |
||||
|
||||
<pre> |
||||
{{CONTENT}} |
||||
</pre> |
||||
|
||||
</body> |
@ -0,0 +1,84 @@ |
||||
/* |
||||
* |
||||
* Templating support for binit |
||||
* |
||||
*/ |
||||
|
||||
package main |
||||
|
||||
|
||||
import ( |
||||
"os" |
||||
"io/ioutil" |
||||
"regexp" |
||||
"errors" |
||||
) |
||||
|
||||
|
||||
func prepare_paste_page(c *Config, paste_ID string) (string, error) { |
||||
|
||||
s:= "" |
||||
|
||||
// insert header
|
||||
|
||||
head_file := c.templ_dir + "/header.html" |
||||
|
||||
f_head, err := os.Open(head_file) |
||||
defer f_head.Close() |
||||
|
||||
if err == nil { |
||||
cont, err := ioutil.ReadFile(head_file) |
||||
if err == nil{ |
||||
s += string(cont) |
||||
} |
||||
} |
||||
|
||||
// insert content
|
||||
|
||||
cont_file := c.paste_dir + "/" + paste_ID |
||||
f_cont, err := os.Open(cont_file) |
||||
defer f_cont.Close() |
||||
|
||||
if err == nil { |
||||
// Let's read the content of the paste
|
||||
|
||||
cont, err := ioutil.ReadFile(cont_file) |
||||
if err == nil { |
||||
paste_buf := string(cont) |
||||
|
||||
// ...Let's read the template
|
||||
templ_file := c.templ_dir + "/templ.html"
|
||||
f_templ, err := os.Open(templ_file) |
||||
defer f_templ.Close() |
||||
|
||||
cont, err := ioutil.ReadFile(templ_file) |
||||
if err == nil { |
||||
tmpl := string(cont) |
||||
// ...and replace {{CONTENT}} with the paste itself!
|
||||
re,_ := regexp.Compile("{{CONTENT}}") |
||||
tmpl = string(re.ReplaceAll([]byte(tmpl), []byte(paste_buf))) |
||||
|
||||
s += tmpl |
||||
|
||||
} else { |
||||
return "", errors.New("Error opening template file") |
||||
} |
||||
|
||||
} else { |
||||
return "", errors.New("Error opening paste") |
||||
} |
||||
} |
||||
// insert footer
|
||||
foot_file := c.templ_dir + "/footer.html" |
||||
f_foot, err := os.Open(foot_file) |
||||
defer f_foot.Close() |
||||
|
||||
if err == nil { |
||||
cont, err := ioutil.ReadFile(foot_file) |
||||
if err == nil{ |
||||
s += string(cont) |
||||
} |
||||
} |
||||
|
||||
return s, nil |
||||
} |
Loading…
Reference in new issue