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