Archived
1
0

new template dir

This commit is contained in:
chen-chan 2015-12-23 01:07:29 +01:00
parent 21ec8e5f3a
commit e545bab034
49 changed files with 674 additions and 674 deletions

View File

@ -0,0 +1,34 @@
{{!
board.mustache, displays the contents of page N of the board
template parameters:
- board ( the model of the current page )
- page ( the page number of the current page )
board has the properties:
- Prefix ( absolute path like //site.tld/ or /path/ )
- Board ( the name of the board )
- Navbar ( a function that renders the navbar, should not be escaped )
- Threads ( a list of Thread Models with the last few replies )
}}
<!doctype html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="/static/user.css">
<title>{{board.Board}}</title>
</head>
<body>
{{{board.Navbar}}}
{{{form}}}
<dl>
<hr>
{{#board.Threads}}
{{{OP.Truncate.RenderPost}}}
{{#Truncate.Replies}}
{{{Truncate.RenderPost}}}
{{/Truncate.Replies}}
<hr>
{{/board.Threads}}
</dl>
</body>
</html>

View File

@ -0,0 +1,40 @@
{{!
boardlist.mustache -- full list of every board
template parameters:
- graph ( a list of 4 string tuples: (board, posts_per_hour, posts_per_day, total_posts) )
- frontend ( the name of the frontend )
- prefix ( the site's prefix )
}}
<!doctype html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="/static/user.css">
<title>{{frontend}} boards</title>
</head>
<body>
<table border="1">
<tr>
<th>board</th>
<th>posts per hour</th>
<th>posts per day</th>
<th>total</th>
</tr>
{{# graph}}
<tr>
<td>
<a href="{{prefix}}{{Board}}-0.html">{{Board}}</a>
</td>
<td>
{{Hour}}
</td>
<td>
{{Day}}
</td>
<td>
{{All}}
</td>
</tr>
{{/ graph}}
</table>
</body>
</html>

View File

@ -0,0 +1,11 @@
{{!
frontpage.mustache -- template for index.html
template parameters:
- boardgraph ( a boardPageRows instance, see srnd/model.go )
- postgraph ( a postsGraph instance , see srnd/model.go )
- overview ( an overviewModel instance, see srnd/model.go )
- totalposts ( the number of total posts we have ever seen )
- frontend ( the name of the frontend )
- prefix ( the site's prefix )
}}
<!doctype html><html><head><link rel="stylesheet" href="/static/user.css"><title>{{frontend}} on nntpchan</title></head><body><p>{{frontend}} on nntpchan</p><p><a href="ukko.html">overboard</a> <a href="{{prefix}}boards.html">boards</a> <a href="{{prefix}}static/faq.html">faq</a></p><dl><dt>last posts:</dt><dd>{{{overview.Render}}}</dd></dl><dl><dt>board stats:</dt><dd><table><tr><th>board</th><th>posts this hour</th><th>posts today</th><th>total</th></tr>{{# boardgraph}}<tr><td><a href="{{prefix}}{{Board}}-0.html">{{Board}}</a></td><td>{{Hour}}</td><td>{{Day}}</td><td>{{All}}</td></tr>{{/ boardgraph}}</table></dd></dl><dl><dt>total stats:</dt><dd>{{{postsgraph.Render}}}</dd></dl><p>{{totalposts}} posts total</p></body></html>

View File

@ -0,0 +1,36 @@
{{!
graph_history.mustache
template parameters:
- history ( a list of PostEntry instances, see srnd/model.go )
}}
<html>
<head>
<meta charset="utf-8"></meta>
<link rel="stylesheet" href="{{prefix}}static/site.css" />
<link rel="stylesheet" href="{{prefix}}static/user.css" />
<title> Post History</title>
</head>
<body>
<td>
<table id="history_graph">
<thead>
<tr>
<th>Month</th>
<th>Posts</th>
<th></th>
</tr>
</thead>
<tbody>
{{#history.Scale}}
<tr>
<td>{{Date}}</td>
<td class="history_num">{{Num}}</td>
<td>{{OvercockGraph}}</td>
</tr>
{{/history.Scale}}
</tbody>
</table>
</td>
</body>
</html>

View File

@ -0,0 +1,15 @@
{{!
keygen.mustache -- page containing a newly generated tripcode
template parameters:
- prefix ( the site prefix )
- public ( the public key in hex )
- secret ( the secret key in hex )
- tripcode ( html version of the public key )
}}
<!doctype html><html><head><title>new tripcode</title></head><body><pre>
new tripcode:
secret: {{secret}}
public: {{public}}
tripcode: {{{tripcode}}}
</pre></body></html>

View File

@ -6,7 +6,8 @@
}} }}
<html> <html>
<head> <head>
<link rel="stylesheet" href="{{prefix}}static/site.css"></link> <link rel="stylesheet" href="{{prefix}}static/site.css" />
<link rel="stylesheet" href="{{prefix}}static/user.css" />
<!-- yes it uses js --> <!-- yes it uses js -->
<script type="text/javascript" src="{{prefix}}static/mod.js"></script> <script type="text/javascript" src="{{prefix}}static/mod.js"></script>
<title> nntpchan mod page </title> <title> nntpchan mod page </title>

View File

@ -0,0 +1,12 @@
{{!
navbar.mustache -- element on the top of each nod-mod page
TODO: make this not suck, have a board list, have board page list
template parameters:
- name ( the name of whatever resource we are on, board/thread )
- frontend ( the name of the frontend we are on )
- links ( a list of Link Models to display )
- prefix ( site prefix )
}}
<p>{{name}} on {{frontend}} | {{# links}} <a href="{{LinkURL}}">{{Text}}</a> {{/ links}} | <a href="{{prefix}}">front page</a> <a href="{{prefix}}ukko.html">overboard</a></p>

View File

@ -28,7 +28,7 @@
Comment Comment
</th> </th>
<td> <td>
<textarea id="postform_message" type="text" name="message" cols=40 rows=5></textarea> <textarea id="postform_message" name="message" cols=40 rows=5></textarea>
</td> </td>
</tr> </tr>
<tr> <tr>
@ -53,4 +53,4 @@
</div> </div>
</form> </form>
</body> </body>
</html> </html>

View File

@ -0,0 +1,7 @@
{{! overview.mustache
paramters:
- overview (list of PostModels in order of last posted)
}}
<table><tr><th>date</th><th>board</th><th>subject</th></tr>{{#overview}}<tr><td>{{Date}}</td><td><a href="{{Prefix}}{{Board}}-0.html">{{Board}}</a></td><td><a href="{{PostURL}}">{{Truncate.Subject}}</a></td></tr>{{/overview}}</table>

View File

@ -0,0 +1,15 @@
<dt id="{{PostHash}}">
<a onclick="nntpchan_backlink('{{ShortHash}}');" title="{{MessageID}}">{{ShortHash}}</a>
{{Date}}
{{#IsI2P}}i2p{{/IsI2P}}{{#IsTor}}tor{{/IsTor}}{{#IsClearnet}}clr{{/IsClearnet}}
{{Subject}}
{{Name}}
{{{Pubkey}}}
<a href="{{PostURL}}">[reply]</a>
</dt>
<dd>
{{{RenderBody}}}
{{#Attachments}}
file: <a href="{{Source}}" target="_blank">{{Filename}}</a><br><br>
{{/Attachments}}
</dd>

View File

@ -0,0 +1,7 @@
<!doctype html>
<html>
<meta http-equiv="refresh" content="1; {{redirect_url}}" />
<body>
<p>fail: {{reason}}</p>
</body>
</html>

View File

@ -1,11 +1,9 @@
<html> <html>
<head> <head>
<title> try again </title> <link rel="stylesheet" type="text/css" href="/static/user.css">
<meta charset="utf-8" /> <title>try again</title>
<link rel="stylesheet" href="{{prefix}}static/site.css" />
<link rel="stylesheet" href="{{prefix}}static/user.css" />
</head> </head>
<body> <body>
<form enctype="multipart/form-data" name="post" method="post"> <form enctype="multipart/form-data" name="post" method="post">
{{#attachment}} {{#attachment}}
<input type="hidden" name="attachment_data" value="{{attachment}}" /> <input type="hidden" name="attachment_data" value="{{attachment}}" />
@ -45,4 +43,4 @@
</div> </div>
</form> </form>
</body> </body>
</html> </html>

View File

@ -4,12 +4,12 @@
- redirect_url ( the url of the next page we should redirect to ) - redirect_url ( the url of the next page we should redirect to )
- message_id ( the value of the Message-ID header in the post we made, the truncated sha1 of this is the >>posthash ) - message_id ( the value of the Message-ID header in the post we made, the truncated sha1 of this is the >>posthash )
}} }}
<!doctype html>
<html> <html>
<meta charset="utf-8" /> <head>
<link rel="stylesheet" href="{{prefix}}static/site.css" /> <meta http-equiv="refresh" content="2; {{redirect_url}}">
<link rel="stylesheet" href="{{prefix}}static/user.css" /> </head>
<meta http-equiv="refresh" content="2; {{redirect_url}}" />
<body> <body>
<pre>posted as {{message_id}}</pre> <pre>posted as {{message_id}}</pre>
</body> </body>
</html> </html>

View File

@ -0,0 +1,20 @@
{{!
postform.mustache -- the form for posting
template parameters:
- post_url ( the url of the post form )
- reference ( the post we are replying to, or empty string if it's an op )
- button ( the text for the reply button )
}}
<form action="{{post_url}}" enctype="multipart/form-data" name="post" method="post" style="overflow:auto">
<input type="hidden" name="reference" value="{{reference}}">
<textarea id="postform_message" name="message" placeholder="text" cols="40" rows="10" style="float:left" ></textarea><br>
<div style="float:left">
<input type="file" name="attachment"><br>
<input type="text" name="subject" placeholder="subject"><br>
<input type="text" name="name" placeholder="name"><br>
<input type="text" name="captcha" placeholder="captcha"><br>
<input type="submit" value="{{button}}" class="button"><br>
</div>
<img id="captcha_img" src="{{prefix}}captcha/img" alt="captcha" style="float:left">
</form>

View File

@ -0,0 +1,7 @@
{{!
posts graph.mustache -- post frequence graph
parameters:
* graph - a postsGraph instance (see srnd/model.go)
}}
<table><tr><th>date</th><th>posts</th><th>cock</th></tr>{{#graph.Scale}}<tr><td>{{Day}}</td><td>{{Num}}</td><td>{{OvercockGraph}}</td></tr>{{/graph.Scale}}</table>

View File

@ -0,0 +1,27 @@
{{!
thread.mustache -- renders to a thread-*.html page, shows the entire thread
template parameters:
- board ( the Board Model of the board this thread was posted in )
- thread ( the Thread Model of the current thread being rendered )
- form ( the post form markup )
Thread Model attributes:
- OP , the Post Model of the original poster
- Replies , a list of all the replies or empty if none
- Board , the name of the Board this thread is on
- BoardURL , the url that points to the board index page
}}
<!doctype html><html><head><link rel="stylesheet" type="text/css" href="/static/user.css">
<title>{{thread.OP.Subject}}</title>
<script type="text/javascript" src="{{thread.Prefix}}static/nntpchan.js"></script>
</head>
<body>
{{{thread.Navbar}}}
{{{form}}}
<dl>
{{{thread.OP.RenderPost}}}
{{# thread.Replies}}
{{{RenderPost}}}
{{/ thread.Replies}}
</dl>
</body></html>

View File

@ -0,0 +1,26 @@
{{!
ukko.mustache -- overboard, contains the last threads posted regardless of newsgroup
template parameters:
- prefix ( site prefix )
- threads ( a list of Thread Models that represent the latest threads )
}}
<!doctype html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="/static/user.css">
<title>ukko/overboard</title>
</head>
<body>
<a href="/">frontpage</a>
{{#threads}}
<hr>
<p>posted on <a href="{{{BoardURL}}}">{{OP.Board}}</a></p>
<dl>
{{{OP.Truncate.RenderPost}}}
{{#Truncate.Replies}}
{{{Truncate.RenderPost}}}
{{/Truncate.Replies}}
</dl>
{{/threads}}
</body>
</html>

View File

@ -1,47 +0,0 @@
{{!
board.mustache, displays the contents of page N of the board
template parameters:
- board ( the model of the current page )
- page ( the page number of the current page )
board has the properties:
- Prefix ( absolute path like //site.tld/ or /path/ )
- Board ( the name of the board )
- Navbar ( a function that renders the navbar, should not be escaped )
- Threads ( a list of Thread Models with the last few replies )
}}
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="initial-scale=1" />
<link rel="stylesheet" href="{{board.Prefix}}static/site.css" />
<link rel="stylesheet" href="{{board.Prefix}}static/user.css" />
<script type="text/javascript" src="{{board.Prefix}}static/nntpchan.js"></script>
<title>{{board.Board}}</title>
</head>
<body>
<!-- begin navbar -->
{{{board.Navbar}}}
<!-- end navbar -->
<!-- postform -->
<div id="postform_container">
{{{form}}}
</div>
<hr />
<div id="threads_container">
{{#board.Threads}}
<div class="thread" id="thread_{{OP.PostHash}}">
<div clsss="thread_header">
</div>
{{{OP.Truncate.RenderPost}}}
{{#Truncate.Replies}}
{{{Truncate.RenderPost}}}
<br />
{{/Truncate.Replies}}
</div>
{{/board.Threads}}
</div>
</body>
</html>

View File

@ -1,49 +0,0 @@
{{!
boardlist.mustache -- full list of every board
template parameters:
- graph ( a list of 4 string tuples: (board, posts_per_hour, posts_per_day, total_posts) )
- frontend ( the name of the frontend )
- prefix ( the site's prefix )
}}
<html>
<head>
<link rel="stylesheet" href="{{prefix}}static/site.css"></link>
<link rel="stylesheet" href="{{prefix}}static/user.css"></link>
<title> {{frontend}} board list </title>
</head>
<body>
<center>
<div class="index-outer">
<div class="index-inner">
<table id="board_graph">
<tbody>
<tr>
<th> Board </th>
<th> Post per Hour </th>
<th> Post per Day </th>
<th> Total </th>
</tr>
{{# graph}}
<tr>
<td>
<a href="{{prefix}}{{Board}}-0.html">{{Board}}</a>
</td>
<td>
{{Hour}}
</td>
<td>
{{Day}}
</td>
<td>
{{All}}
</td>
</tr>
{{/ graph}}
</tbody>
</table>
</div>
</div>
</center>
</body>
</html>

View File

@ -1,75 +0,0 @@
{{!
frontpage.mustache -- template for index.html
template parameters:
- boardgraph ( a boardPageRows instance, see srnd/model.go )
- postgraph ( a postsGraph instance , see srnd/model.go )
- overview ( an overviewModel instance, see srnd/model.go )
- totalposts ( the number of total posts we have ever seen )
- frontend ( the name of the frontend )
- prefix ( the site's prefix )
}}
<html>
<head>
<link rel="stylesheet" href="{{prefix}}static/site.css"></link>
<link rel="stylesheet" href="{{prefix}}static/user.css"></link>
<title> {{frontend}} on nntpchan </title>
</head>
<body>
<center>
<div class="index-outer">
<div class="index-inner">
<h1> {{frontend}} on nntpchan </h1>
<h2>View the <a href="ukko.html">overboard</a></h2>
<h3>Read the <a href="{{prefix}}static/faq.html">FAQ</a></h3>
<h3>Join the IRC on <a href="https://qchat.rizon.net/?channels=#nntpchan">rizon</a> or <a href="irc://127.0.0.1:6668/overchan">irc2p</a></h3>
<h3>Lurk on <a href="irc://allyour4nert7pkh.onion/overchan">URC</a></h3>
<h3>Check out the <a href="{{prefix}}boards.html">board list</a></h3>
<h3>Fork on github: <a href="https://github.com/majestrate/nntpchan/">frontend</a> and <a href="https://github.com/majestrate/srndv2/">core</a></h3>
<h4>We've Had {{totalposts}} Posts Since August 01 2015 </h4>
</div>
<div class="index-inner">
<table>
<tbody>
<tr>
<td>
{{{postsgraph.Render}}}
</td>
<td>
{{! todo: move boardgraph into its own file like postsgraph }}
<table id="board_graph">
<tbody>
<tr>
<th> Board </th>
<th> Posts this Hour </th>
<th> Posts Today </th>
<th> Total </th>
</tr>
{{# boardgraph}}
<tr>
<td>
<a href="{{prefix}}{{Board}}-0.html">{{Board}}</a>
</td>
<td>
{{Hour}}
</td>
<td>
{{Day}}
</td>
<td>
{{All}}
</td>
</tr>
{{/ boardgraph}}
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
{{{overview.Render}}}
</div>
</div>
</center>
</body>
</html>

View File

@ -1,34 +0,0 @@
{{!
graph_history.mustache
template parameters:
- history ( a list of PostEntry instances, see srnd/model.go )
}}
<html>
<head>
<meta charset="utf-8"></meta>
<link rel="stylesheet" href="{{prefix}}static/site.css" />
<link rel="stylesheet" href="{{prefix}}static/user.css" />
<title> Post History</title>
</head>
<body>
<table id="history_graph">
<thead>
<tr>
<th>Month</th>
<th>Posts</th>
<th></th>
</tr>
</thead>
<tbody>
{{#history.Scale}}
<tr>
<td>{{Date}}</td>
<td class="history_num">{{Num}}</td>
<td>{{OvercockGraph}}</td>
</tr>
{{/history.Scale}}
</tbody>
</table>
</body>
</html>

View File

@ -1,22 +0,0 @@
{{!
keygen.mustache -- page containing a newly generated tripcode
template parameters:
- prefix ( the site prefix )
- public ( the public key in hex )
- secret ( the secret key in hex )
- tripcode ( html version of the public key )
}}
<html>
<head>
<meta charset="utf-8"></meta>
<link rel="stylesheet" href="{{prefix}}static/site.css" />
<link rel="stylesheet" href="{{prefix}}static/user.css" />
<style src="{{prefix}}static/user.css" type="text/css"></style>
<title> here is a new tripcode </title>
</head>
<body>
<pre>New Tripcode:
<div id="secret_key">secret: {{secret}}</div><div id="public_key">public: {{public}}</div><div>tripcode: <span class="tripcode" id="capcode_key">{{{tripcode}}}</span></div>
</pre>
</body>
</html>

View File

@ -1,46 +0,0 @@
{{!
navbar.mustache -- element on the top of each nod-mod page
TODO: make this not suck, have a board list, have board page list
template parameters:
- name ( the name of whatever resource we are on, board/thread )
- frontend ( the name of the frontend we are on )
- links ( a list of Link Models to display )
- prefix ( site prefix )
}}
<div class="navbar">
<span class="navbar-name">
<span class="board_title">{{name}}</span>
on
<span class="frontend_title">{{frontend}}</span>
</span>
<span class="navbar-sep">
|
</span>
<span class="navbar-links">
<span class="navbar-links-title">
Pages:
</span>
{{# links }}
<span class="navbar-link"><a href="{{LinkURL}}">{{Text}}</a></span>
{{/ links }}
</span>
<span class="navbar-sep">
|
</span>
<span class="navbar-links">
<span class="navbar-link"><a href="{{prefix}}">front page</a></span>
</span>
<span class="navbar-sep">
|
</span>
<span class="navbar-links">
<span class="navbar-link"><a href="{{prefix}}ukko.html">overboard</a></span>
</span>
<span class="navbar-sep">
|
</span>
</div>
<hr />

View File

@ -1,25 +0,0 @@
{{! overview.mustache
paramters:
- overview (list of PostModels in order of last posted)
}}
<table id="overview_graph">
<thead>
<tr>
<th>Newsgroup</th>
<th>Posted</th>
<th>Subject</th>
</tr>
</thead>
<tbody>
{{#overview}}
<tr>
<td><a href="{{Prefix}}{{Board}}-0.html">{{Board}}</td>
<td>{{Date}}</td>
<td><a href="{{PostURL}}">{{Truncate.Subject}}</a></td>
</tr>
{{/overview}}
</tbody>
</table>

View File

@ -1,26 +0,0 @@
<fieldset>
{{#IsI2P}}
<img src="{{Prefix}}static/i2p.png" title="post from i2p" />
{{/IsI2P}}
{{#IsTor}}
<img src="{{Prefix}}static/tor.png" title="post from tor" />
{{/IsTor}}
{{#IsClearnet}}
<img src="{{Prefix}}static/clearnet.png" title="post from clearnet" />
{{/IsClearnet}}
<legend>
<span class="subject">{{Subject}}</span> <span class="name">{{Name}}</span> {{Date}}
No. <a onclick="nntpchan_backlink('{{ShortHash}}');" title="{{MessageID}}">{{ShortHash}}</a>
<a href="{{PostURL}}">[reply]</a> <span class="tripcode">{{{Pubkey}}}</span><br />
</legend>
{{#Attachments}}
<figure>
<figcaption>
<a target="_blank" href="{{Source}}" title="{{Filename}}"><img src="{{Thumbnail}}" alt="{{Filename}}" /></a>
</figcaption>
</figure>
{{/Attachments}}
<label class="post_body">
{{{RenderBody}}}
</label>
</fieldset>

View File

@ -1,9 +0,0 @@
<html>
<meta charset="utf-8" />
<link rel="stylesheet" href="{{prefix}}static/site.css" />
<link rel="stylesheet" href="{{prefix}}static/user.css" />
<meta http-equiv="refresh" content="1; {{redirect_url}}" />
<body>
<p>post failed: {{reason}}</p>
</body>
</html>

View File

@ -1,77 +0,0 @@
{{!
postform.mustache -- the form for posting
template parameters:
- post_url ( the url of the post form )
- reference ( the post we are replying to, or empty string if it's an op )
- button ( the text for the reply button )
}}
<form action="{{post_url}}" enctype="multipart/form-data" name="post" method="post">
<input type="hidden" name="reference" value="{{reference}}" />
<div id="postform-outer">
<div id="postform-inner">
<table class="postform">
<tbody>
<tr>
<th>
Name
</th>
<td>
<input type="text" name="name" value="" />
</td>
</tr>
<tr>
<th>
Subject
</th>
<td>
<input type="text" name="subject" value="" />
<input type="submit" value="{{button}}" class="button" />
</td>
</tr>
<tr>
<th>
Comment
</th>
<td>
<textarea id="postform_message" name="message" cols=40 rows=5></textarea>
</td>
</tr>
<tr>
<th>
File
</th>
<td>
<input type="file" name="attachment" />
</td>
</tr>
<tr>
<th>
Get Dubs
</th>
<td>
<input type="checkbox" name="dubs" />
</td>
</tr>
<tr>
<th>
Captcha
</th>
<td>
<img id="captcha_img" src="{{prefix}}captcha/img" alt="captcha" />
</td>
</tr>
<tr>
<th>
Solution
</th>
<td>
<input type="text" name="captcha" />
</td>
</tr>
</tbody>
</table>
</div>
</div>
</form>

View File

@ -1,25 +0,0 @@
{{!
posts graph.mustache -- post frequence graph
parameters:
* graph - a postsGraph instance (see srnd/model.go)
}}
<table id="posts_graph">
<thead>
<tr>
<th>Day</th>
<th>Posts</th>
<th></th>
</tr>
</thead>
<tbody>
{{#graph.Scale}}
<tr>
<td>{{Day}}</td>
<td>{{Num}}</td>
<td>{{OvercockGraph}}</td>
</tr>
{{/graph.Scale}}
</tbody>
</table>

View File

@ -1,45 +0,0 @@
{{!
thread.mustache -- renders to a thread-*.html page, shows the entire thread
template parameters:
- board ( the Board Model of the board this thread was posted in )
- thread ( the Thread Model of the current thread being rendered )
- form ( the post form markup )
Thread Model attributes:
- OP , the Post Model of the original poster
- Replies , a list of all the replies or empty if none
- Board , the name of the Board this thread is on
- BoardURL , the url that points to the board index page
}}
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="initial-scale=1" />
<link rel="stylesheet" href="{{thread.Prefix}}static/site.css" />
<link rel="stylesheet" href="{{thread.Prefix}}static/user.css" />
<script type="text/javascript" src="{{thread.Prefix}}static/nntpchan.js"></script>
<title> {{thread.OP.Subject}} </title>
</head>
<body>
<!-- begin navbar -->
{{{thread.Navbar}}}
<!-- end navbar -->
<!-- postform -->
<div id="postform_container">
{{{form}}}
</div>
<hr />
<div class="thread" id="thread_{{thread.OP.PostHash}}">
<div class="thread_header">
</div>
{{{thread.OP.RenderPost}}}
{{# thread.Replies}}
{{{RenderPost}}}
<br/>
{{/ thread.Replies}}
</div>
<br/>
</body>
</html>

View File

@ -1,35 +0,0 @@
{{!
ukko.mustache -- overboard, contains the last threads posted regardless of newsgroup
template parameters:
- prefix ( site prefix )
- threads ( a list of Thread Models that represent the latest threads )
}}
<html>
<head>
<title> ukko / overboard </title>
<meta charset="utf-8" />
<link rel="stylesheet" href="{{prefix}}static/site.css" />
<link rel="stylesheet" href="{{prefix}}static/user.css" />
<script type="text/javascript" src="{{prefix}}static/nntpchan.js"></script>
</head>
<body>
<div id="ukko_threads">
{{#threads}}
<!--
<div class="ukko_thread_header">
<p> Posted on <a href="{{{BoardURL}}}"><span class="ukko_boardname">{{OP.Board}}</span></a></p>
</div>
-->
<div class="thread" id="thread_{{OP.PostHash}}">
<div clsss="thread_header">
</div>
{{{OP.Truncate.RenderPost}}}
{{#Truncate.Replies}}
{{{Truncate.RenderPost}}}
<br />
{{/Truncate.Replies}}
</div>
{{/threads}}
</div>
</body>
</html>

View File

@ -11,24 +11,37 @@
- Navbar ( a function that renders the navbar, should not be escaped ) - Navbar ( a function that renders the navbar, should not be escaped )
- Threads ( a list of Thread Models with the last few replies ) - Threads ( a list of Thread Models with the last few replies )
}} }}
<!doctype html>
<html> <html>
<head> <head>
<link rel="stylesheet" type="text/css" href="/static/user.css"> <meta charset="utf-8" />
<meta name="viewport" content="initial-scale=1" />
<link rel="stylesheet" href="{{board.Prefix}}static/site.css" />
<link rel="stylesheet" href="{{board.Prefix}}static/user.css" />
<script type="text/javascript" src="{{board.Prefix}}static/nntpchan.js"></script>
<title>{{board.Board}}</title> <title>{{board.Board}}</title>
</head> </head>
<body> <body>
<!-- begin navbar -->
{{{board.Navbar}}} {{{board.Navbar}}}
{{{form}}} <!-- end navbar -->
<dl>
<hr> <!-- postform -->
{{#board.Threads}} <div id="postform_container">
{{{OP.Truncate.RenderPost}}} {{{form}}}
{{#Truncate.Replies}} </div>
{{{Truncate.RenderPost}}} <hr />
{{/Truncate.Replies}} <div id="threads_container">
<hr> {{#board.Threads}}
{{/board.Threads}} <div class="thread" id="thread_{{OP.PostHash}}">
</dl> <div clsss="thread_header">
</div>
{{{OP.Truncate.RenderPost}}}
{{#Truncate.Replies}}
{{{Truncate.RenderPost}}}
<br />
{{/Truncate.Replies}}
</div>
{{/board.Threads}}
</div>
</body> </body>
</html> </html>

View File

@ -5,36 +5,45 @@
- frontend ( the name of the frontend ) - frontend ( the name of the frontend )
- prefix ( the site's prefix ) - prefix ( the site's prefix )
}} }}
<!doctype html>
<html> <html>
<head> <head>
<link rel="stylesheet" type="text/css" href="/static/user.css"> <link rel="stylesheet" href="{{prefix}}static/site.css"></link>
<title>{{frontend}} boards</title> <link rel="stylesheet" href="{{prefix}}static/user.css"></link>
<title> {{frontend}} board list </title>
</head> </head>
<body> <body>
<table border="1"> <center>
<tr> <div class="index-outer">
<th>board</th> <div class="index-inner">
<th>posts per hour</th> <table id="board_graph">
<th>posts per day</th> <tbody>
<th>total</th> <tr>
</tr> <th> Board </th>
{{# graph}} <th> Post per Hour </th>
<tr> <th> Post per Day </th>
<td> <th> Total </th>
<a href="{{prefix}}{{Board}}-0.html">{{Board}}</a> </tr>
</td> {{# graph}}
<td> <tr>
{{Hour}} <td>
</td> <a href="{{prefix}}{{Board}}-0.html">{{Board}}</a>
<td> </td>
{{Day}} <td>
</td> {{Hour}}
<td> </td>
{{All}} <td>
</td> {{Day}}
</tr> </td>
{{/ graph}} <td>
</table> {{All}}
</td>
</tr>
{{/ graph}}
</tbody>
</table>
</div>
</div>
</center>
</body> </body>
</html> </html>

View File

@ -8,4 +8,68 @@
- frontend ( the name of the frontend ) - frontend ( the name of the frontend )
- prefix ( the site's prefix ) - prefix ( the site's prefix )
}} }}
<!doctype html><html><head><link rel="stylesheet" href="/static/user.css"><title>{{frontend}} on nntpchan</title></head><body><p>{{frontend}} on nntpchan</p><p><a href="ukko.html">overboard</a> <a href="{{prefix}}boards.html">boards</a> <a href="{{prefix}}static/faq.html">faq</a></p><dl><dt>last posts:</dt><dd>{{{overview.Render}}}</dd></dl><dl><dt>board stats:</dt><dd><table><tr><th>board</th><th>posts this hour</th><th>posts today</th><th>total</th></tr>{{# boardgraph}}<tr><td><a href="{{prefix}}{{Board}}-0.html">{{Board}}</a></td><td>{{Hour}}</td><td>{{Day}}</td><td>{{All}}</td></tr>{{/ boardgraph}}</table></dd></dl><dl><dt>total stats:</dt><dd>{{{postsgraph.Render}}}</dd></dl><p>{{totalposts}} posts total</p></body></html>
<html>
<head>
<link rel="stylesheet" href="{{prefix}}static/site.css"></link>
<link rel="stylesheet" href="{{prefix}}static/user.css"></link>
<title> {{frontend}} on nntpchan </title>
</head>
<body>
<center>
<div class="index-outer">
<div class="index-inner">
<h1> {{frontend}} on nntpchan </h1>
<h2>View the <a href="ukko.html">overboard</a></h2>
<h3>Read the <a href="{{prefix}}static/faq.html">FAQ</a></h3>
<h3>Join the IRC on <a href="https://qchat.rizon.net/?channels=#nntpchan">rizon</a> or <a href="irc://127.0.0.1:6668/overchan">irc2p</a></h3>
<h3>Lurk on <a href="irc://allyour4nert7pkh.onion/overchan">URC</a></h3>
<h3>Check out the <a href="{{prefix}}boards.html">board list</a></h3>
<h3>Fork on github: <a href="https://github.com/majestrate/nntpchan/">frontend</a> and <a href="https://github.com/majestrate/srndv2/">core</a></h3>
<h4>We've Had {{totalposts}} Posts Since August 01 2015 </h4>
</div>
<div class="index-inner">
<table>
<tbody>
<tr>
<td>
{{{postsgraph.Render}}}
</td>
<td>
{{! todo: move boardgraph into its own file like postsgraph }}
<table id="board_graph">
<tbody>
<tr>
<th> Board </th>
<th> Posts this Hour </th>
<th> Posts Today </th>
<th> Total </th>
</tr>
{{# boardgraph}}
<tr>
<td>
<a href="{{prefix}}{{Board}}-0.html">{{Board}}</a>
</td>
<td>
{{Hour}}
</td>
<td>
{{Day}}
</td>
<td>
{{All}}
</td>
</tr>
{{/ boardgraph}}
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
{{{overview.Render}}}
</div>
</div>
</center>
</body>
</html>

View File

@ -12,25 +12,23 @@ template parameters:
<title> Post History</title> <title> Post History</title>
</head> </head>
<body> <body>
<td> <table id="history_graph">
<table id="history_graph"> <thead>
<thead> <tr>
<th>Month</th>
<th>Posts</th>
<th></th>
</tr>
</thead>
<tbody>
{{#history.Scale}}
<tr> <tr>
<th>Month</th> <td>{{Date}}</td>
<th>Posts</th> <td class="history_num">{{Num}}</td>
<th></th> <td>{{OvercockGraph}}</td>
</tr> </tr>
</thead> {{/history.Scale}}
<tbody> </tbody>
{{#history.Scale}} </table>
<tr>
<td>{{Date}}</td>
<td class="history_num">{{Num}}</td>
<td>{{OvercockGraph}}</td>
</tr>
{{/history.Scale}}
</tbody>
</table>
</td>
</body> </body>
</html> </html>

View File

@ -5,11 +5,18 @@
- public ( the public key in hex ) - public ( the public key in hex )
- secret ( the secret key in hex ) - secret ( the secret key in hex )
- tripcode ( html version of the public key ) - tripcode ( html version of the public key )
}} }}
<!doctype html><html><head><title>new tripcode</title></head><body><pre> <html>
new tripcode: <head>
<meta charset="utf-8"></meta>
secret: {{secret}} <link rel="stylesheet" href="{{prefix}}static/site.css" />
public: {{public}} <link rel="stylesheet" href="{{prefix}}static/user.css" />
tripcode: {{{tripcode}}} <style src="{{prefix}}static/user.css" type="text/css"></style>
</pre></body></html> <title> here is a new tripcode </title>
</head>
<body>
<pre>New Tripcode:
<div id="secret_key">secret: {{secret}}</div><div id="public_key">public: {{public}}</div><div>tripcode: <span class="tripcode" id="capcode_key">{{{tripcode}}}</span></div>
</pre>
</body>
</html>

View File

@ -6,8 +6,7 @@
}} }}
<html> <html>
<head> <head>
<link rel="stylesheet" href="{{prefix}}static/site.css" /> <link rel="stylesheet" href="{{prefix}}static/site.css"></link>
<link rel="stylesheet" href="{{prefix}}static/user.css" />
<!-- yes it uses js --> <!-- yes it uses js -->
<script type="text/javascript" src="{{prefix}}static/mod.js"></script> <script type="text/javascript" src="{{prefix}}static/mod.js"></script>
<title> nntpchan mod page </title> <title> nntpchan mod page </title>

View File

@ -9,4 +9,38 @@
- links ( a list of Link Models to display ) - links ( a list of Link Models to display )
- prefix ( site prefix ) - prefix ( site prefix )
}} }}
<p>{{name}} on {{frontend}} | {{# links}} <a href="{{LinkURL}}">{{Text}}</a> {{/ links}} | <a href="{{prefix}}">front page</a> <a href="{{prefix}}ukko.html">overboard</a></p> <div class="navbar">
<span class="navbar-name">
<span class="board_title">{{name}}</span>
on
<span class="frontend_title">{{frontend}}</span>
</span>
<span class="navbar-sep">
|
</span>
<span class="navbar-links">
<span class="navbar-links-title">
Pages:
</span>
{{# links }}
<span class="navbar-link"><a href="{{LinkURL}}">{{Text}}</a></span>
{{/ links }}
</span>
<span class="navbar-sep">
|
</span>
<span class="navbar-links">
<span class="navbar-link"><a href="{{prefix}}">front page</a></span>
</span>
<span class="navbar-sep">
|
</span>
<span class="navbar-links">
<span class="navbar-link"><a href="{{prefix}}ukko.html">overboard</a></span>
</span>
<span class="navbar-sep">
|
</span>
</div>
<hr />

View File

@ -28,7 +28,7 @@
Comment Comment
</th> </th>
<td> <td>
<textarea id="postform_message" name="message" cols=40 rows=5></textarea> <textarea id="postform_message" type="text" name="message" cols=40 rows=5></textarea>
</td> </td>
</tr> </tr>
<tr> <tr>
@ -53,4 +53,4 @@
</div> </div>
</form> </form>
</body> </body>
</html> </html>

View File

@ -4,4 +4,22 @@ paramters:
- overview (list of PostModels in order of last posted) - overview (list of PostModels in order of last posted)
}} }}
<table><tr><th>date</th><th>board</th><th>subject</th></tr>{{#overview}}<tr><td>{{Date}}</td><td><a href="{{Prefix}}{{Board}}-0.html">{{Board}}</a></td><td><a href="{{PostURL}}">{{Truncate.Subject}}</a></td></tr>{{/overview}}</table>
<table id="overview_graph">
<thead>
<tr>
<th>Newsgroup</th>
<th>Posted</th>
<th>Subject</th>
</tr>
</thead>
<tbody>
{{#overview}}
<tr>
<td><a href="{{Prefix}}{{Board}}-0.html">{{Board}}</td>
<td>{{Date}}</td>
<td><a href="{{PostURL}}">{{Truncate.Subject}}</a></td>
</tr>
{{/overview}}
</tbody>
</table>

View File

@ -1,15 +1,26 @@
<dt id="{{PostHash}}"> <fieldset>
<a onclick="nntpchan_backlink('{{ShortHash}}');" title="{{MessageID}}">{{ShortHash}}</a> {{#IsI2P}}
{{Date}} <img src="{{Prefix}}static/i2p.png" title="post from i2p" />
{{#IsI2P}}i2p{{/IsI2P}}{{#IsTor}}tor{{/IsTor}}{{#IsClearnet}}clr{{/IsClearnet}} {{/IsI2P}}
{{Subject}} {{#IsTor}}
{{Name}} <img src="{{Prefix}}static/tor.png" title="post from tor" />
{{{Pubkey}}} {{/IsTor}}
<a href="{{PostURL}}">[reply]</a> {{#IsClearnet}}
</dt> <img src="{{Prefix}}static/clearnet.png" title="post from clearnet" />
<dd> {{/IsClearnet}}
{{{RenderBody}}} <legend>
<span class="subject">{{Subject}}</span> <span class="name">{{Name}}</span> {{Date}}
No. <a onclick="nntpchan_backlink('{{ShortHash}}');" title="{{MessageID}}">{{ShortHash}}</a>
<a href="{{PostURL}}">[reply]</a> <span class="tripcode">{{{Pubkey}}}</span><br />
</legend>
{{#Attachments}} {{#Attachments}}
file: <a href="{{Source}}" target="_blank">{{Filename}}</a><br><br> <figure>
<figcaption>
<a target="_blank" href="{{Source}}" title="{{Filename}}"><img src="{{Thumbnail}}" alt="{{Filename}}" /></a>
</figcaption>
</figure>
{{/Attachments}} {{/Attachments}}
</dd> <label class="post_body">
{{{RenderBody}}}
</label>
</fieldset>

View File

@ -1,7 +1,9 @@
<!doctype html>
<html> <html>
<meta charset="utf-8" />
<link rel="stylesheet" href="{{prefix}}static/site.css" />
<link rel="stylesheet" href="{{prefix}}static/user.css" />
<meta http-equiv="refresh" content="1; {{redirect_url}}" /> <meta http-equiv="refresh" content="1; {{redirect_url}}" />
<body> <body>
<p>fail: {{reason}}</p> <p>post failed: {{reason}}</p>
</body> </body>
</html> </html>

View File

@ -1,9 +1,11 @@
<html> <html>
<head> <head>
<link rel="stylesheet" type="text/css" href="/static/user.css"> <title> try again </title>
<title>try again</title> <meta charset="utf-8" />
<link rel="stylesheet" href="{{prefix}}static/site.css" />
<link rel="stylesheet" href="{{prefix}}static/user.css" />
</head> </head>
<body> <body>
<form enctype="multipart/form-data" name="post" method="post"> <form enctype="multipart/form-data" name="post" method="post">
{{#attachment}} {{#attachment}}
<input type="hidden" name="attachment_data" value="{{attachment}}" /> <input type="hidden" name="attachment_data" value="{{attachment}}" />
@ -43,4 +45,4 @@
</div> </div>
</form> </form>
</body> </body>
</html> </html>

View File

@ -4,12 +4,12 @@
- redirect_url ( the url of the next page we should redirect to ) - redirect_url ( the url of the next page we should redirect to )
- message_id ( the value of the Message-ID header in the post we made, the truncated sha1 of this is the >>posthash ) - message_id ( the value of the Message-ID header in the post we made, the truncated sha1 of this is the >>posthash )
}} }}
<!doctype html>
<html> <html>
<head> <meta charset="utf-8" />
<meta http-equiv="refresh" content="2; {{redirect_url}}"> <link rel="stylesheet" href="{{prefix}}static/site.css" />
</head> <link rel="stylesheet" href="{{prefix}}static/user.css" />
<meta http-equiv="refresh" content="2; {{redirect_url}}" />
<body> <body>
<pre>posted as {{message_id}}</pre> <pre>posted as {{message_id}}</pre>
</body> </body>
</html> </html>

View File

@ -5,16 +5,73 @@
- post_url ( the url of the post form ) - post_url ( the url of the post form )
- reference ( the post we are replying to, or empty string if it's an op ) - reference ( the post we are replying to, or empty string if it's an op )
- button ( the text for the reply button ) - button ( the text for the reply button )
}} }}
<form action="{{post_url}}" enctype="multipart/form-data" name="post" method="post" style="overflow:auto"> <form action="{{post_url}}" enctype="multipart/form-data" name="post" method="post">
<input type="hidden" name="reference" value="{{reference}}"> <input type="hidden" name="reference" value="{{reference}}" />
<textarea id="postform_message" name="message" placeholder="text" cols="40" rows="10" style="float:left" ></textarea><br> <div id="postform-outer">
<div style="float:left"> <div id="postform-inner">
<input type="file" name="attachment"><br> <table class="postform">
<input type="text" name="subject" placeholder="subject"><br> <tbody>
<input type="text" name="name" placeholder="name"><br> <tr>
<input type="text" name="captcha" placeholder="captcha"><br> <th>
<input type="submit" value="{{button}}" class="button"><br> Name
</div> </th>
<img id="captcha_img" src="{{prefix}}captcha/img" alt="captcha" style="float:left"> <td>
</form> <input type="text" name="name" value="" />
</td>
</tr>
<tr>
<th>
Subject
</th>
<td>
<input type="text" name="subject" value="" />
<input type="submit" value="{{button}}" class="button" />
</td>
</tr>
<tr>
<th>
Comment
</th>
<td>
<textarea id="postform_message" name="message" cols=40 rows=5></textarea>
</td>
</tr>
<tr>
<th>
File
</th>
<td>
<input type="file" name="attachment" />
</td>
</tr>
<tr>
<th>
Get Dubs
</th>
<td>
<input type="checkbox" name="dubs" />
</td>
</tr>
<tr>
<th>
Captcha
</th>
<td>
<img id="captcha_img" src="{{prefix}}captcha/img" alt="captcha" />
</td>
</tr>
<tr>
<th>
Solution
</th>
<td>
<input type="text" name="captcha" />
</td>
</tr>
</tbody>
</table>
</div>
</div>
</form>

View File

@ -4,4 +4,22 @@ parameters:
* graph - a postsGraph instance (see srnd/model.go) * graph - a postsGraph instance (see srnd/model.go)
}} }}
<table><tr><th>date</th><th>posts</th><th>cock</th></tr>{{#graph.Scale}}<tr><td>{{Day}}</td><td>{{Num}}</td><td>{{OvercockGraph}}</td></tr>{{/graph.Scale}}</table>
<table id="posts_graph">
<thead>
<tr>
<th>Day</th>
<th>Posts</th>
<th></th>
</tr>
</thead>
<tbody>
{{#graph.Scale}}
<tr>
<td>{{Day}}</td>
<td>{{Num}}</td>
<td>{{OvercockGraph}}</td>
</tr>
{{/graph.Scale}}
</tbody>
</table>

View File

@ -10,18 +10,36 @@
- Replies , a list of all the replies or empty if none - Replies , a list of all the replies or empty if none
- Board , the name of the Board this thread is on - Board , the name of the Board this thread is on
- BoardURL , the url that points to the board index page - BoardURL , the url that points to the board index page
}} }}
<!doctype html><html><head><link rel="stylesheet" type="text/css" href="/static/user.css"> <html>
<title>{{thread.OP.Subject}}</title> <head>
<script type="text/javascript" src="{{thread.Prefix}}static/nntpchan.js"></script> <meta charset="utf-8" />
</head> <meta name="viewport" content="initial-scale=1" />
<body> <link rel="stylesheet" href="{{thread.Prefix}}static/site.css" />
{{{thread.Navbar}}} <link rel="stylesheet" href="{{thread.Prefix}}static/user.css" />
{{{form}}} <script type="text/javascript" src="{{thread.Prefix}}static/nntpchan.js"></script>
<dl> <title> {{thread.OP.Subject}} </title>
{{{thread.OP.RenderPost}}} </head>
{{# thread.Replies}} <body>
{{{RenderPost}}}
{{/ thread.Replies}} <!-- begin navbar -->
</dl> {{{thread.Navbar}}}
</body></html> <!-- end navbar -->
<!-- postform -->
<div id="postform_container">
{{{form}}}
</div>
<hr />
<div class="thread" id="thread_{{thread.OP.PostHash}}">
<div class="thread_header">
</div>
{{{thread.OP.RenderPost}}}
{{# thread.Replies}}
{{{RenderPost}}}
<br/>
{{/ thread.Replies}}
</div>
<br/>
</body>
</html>

View File

@ -3,24 +3,33 @@
template parameters: template parameters:
- prefix ( site prefix ) - prefix ( site prefix )
- threads ( a list of Thread Models that represent the latest threads ) - threads ( a list of Thread Models that represent the latest threads )
}} }}
<!doctype html>
<html> <html>
<head> <head>
<link rel="stylesheet" type="text/css" href="/static/user.css"> <title> ukko / overboard </title>
<title>ukko/overboard</title> <meta charset="utf-8" />
</head> <link rel="stylesheet" href="{{prefix}}static/site.css" />
<link rel="stylesheet" href="{{prefix}}static/user.css" />
<script type="text/javascript" src="{{prefix}}static/nntpchan.js"></script>
</head>
<body> <body>
<a href="/">frontpage</a> <div id="ukko_threads">
{{#threads}} {{#threads}}
<hr> <!--
<p>posted on <a href="{{{BoardURL}}}">{{OP.Board}}</a></p> <div class="ukko_thread_header">
<dl> <p> Posted on <a href="{{{BoardURL}}}"><span class="ukko_boardname">{{OP.Board}}</span></a></p>
{{{OP.Truncate.RenderPost}}} </div>
{{#Truncate.Replies}} -->
{{{Truncate.RenderPost}}} <div class="thread" id="thread_{{OP.PostHash}}">
{{/Truncate.Replies}} <div clsss="thread_header">
</dl> </div>
{{/threads}} {{{OP.Truncate.RenderPost}}}
{{#Truncate.Replies}}
{{{Truncate.RenderPost}}}
<br />
{{/Truncate.Replies}}
</div>
{{/threads}}
</div>
</body> </body>
</html> </html>