diff options
Diffstat (limited to 'client/html')
| -rw-r--r-- | client/html/help-about.hbs | 13 | ||||
| -rw-r--r-- | client/html/help-comments.hbs | 30 | ||||
| -rw-r--r-- | client/html/help-keyboard.hbs | 42 | ||||
| -rw-r--r-- | client/html/help-search.hbs | 265 | ||||
| -rw-r--r-- | client/html/help-tos.hbs | 51 | ||||
| -rw-r--r-- | client/html/help.hbs | 13 | ||||
| -rw-r--r-- | client/html/home.hbs | 5 | ||||
| -rw-r--r-- | client/html/index.htm | 16 | ||||
| -rw-r--r-- | client/html/login.hbs | 26 | ||||
| -rw-r--r-- | client/html/top_nav.hbs | 11 | ||||
| -rw-r--r-- | client/html/user_registration.hbs | 37 |
11 files changed, 509 insertions, 0 deletions
diff --git a/client/html/help-about.hbs b/client/html/help-about.hbs new file mode 100644 index 0000000..1a1c377 --- /dev/null +++ b/client/html/help-about.hbs @@ -0,0 +1,13 @@ +<p>Szurubooru is an image board engine inspired by services such as Danbooru, +Gelbooru and Moebooru. Its name <a href='http://sjp.pwn.pl/sjp/;2527372'>has +its roots in Polish language and has onomatopeic meaning of scraping or +scrubbing</a>. It is pronounced as <em>shoorubooru</em>.</p> + +<p class='section'><strong>Registration</strong></p> + +<p>The e-mail you enter during account creation is only used to retrieve your +Gravatar and for password reminders. Only you can see it (well, except the +database staff… we won’t spam your mailbox anyway).</p> + +<p>Oh, and you can delete your account at any time. Posts you uploaded will +stay, unless some angry admin removes them.</p> diff --git a/client/html/help-comments.hbs b/client/html/help-comments.hbs new file mode 100644 index 0000000..a1a7b3d --- /dev/null +++ b/client/html/help-comments.hbs @@ -0,0 +1,30 @@ +<p>Comments support Markdown syntax, extended by some handy tags:</p> + +<table> + <tbody> + <tr> + <td><code>@426</code></td> + <td>links to post number 426</td> + </tr> + <tr> + <td><code>#Dragon_Ball</code></td> + <td>links to tag “Dragon_Ball”</td> + </tr> + <tr> + <td><code>+Pirate</code></td> + <td>links to user “Pirate”</td> + </tr> + <tr> + <td><code>~~new~~</code></td> + <td>adds strike-through</td> + </tr> + <tr> + <td><code>[spoiler]Lelouch survives[/spoiler]</td> + <td>marks text as spoiler and hides it</td> + </tr> + <tr> + <td><code>[sjis](´・ω・`)[/sjis]</td> + <td>adds SJIS art</td> + </tr> + </tbody> +</table> diff --git a/client/html/help-keyboard.hbs b/client/html/help-keyboard.hbs new file mode 100644 index 0000000..8b04682 --- /dev/null +++ b/client/html/help-keyboard.hbs @@ -0,0 +1,42 @@ +<p>You can use your keyboard to navigate around the site. There are a few +shortcuts:</p> + +<table> + <thead> + <tr> + <th>Hotkey</th> + <th>Description</th> + </tr> + </thead> + <tbody> + <tr> + <td><code>[Q]</code></td> + <td>Focus search field, if available</td> + </tr> + + <tr> + <td><code>[A]</code> and <code>[D]</code></td> + <td>Go to newer/older page or post</td> + </tr> + + <tr> + <td><code>[F]</code></td> + <td>Cycle post fit mode</td> + </tr> + + <tr> + <td><code>[E]</code></td> + <td>Edit post</td> + </tr> + + <tr> + <td><code>[P]</code></td> + <td>Focus first post in post list</td> + </tr> + </tbody> +</table> + +<p>Additionally, each item in top navigation can be accessed using feature +called “access keys”. Pressing underlined letter while holding +Shfit or Alt+Shift (depending on your browser) will go to the desired page +(most browsers) or focus the link (IE).</p> diff --git a/client/html/help-search.hbs b/client/html/help-search.hbs new file mode 100644 index 0000000..c340f3a --- /dev/null +++ b/client/html/help-search.hbs @@ -0,0 +1,265 @@ +<table> + <thead> + <tr> + <th>Command</th> + <th>Description</th> + </tr> + </thead> + + <tbody> + <tr> + <td><a href='/posts/query=Haruhi'><code>Haruhi</code></a></td> + <td>containing tag “Haruhi”</td> + </tr> + <tr> + <td><a href='/posts/query=-Kyon'><code>-Kyon</code></a></td> + <td>not containing tag “Kyon”</td> + </tr> + <tr> + <td><a href='/posts/query=uploader:David'><code>uploader:David</code></a></td> + <td>uploaded by user David</td> + </tr> + <tr> + <td><a href='/posts/query=comment:David'><code>comment:David</code></a></td> + <td>commented by David</td> + </tr> + <tr> + <td><a href='/posts/query=fav:David'><code>fav:David</code></a></td> + <td>favorited by David</td> + </tr> + <tr> + <td><a href='/posts/query=fav_count:4'><code>fav_count:4</code></a></td> + <td>favorited by exactly four users</td> + </tr> + <tr> + <td><a href='/posts/query=fav_count:4,5'><code>fav_count:4,5</code></a></td> + <td>favorited by four or five users</td> + </tr> + <tr> + <td><a href='/posts/query=fav_count:4..'><code>fav_count:4..</code></a></td> + <td>favorited by at least four users</td> + </tr> + <tr> + <td><a href='/posts/query=fav_count:..4'><code>fav_count:..4</code></a></td> + <td>favorited by at most four users</td> + </tr> + <tr> + <td><a href='/posts/query=fav_count:4..6'><code>fav_count:4..6</code></a></td> + <td>favorited by at least four, but no more than six users</td> + </tr> + <tr> + <td><a href='/posts/query=comment_count:3'><code>comment_count:3</code></a></td> + <td>having exactly three comments</td> + </tr> + <tr> + <td><a href='/posts/query=score:4'><code>score:4</code></a></td> + <td>having score of 4</td> + </tr> + <tr> + <td><a href='/posts/query=tag_count:7'><code>tag_count:7</code></a></td> + <td>tagged with exactly seven tags</td> + </tr> + <tr> + <td><a href='/posts/query=note_count:1..'><code>note_count:1..</code></a></td> + <td>having at least one post note</td> + </tr> + <tr> + <td><a href='/posts/query=feature_count:1..'><code>feature_count:1..</code></a></td> + <td>having been featured at least once</td> + </tr> + <tr> + <td><a href='/posts/query=date:today'><code>date:today</code></a></td> + <td>posted today</td> + </tr> + <tr> + <td><a href='/posts/query=date:yesterday'><code>date:yesterday</code></a></td> + <td>posted yesterday</td> + </tr> + <tr> + <td><a href='/posts/query=date:2000'><code>date:2000</code></a></td> + <td>posted in year 2000</td> + </tr> + <tr> + <td><a href='/posts/query=date:2000-01'><code>date:2000-01</code></a></td> + <td>posted in January, 2000</td> + </tr> + <tr> + <td><a href='/posts/query=date:2000-01-01'><code>date:2000-01-01</code></a></td> + <td>posted on January 1st, 2000</td> + </tr> + <tr> + <td><a href='/posts/query=id:1'><code>id:1</code></a></td> + <td>having specific post ID</td> + </tr> + <tr> + <td><a href='/posts/query=name:hash'><code>name:<em>hash</em></code></a></td> + <td>having specific post name (hash in full URLs)</td> + </tr> + <tr> + <td><a href='/posts/query=file_size:100..'><code>file_size:100..</code></a></td> + <td>having at least 100 bytes</td> + </tr> + <tr> + <td><a href='/posts/query=image_width:100..'><code>image_width:100..</code></a></td> + <td>being at least 100 pixels wide</td> + </tr> + <tr> + <td><a href='/posts/query=image_height:100..'><code>image_height:100..</code></a></td> + <td>being at least 100 pixels tall</td> + </tr> + <tr> + <td><a href='/posts/query=image_area:10000..'><code>image_area:10000..</code></a></td> + <td>having at least 10000 pixels</td> + </tr> + <tr> + <td><a href='/posts/query=type:image'><code>type:image</code></a></td> + <td>only image posts</td> + </tr> + <tr> + <td><a href='/posts/query=type:flash'><code>type:flash</code></a></td> + <td>only Flash posts</td> + </tr> + <tr> + <td><a href='/posts/query=type:youtube'><code>type:youtube</code></a></td> + <td>only Youtube posts</td> + </tr> + <tr> + <td><a href='/posts/query=type:video'><code>type:video</code></a></td> + <td>only video posts</td> + </tr> + <tr> + <td><a href='/posts/query=special:liked'><code>special:liked</code></a></td> + <td>posts liked by currently logged in user</td> + </tr> + <tr> + <td><a href='/posts/query=special:disliked'><code>special:disliked</code></a></td> + <td>posts disliked by currently logged in user</td> + </tr> + <tr> + <td><a href='/posts/query=special:fav'><code>special:fav</code></a></td> + <td>posts added to favorites by currently logged in user</td> + </tr> + <tr> + <td><a href='/posts/query=special:tumbleweed'><code>special:tumbleweed</code></a></td> + <td>posts with score of 0, without comments and without favorites</td> + </tr> + </tbody> +</table> + +<p>Most of the commands support ranged and composites values, e.g. +<code>id:<em>number</em></code> operator supports respectively +<a href='/posts/query=id:5..7'><code>id:5..7</code></a> and +<a href='/posts/query=id:5,10,15'><code>id:5,10,15</code></a>. +You can combine tags and negate any of them for interesting results. +<a href='/posts/query=sea -fav_count:..8 type:flash uploader:Pirate'><code>sea -fav_count:8.. type:swf uploader:Pirate</code></a> +will show you flash files tagged as sea, that were liked by seven people at +most, uploaded by user Pirate.</p> + +<p>All of the above can be sorted using additional tag in form of +<code>order:<em>keyword</em></code>:</p> + +<table> + <thead> + <tr> + <th>Command</th> + <th>Description</th> + </tr> + </thead> + + <tbody> + <tr> + <td><a href='/posts/query=order:random'><code>order:random</code></a></td> + <td>as random as it can get</td> + </tr> + + <tr> + <td><a href='/posts/query=order:id'><code>order:id</code></a></td> + <td>highest to lowest post ID (default browse view)</td> + </tr> + + <tr> + <td><a href='/posts/query=order:creation_date'><code>order:creation_date</code></a></td> + <td>newest to oldest (pretty much same as above)</td> + </tr> + + <tr> + <td><a href='/posts/query=-order:creation_date'><code>-order:creation_date</code></a></td> + <td>oldest to newest</td> + </tr> + + <tr> + <td><a href='/posts/query=order:creation_date,asc'><code>order:creation_date,asc</code></a></td> + <td>oldest to newest (ascending order, default = descending)</td> + </tr> + + <tr> + <td><a href='/posts/query=order:edit_date'><code>order:edit_date</code></a></td> + <td>like <code>creation_date</code>, only looks at last edit time</td> + </tr> + + <tr> + <td><a href='/posts/query=order:score'><code>order:score</code></a></td> + <td>highest scored</td> + </tr> + + <tr> + <td><a href='/posts/query=order:file_size'><code>order:file_size</code></a></td> + <td>largest files first</td> + </tr> + + <tr> + <td><a href='/posts/query=order:image_width'><code>order:image_width</code></a></td> + <td>widest images first</td> + </tr> + + <tr> + <td><a href='/posts/query=order:image_height'><code>order:image_height</code></a></td> + <td>tallest images first</td> + </tr> + + <tr> + <td><a href='/posts/query=order:image_area'><code>order:image_area</code></a></td> + <td>largest images first</td> + </tr> + + <tr> + <td><a href='/posts/query=order:tag_count'><code>order:tag_count</code></a></td> + <td>with most tags</td> + </tr> + + <tr> + <td><a href='/posts/query=order:fav_count'><code>order:fav_count</code></a></td> + <td>loved by most</td> + </tr> + + <tr> + <td><a href='/posts/query=order:comment_count'><code>order:comment_count</code></a></td> + <td>most commented first</td> + </tr> + + <tr> + <td><a href='/posts/query=order:fav_date'><code>order:fav_date</code></a></td> + <td>recently added to favorites</td> + </tr> + + <tr> + <td><a href='/posts/query=order:comment_date'><code>order:comment_date</code></a></td> + <td>recently commented</td> + </tr> + + <tr> + <td><a href='/posts/query=order:feature_date'><code>order:feature_date</code></a></td> + <td>recently featured</td> + </tr> + + <tr> + <td><a href='/posts/query=order:feature_count'><code>order:feature_count</code></a></td> + <td>most often featured</td> + </tr> + </tbody> +</table> + +<p>As shown with <a +href='/posts/query=-order:creation_date'><code>-order:creation_date</code></a>, +any of them can be reversed in the same way as negating other tags: by placing +a dash before the tag.</p> diff --git a/client/html/help-tos.hbs b/client/html/help-tos.hbs new file mode 100644 index 0000000..2b35f8f --- /dev/null +++ b/client/html/help-tos.hbs @@ -0,0 +1,51 @@ +<p>By accessing {{ name }} (“Site”) you agree to the following +Terms of Service. If you do not agree to these terms, then please do not access +the Site.</p> + +<ul> + <li>The Site is presented to you AS IS, without any warranty, express or + implied. You will not hold the Site or its staff members liable for damages + caused by the use of the site.</li> + <li>The Site reserves the right to delete or modify your account, or any + content you have posted to the site.</li> + <li>The Site reserves the right to change these Terms of Service without + prior notice.</li> + <li>If you are a minor, then you will not use the Site.</li> + <li>You are using the Site only for personal use.</li> + <li>You will not spam, troll or offend anyone.</li> + <li>You accept that the Site is not liable for any content that you may + stumble upon.</li> +</ul> + +<p class='section' id='section-prohibited-content'><strong>Prohibited content</strong></p> + +<ul> + <li>Child pornography: any photograph or photorealistic drawing or movie + that depicts children in a sexual manner. This includes nudity, explicit + sex, implied sex, or sexually persuasive positions.</li> + + <li>Bestiality: any photograph or photorealistic drawing or movie that + depicts humans having sex (either explicit or implied) with other non-human + animals.</li> + + <li>Any depiction of extreme mutilation, extreme bodily distension, + feces.</li> + + <li>Personal images: any image that is suspected to be uploaded for + personal use. This includes, but is not limited to, avatars and forum + signatures.</li> +</ul> + +<p class='section' id='section-privacy-policy'><strong>Privacy policy</strong></p> + +<p>The Site will not disclose the IP address or email address of any user +except to the staff.</p> + +<p>Posts, comments, favorites, ratings and other actions linked to your account +will be stored in the Site’s database. The “Upload +anonymously” option allows you to post content without linking it to your +account – meaning your nickname will not be stored in the database +nor shown in the “Uploader” field.</p> + +<p>Cookies are used to store your session data in order to keep you logged in +and personalize your web experience.</p> diff --git a/client/html/help.hbs b/client/html/help.hbs new file mode 100644 index 0000000..5a2fccd --- /dev/null +++ b/client/html/help.hbs @@ -0,0 +1,13 @@ +<div class='content-wrapper' id='help'> + <nav class='text-nav'><!-- + --><ul><!-- + --><li data-name='about'><a href='/help/about'>About</a></li><!-- + --><li data-name='keyboard'><a href='/help/keyboard'>Keyboard</a></li><!-- + --><li data-name='search'><a href='/help/search'>Search syntax</a></li><!-- + --><li data-name='comments'><a href='/help/comments'>Comments</a></li><!-- + --><li data-name='tos'><a href='/help/tos'>Terms of service</a></li><!-- + --></ul><!-- + --></nav> + + <div class='content'>{{{ this.content }}}</div> +</div> diff --git a/client/html/home.hbs b/client/html/home.hbs new file mode 100644 index 0000000..fc476b5 --- /dev/null +++ b/client/html/home.hbs @@ -0,0 +1,5 @@ +<div class='content-wrapper transparent' id='home'> + <div class='messages'></div> + <h1>{{name}}</h1> + <footer>Version: <span class='version'>{{version}}</span> (built {{buildDate}})</footer> +</div> diff --git a/client/html/index.htm b/client/html/index.htm new file mode 100644 index 0000000..2dbceab --- /dev/null +++ b/client/html/index.htm @@ -0,0 +1,16 @@ +<!DOCTYPE html> +<html> +<head> + <meta charset='utf-8'/> + <title><!-- change via config.ini --></title> + <link href='/bundle.min.css' rel='stylesheet' type='text/css'/> + <link href='//maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css' rel='stylesheet' type='text/css'/> + <link href='//fonts.googleapis.com/css?family=Inconsolata|Droid+Sans' rel='stylesheet' type='text/css'/> + <link rel='shortcut icon' type='image/png' href='/favicon.png'/> +</head> +<body> + <div id='top-nav-holder'></div> + <div id='content-holder'></div> + <script type='text/javascript' src='/bundle.min.js'></script> +</body> +</html> diff --git a/client/html/login.hbs b/client/html/login.hbs new file mode 100644 index 0000000..651ac92 --- /dev/null +++ b/client/html/login.hbs @@ -0,0 +1,26 @@ +<div class='content-wrapper' id='login'> + <h1>Log in</h1> + <form> + <fieldset class='input'> + <ul> + <li> + <label for='user-name'>User name</label> + <input id='user-name' name='name' type='text' required/> + </li> + <li> + <label for='user-password'>Password</label> + <input id='user-password' name='password' type='password' required/> + </li> + <li> + <input id='remember-user' name='remember-user' type='checkbox'/> + <label for='remember-user' class='checkbox'>Remember me</label> + </li> + </ul> + </fieldset> + <fieldset class='messages'></fieldset> + <fieldset class='buttons'> + <input type='submit' value='Log in'/> + <a>Forgot the password?</a> + </fieldset> + </form> +</div> diff --git a/client/html/top_nav.hbs b/client/html/top_nav.hbs new file mode 100644 index 0000000..fb693c2 --- /dev/null +++ b/client/html/top_nav.hbs @@ -0,0 +1,11 @@ +<nav id='top-nav' class='text-nav'> + <ul><!-- + -->{{#each items}}<!-- + -->{{#if this.available}}<!-- + --><li data-name='{{@key}}'><!-- + --><a href='{{this.url}}' accesskey='{{this.accessKey}}'>{{this.name}}</a><!-- + --></li><!-- + -->{{/if}}<!-- + -->{{/each}}<!-- + --></ul> +</nav> diff --git a/client/html/user_registration.hbs b/client/html/user_registration.hbs new file mode 100644 index 0000000..a17997f --- /dev/null +++ b/client/html/user_registration.hbs @@ -0,0 +1,37 @@ +<div class='content-wrapper' id='user-registration'> + <h1>Registration</h1> + <form autocomplete='off'> + <fieldset class='input'> + <ul> + <li> + <label for='user-name'>User name</label> + <input id='user-name' name='user-name' type='text' autocomplete='off' placeholder='letters, digits, _, -' required/> + </li> + <li> + <label for='user-password'>Password</label> + <input id='user-password' name='user-password' type='password' autocomplete='off' placeholder='5+ characters' required/> + </li> + <li> + <label for='user-email'>Email</label> + <input id='user-email' name='user-email' type='email' autocomplete='off' placeholder='optional'/> + <p class='hint'>Used for password reminder and to show a <a href='http://gravatar.com/'>Gravatar</a>. Leave blank for random Gravatar.</p> + </li> + </ul> + </fieldset> + <fieldset class='messages'></fieldset> + <fieldset class='buttons'> + <input type='submit' value='Create an account'/> + </fieldset> + </form> + <div class='info'> + <p>Registered users can:</p> + <ul> + <li><i class='fa fa-upload'></i> upload new posts</li> + <li><i class='fa fa-heart'></i> mark them as favorite</li> + <li><i class='fa fa-commenting-o'></i> add comments</li> + <li><i class='fa fa-star-half-o'></i> vote up/down on posts and comments</li> + </ul> + <hr/> + <p>By creating an account, you are agreeing to the <a href='/help/tos'>Terms of Service</a>.</p> + </div> +</div> |