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