diff options
| -rw-r--r-- | html/header.html | 25 | ||||
| -rw-r--r-- | html/index.html | 52 | ||||
| -rw-r--r-- | html/templ.html | 16 | ||||
| -rw-r--r-- | templ.go | 24 | 
4 files changed, 100 insertions, 17 deletions
| diff --git a/html/header.html b/html/header.html index 0cdb721..16a2f8f 100644 --- a/html/header.html +++ b/html/header.html @@ -2,8 +2,29 @@    <head>      <title>binit</title>      <style type="text/css"> -      pre {margin-left: 50px; border-left: solid 3px #0000ff; padding: -      5px;} +      div.title {border-bottom: 2px solid #444444; border-left: 4px +      solid #444444; margin: 3px; padding-left: 5px;} +       +      div.raw_title {border-top: 2px solid #444444; border-left: 4px +      solid #444444; margin: 3px; padding-left: 5px;} +       +      div.date {border-bottom: 2px solid #444444; border-left: 4px +      solid #444444; margin: 3px; padding-left: 5px; } +       +      div.content {margin-left: 30px; border: solid 3px #444444; padding: +      5px; width: 90%;} +       +      textarea.raw_content {margin-left: 30px; border: solid 3px +      #999999; width: 91%; height: 200px; padding: 5px;} +       +      table, tr, td {border: 0px; margin: 0px; padding: 0px; border-collapse: +      collapse; } +       +      td.lineno {background-color: #cccccc; text-align: right; +      vertical-align: middle; padding-right: 3px;} +       +      td.line {margin-left: 5px; padding-left: 5px; border-left: solid +      3px #666666;}      </style>    </head> diff --git a/html/index.html b/html/index.html index 12c8236..a428d22 100644 --- a/html/index.html +++ b/html/index.html @@ -1,17 +1,49 @@  <html> +  <head> +    <style type="text/css"> +      body { +      margin-left: 5%; +      line-height:1.6; +      font-size:20px; +      } +      h1 { +      background-color: #cccccc; +      padding-left: 10px; +      border-bottom: solid 5px #444444; +      border-left: solid 5px #222222; +      } +      div.title { +      border-top: 2px solid #444444; +      border-left: 4px solid #444444; +      margin: 3px; +      padding-left: 5px; +      } +      input.button { +      padding: 5px; +      line-height: 1.6; +      font-size: 20px; +       +      } +    </style> +  </head>    <body> -    <h1>Index.html</h1> +    <h1>Binnit</h1>      <form method="POST"> -      Title: <input type="text" name="title" size="24"/> -      <br /> -      Paste: -      <br /> -      <textarea name="paste" cols="80" rows="10"></textarea> -      <br /> -      <input type="checkbox" name="show" value="1" checked />Show link -      <br /> -      <input type="submit" value="Binit!"> +      <div class="title"> +        Title: +        <input type="text" name="title" size="24"/> +      </div> +      <div class="title"> +        Paste: +        <br /> +        <textarea name="paste" cols="100" rows="15"></textarea> +        <br /> +        <input type="checkbox" name="show" value="1" checked />Show link +        <br /> +      </div> +      <input type="submit" class="button" value="Binnit!"> +            </form>    </body> diff --git a/html/templ.html b/html/templ.html index 8b951d8..7729b23 100644 --- a/html/templ.html +++ b/html/templ.html @@ -1,14 +1,20 @@  <body> - -  <div> +   +  <div class="title">    Title: {{TITLE}}     </div> -  <div> +  <div class="date">    Date: {{DATE}}     </div> -<pre> +<div class="content">  {{CONTENT}} -</pre> +</div> + + +<div class="raw_content"> +  <div class="raw_title">Raw paste: </div> +  <textarea class="raw_content"><pre>{{RAW_CONTENT}}</pre></textarea> +</div>  </body> @@ -34,8 +34,29 @@ import (  	"io/ioutil"  	"os"  	"regexp" +	"strings" +	"strconv"  ) +func format_rows(content string) (string) { + +	var ret string + +	lines := strings.Split(content, "\n") + +	ret += "<table class='content'>" +	 +	for l_num, l := range lines { +		ret += "<tr>\n" +		ret += "<td class='lineno'><pre>"+ strconv.Itoa(l_num+1) + "</pre></td>" +		ret += "<td class='line'><pre>"+ l +"</pre></td>" +		ret += "</tr>" +	} +	ret += "</table>" +	return ret +} + +  func prepare_paste_page(title, date, content, templ_dir string) (string, error) {  	s := "" @@ -72,6 +93,9 @@ func prepare_paste_page(title, date, content, templ_dir string) (string, error)  		tmpl = string(re.ReplaceAll([]byte(tmpl), []byte(date)))  		re, _ = regexp.Compile("{{CONTENT}}") +		tmpl = string(re.ReplaceAll([]byte(tmpl), []byte(format_rows(content)))) + +		re, _ = regexp.Compile("{{RAW_CONTENT}}")  		tmpl = string(re.ReplaceAll([]byte(tmpl), []byte(content)))  		s += tmpl | 
