throw away this stupid bootstrap shit and build it with plain HTML
This commit is contained in:
parent
71858c6020
commit
90bd3ea1f2
19 changed files with 534 additions and 227 deletions
47
cats.txt
Normal file
47
cats.txt
Normal file
|
@ -0,0 +1,47 @@
|
|||
Audio
|
||||
Lossless
|
||||
Lossy
|
||||
Audiobooks
|
||||
Other
|
||||
|
||||
Video
|
||||
Movies 3D
|
||||
Movies HD
|
||||
Movies SD
|
||||
Series HD
|
||||
Series SD
|
||||
Clips
|
||||
Other
|
||||
|
||||
Porn
|
||||
Movies 3D
|
||||
Movies HD
|
||||
Movies SD
|
||||
Series HD
|
||||
Series SD
|
||||
Clips
|
||||
Pictures
|
||||
Other
|
||||
|
||||
Games
|
||||
PC
|
||||
MAC
|
||||
iOS
|
||||
Android
|
||||
Consoles
|
||||
Other
|
||||
|
||||
Applications
|
||||
Windows
|
||||
Mac
|
||||
*nix
|
||||
iOS
|
||||
Android
|
||||
Other
|
||||
|
||||
Other
|
||||
E-Books
|
||||
Comics
|
||||
Pictures
|
||||
Other
|
||||
|
44
indexer.py
44
indexer.py
|
@ -1,23 +1,53 @@
|
|||
#!/usr/bin/python3
|
||||
#/* vim:set ts=2 set noexpandtab */
|
||||
# vim:ts=2 sw=2 sts=2 noexpandtab
|
||||
import json, os
|
||||
from flask import Flask, render_template, url_for, request
|
||||
from werkzeug import secure_filename
|
||||
|
||||
uploadFolder = "upload"
|
||||
|
||||
app = Flask(__name__)
|
||||
app.config['UPLOAD_FOLDER'] = uploadFolder
|
||||
|
||||
strings = None
|
||||
settings = None
|
||||
|
||||
@app.route("/")
|
||||
def index():
|
||||
return render_template("search.html")
|
||||
return render_template("search.html", strings=strings)
|
||||
|
||||
@app.route("/categorys")
|
||||
@app.route("/categories")
|
||||
def categorys():
|
||||
return render_template("categorys.html")
|
||||
return render_template("categories.html", strings=strings)
|
||||
|
||||
@app.route("/create")
|
||||
def create():
|
||||
return render_template("create.html")
|
||||
return render_template("create.html", categories=settings["categories"], strings=strings)
|
||||
|
||||
@app.route("/search", methods=['GET'])
|
||||
def search():
|
||||
return render_template("result.html", results=request.args.get("q", ""))
|
||||
return render_template("result.html", results=request.args.get("q", ""), strings=strings)
|
||||
|
||||
def getLocalString(language, descriptor):
|
||||
if language in strings.keys():
|
||||
if descriptor in strings[language].keys():
|
||||
return strings[language][descriptor]
|
||||
else:
|
||||
return None
|
||||
else:
|
||||
return None
|
||||
|
||||
def init():
|
||||
global strings
|
||||
global settings
|
||||
with open("strings.json", "r") as strings:
|
||||
strings = json.load(strings)
|
||||
with open("settings.json", "r") as settings:
|
||||
settings = json.load(settings)
|
||||
|
||||
if __name__ == "__main__":
|
||||
app.run(debug=True)
|
||||
app.jinja_env.globals.update(getLocalString=getLocalString)
|
||||
app.jinja_env.globals.update(json=json)
|
||||
init()
|
||||
print(settings["categories"].keys())
|
||||
app.run(debug=True)
|
||||
|
|
10
settings.json
Normal file
10
settings.json
Normal file
|
@ -0,0 +1,10 @@
|
|||
{
|
||||
"categories": {
|
||||
"audio" : [ "lossless", "lossy", "audiobooks", "other" ],
|
||||
"video" : [ "movies_3d", "movies_4k", "movies_hd", "movies_sd", "series_hd", "series_sd", "clips", "other" ],
|
||||
"porn" : [ "movies_3d", "movies_4k", "movies_hd", "movies_sd", "series_hd", "series_sd", "clips", "pictures", "other" ],
|
||||
"games" : [ "pc", "mac", "ios", "android", "consoles", "other" ],
|
||||
"applications" : [ "windows", "mac", "unix", "ios", "android", "other" ],
|
||||
"other" : [ "ebooks", "comics", "pictures", "other" ]
|
||||
}
|
||||
}
|
169
static/css/bootstrapshit/style.css
Normal file
169
static/css/bootstrapshit/style.css
Normal file
|
@ -0,0 +1,169 @@
|
|||
/*
|
||||
* Globals
|
||||
*/
|
||||
|
||||
/* Links */
|
||||
a,
|
||||
a:focus,
|
||||
a:hover {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
/* Custom default button */
|
||||
.btn-default,
|
||||
.btn-default:hover,
|
||||
.btn-default:focus {
|
||||
color: #333;
|
||||
text-shadow: none; /* Prevent inheritence from `body` */
|
||||
background-color: #fff;
|
||||
border: 1px solid #fff;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Base structure
|
||||
*/
|
||||
|
||||
html,
|
||||
body {
|
||||
height: 100%;
|
||||
background-color: #333;
|
||||
}
|
||||
body {
|
||||
color: #fff;
|
||||
text-align: center;
|
||||
text-shadow: 0 1px 3px rgba(0,0,0,.5);
|
||||
}
|
||||
|
||||
/* Extra markup and styles for table-esque vertical and horizontal centering */
|
||||
.site-wrapper {
|
||||
display: table;
|
||||
width: 100%;
|
||||
height: 100%; /* For at least Firefox */
|
||||
min-height: 100%;
|
||||
-webkit-box-shadow: inset 0 0 100px rgba(0,0,0,.5);
|
||||
box-shadow: inset 0 0 100px rgba(0,0,0,.5);
|
||||
}
|
||||
.site-wrapper-inner {
|
||||
display: table-cell;
|
||||
vertical-align: top;
|
||||
}
|
||||
.cover-container {
|
||||
margin-right: auto;
|
||||
margin-left: auto;
|
||||
}
|
||||
|
||||
/* Padding for spacing */
|
||||
.inner {
|
||||
padding: 30px;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Header
|
||||
*/
|
||||
.masthead-brand {
|
||||
margin-top: 10px;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.masthead-nav > li {
|
||||
display: inline-block;
|
||||
}
|
||||
.masthead-nav > li + li {
|
||||
margin-left: 20px;
|
||||
}
|
||||
.masthead-nav > li > a {
|
||||
padding-right: 0;
|
||||
padding-left: 0;
|
||||
font-size: 16px;
|
||||
font-weight: bold;
|
||||
color: #fff; /* IE8 proofing */
|
||||
color: rgba(255,255,255,.75);
|
||||
border-bottom: 2px solid transparent;
|
||||
}
|
||||
.masthead-nav > li > a:hover,
|
||||
.masthead-nav > li > a:focus {
|
||||
background-color: transparent;
|
||||
border-bottom-color: #a9a9a9;
|
||||
border-bottom-color: rgba(255,255,255,.25);
|
||||
}
|
||||
.masthead-nav > .active > a,
|
||||
.masthead-nav > .active > a:hover,
|
||||
.masthead-nav > .active > a:focus {
|
||||
color: #fff;
|
||||
border-bottom-color: #fff;
|
||||
}
|
||||
|
||||
@media (min-width: 768px) {
|
||||
.masthead-brand {
|
||||
float: left;
|
||||
}
|
||||
.masthead-nav {
|
||||
float: right;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Cover
|
||||
*/
|
||||
|
||||
.cover {
|
||||
padding: 20px;
|
||||
}
|
||||
.cover .btn-lg {
|
||||
padding: 10px 20px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Footer
|
||||
*/
|
||||
|
||||
.mastfoot {
|
||||
color: #999; /* IE8 proofing */
|
||||
color: rgba(255,255,255,.5);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Affix and center
|
||||
*/
|
||||
|
||||
@media (min-width: 768px) {
|
||||
/* Pull out the header and footer */
|
||||
.masthead {
|
||||
/*position: fixed;*/
|
||||
top: 0;
|
||||
}
|
||||
.mastfoot {
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
}
|
||||
/* Start the vertical centering */
|
||||
.site-wrapper-inner {
|
||||
/*vertical-align: middle;*/
|
||||
}
|
||||
/* Handle the widths */
|
||||
.masthead,
|
||||
.mastfoot,
|
||||
.cover-container {
|
||||
width: 100%; /* Must be percentage or pixels for horizontal alignment */
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 992px) {
|
||||
.masthead,
|
||||
.mastfoot,
|
||||
.cover-container {
|
||||
width: 700px;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.list-group-item {
|
||||
background-color: #212121;
|
||||
border: 1px solid #717171;
|
||||
}
|
|
@ -1,163 +0,0 @@
|
|||
/*
|
||||
* Globals
|
||||
*/
|
||||
|
||||
/* Links */
|
||||
a,
|
||||
a:focus,
|
||||
a:hover {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
/* Custom default button */
|
||||
.btn-default,
|
||||
.btn-default:hover,
|
||||
.btn-default:focus {
|
||||
color: #333;
|
||||
text-shadow: none; /* Prevent inheritence from `body` */
|
||||
background-color: #fff;
|
||||
border: 1px solid #fff;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Base structure
|
||||
*/
|
||||
|
||||
html,
|
||||
body {
|
||||
height: 100%;
|
||||
background-color: #333;
|
||||
}
|
||||
body {
|
||||
color: #fff;
|
||||
text-align: center;
|
||||
text-shadow: 0 1px 3px rgba(0,0,0,.5);
|
||||
}
|
||||
|
||||
/* Extra markup and styles for table-esque vertical and horizontal centering */
|
||||
.site-wrapper {
|
||||
display: table;
|
||||
width: 100%;
|
||||
height: 100%; /* For at least Firefox */
|
||||
min-height: 100%;
|
||||
-webkit-box-shadow: inset 0 0 100px rgba(0,0,0,.5);
|
||||
box-shadow: inset 0 0 100px rgba(0,0,0,.5);
|
||||
}
|
||||
.site-wrapper-inner {
|
||||
display: table-cell;
|
||||
vertical-align: top;
|
||||
}
|
||||
.cover-container {
|
||||
margin-right: auto;
|
||||
margin-left: auto;
|
||||
}
|
||||
|
||||
/* Padding for spacing */
|
||||
.inner {
|
||||
padding: 30px;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Header
|
||||
*/
|
||||
.masthead-brand {
|
||||
margin-top: 10px;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.masthead-nav > li {
|
||||
display: inline-block;
|
||||
}
|
||||
.masthead-nav > li + li {
|
||||
margin-left: 20px;
|
||||
}
|
||||
.masthead-nav > li > a {
|
||||
padding-right: 0;
|
||||
padding-left: 0;
|
||||
font-size: 16px;
|
||||
font-weight: bold;
|
||||
color: #fff; /* IE8 proofing */
|
||||
color: rgba(255,255,255,.75);
|
||||
border-bottom: 2px solid transparent;
|
||||
}
|
||||
.masthead-nav > li > a:hover,
|
||||
.masthead-nav > li > a:focus {
|
||||
background-color: transparent;
|
||||
border-bottom-color: #a9a9a9;
|
||||
border-bottom-color: rgba(255,255,255,.25);
|
||||
}
|
||||
.masthead-nav > .active > a,
|
||||
.masthead-nav > .active > a:hover,
|
||||
.masthead-nav > .active > a:focus {
|
||||
color: #fff;
|
||||
border-bottom-color: #fff;
|
||||
}
|
||||
|
||||
@media (min-width: 768px) {
|
||||
.masthead-brand {
|
||||
float: left;
|
||||
}
|
||||
.masthead-nav {
|
||||
float: right;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Cover
|
||||
*/
|
||||
|
||||
.cover {
|
||||
padding: 20px;
|
||||
}
|
||||
.cover .btn-lg {
|
||||
padding: 10px 20px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Footer
|
||||
*/
|
||||
|
||||
.mastfoot {
|
||||
color: #999; /* IE8 proofing */
|
||||
color: rgba(255,255,255,.5);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Affix and center
|
||||
*/
|
||||
|
||||
@media (min-width: 768px) {
|
||||
/* Pull out the header and footer */
|
||||
.masthead {
|
||||
/*position: fixed;*/
|
||||
top: 0;
|
||||
}
|
||||
.mastfoot {
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
}
|
||||
/* Start the vertical centering */
|
||||
.site-wrapper-inner {
|
||||
/*vertical-align: middle;*/
|
||||
}
|
||||
/* Handle the widths */
|
||||
.masthead,
|
||||
.mastfoot,
|
||||
.cover-container {
|
||||
width: 100%; /* Must be percentage or pixels for horizontal alignment */
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 992px) {
|
||||
.masthead,
|
||||
.mastfoot,
|
||||
.cover-container {
|
||||
width: 700px;
|
||||
}
|
||||
}
|
50
static/js/create.js
Normal file
50
static/js/create.js
Normal file
|
@ -0,0 +1,50 @@
|
|||
window.onload = function () {
|
||||
catList = document.getElementById("categories_list")
|
||||
categories = sortCategories(global_categories)
|
||||
for(var key in categories) {
|
||||
var a = document.createElement("a")
|
||||
var li = document.createElement("li")
|
||||
li.setAttribute("role", "presentation")
|
||||
li.addEventListener("click", function(){fillSubCategorie(this.children[0].text); setDropdownText(this)})
|
||||
a.setAttribute("role", "menuitem")
|
||||
a.tabIndex = "-1"
|
||||
a.href = "#"
|
||||
a.innerHTML = getLocalString("english", categories[key])
|
||||
li.appendChild(a)
|
||||
catList.appendChild(li)
|
||||
a = undefined
|
||||
li = undefined
|
||||
}
|
||||
}
|
||||
|
||||
function sortCategories(categories) {
|
||||
var sortedCategories = []
|
||||
for(var key in categories) {
|
||||
sortedCategories.push(key)
|
||||
}
|
||||
sortedCategories.sort()
|
||||
return sortedCategories
|
||||
}
|
||||
|
||||
function setDropdownText(liElement) {
|
||||
liElement.parentNode.parentNode.childNodes[1].childNodes[0].textContent = liElement.children[0].text + " "
|
||||
}
|
||||
|
||||
function fillSubCategorie(categorie) {
|
||||
subCategory = getDescriptorByLocalString("english", categorie)
|
||||
catList = document.getElementById("subcategory_list")
|
||||
catList.innerHTML = ""
|
||||
categories = global_categories[subCategory].sort()
|
||||
for(var key in categories) {
|
||||
var a = document.createElement("a")
|
||||
var li = document.createElement("li")
|
||||
li.setAttribute("role", "presentation")
|
||||
li.addEventListener("click", function(){setDropdownText(this)})
|
||||
a.setAttribute("role", "menuitem")
|
||||
a.tabIndex = "-1"
|
||||
a.href = "#"
|
||||
a.innerHTML = getLocalString("english", categories[key])
|
||||
li.appendChild(a)
|
||||
catList.appendChild(li)
|
||||
}
|
||||
}
|
16
static/js/main.js
Normal file
16
static/js/main.js
Normal file
|
@ -0,0 +1,16 @@
|
|||
function getLocalString(language, descriptor){
|
||||
if(global_strings[language]){
|
||||
return global_strings[language][descriptor] || global_strings["english"][descriptor] || descriptor
|
||||
} else {
|
||||
return descriptor
|
||||
}
|
||||
}
|
||||
|
||||
function getDescriptorByLocalString(language, localString){
|
||||
for(string in global_strings[language]){
|
||||
if(global_strings[language][string] == localString){
|
||||
return string
|
||||
}
|
||||
}
|
||||
return localString
|
||||
}
|
35
strings.json
Normal file
35
strings.json
Normal file
|
@ -0,0 +1,35 @@
|
|||
{
|
||||
"english" : {
|
||||
"audio" : "Audio",
|
||||
"lossless" : "Lossless",
|
||||
"lossy" : "Lossy",
|
||||
"audiobooks" : "Audiobooks",
|
||||
"other" : "Other",
|
||||
"video" : "Video",
|
||||
"movies_3d" : "Movies 3D",
|
||||
"movies_4k" : "Movies 4K",
|
||||
"movies_hd" : "Movies HD",
|
||||
"movies_sd" : "Movies SD",
|
||||
"series_hd" : "Series HD",
|
||||
"series_sd" : "Series SD",
|
||||
"clips" : "Clips",
|
||||
"other" : "Other",
|
||||
"porn" : "Porn",
|
||||
"pictures" : "Pictures",
|
||||
"games" : "Games",
|
||||
"pc" : "PC",
|
||||
"mac" : "Mac",
|
||||
"ios" : "iOS",
|
||||
"android" : "Android",
|
||||
"consoles" : "Consoles",
|
||||
"applications" : "Applications",
|
||||
"windows" : "Windows",
|
||||
"unix" : "*nix",
|
||||
"ebooks" : "E-Books",
|
||||
"comics" : "Comics",
|
||||
"please_choose" : "Please choose…",
|
||||
"search" : "Search",
|
||||
"categories" : "Categories",
|
||||
"create" : "Create"
|
||||
}
|
||||
}
|
|
@ -2,8 +2,8 @@
|
|||
vim: ts=2 noexpandtab
|
||||
-->
|
||||
{% extends "index.html" %}
|
||||
{% block title %}{{ super() }} - Categorys{% endblock%}
|
||||
{% set active_page = "categorys" %}
|
||||
{% block title %}{{ super() }} - Categories{% endblock%}
|
||||
{% set active_page = "categories" %}
|
||||
{% block content %}
|
||||
<p>CATEGORYS</p>
|
||||
{% endblock content%}
|
44
templates/bootstrapshit/create.html
Normal file
44
templates/bootstrapshit/create.html
Normal file
|
@ -0,0 +1,44 @@
|
|||
<!--
|
||||
vim: ts=2 noexpandtab
|
||||
-->
|
||||
{% extends "index.html" %}
|
||||
{% block title %}{{ super() }} - Create{% endblock%}
|
||||
{% set active_page = "create" %}
|
||||
{% block content %}
|
||||
<script type="text/javascript">
|
||||
var global_categories = {{json.dumps(categories)|safe}};
|
||||
</script>
|
||||
<script type="text/javascript" src="{{ url_for ("static", filename="js/create.js") }}" ></script>
|
||||
<div class="create_container" >
|
||||
<h4>Add new torrent</h4>
|
||||
<ul class="list-group">
|
||||
<li class="list-group-item">
|
||||
<div class="input-group">
|
||||
<span class="input-group-addon" id="basic-addon1">Torrent name</span>
|
||||
<input type="text" class="form-control" aria-describedby="basic-addon1">
|
||||
</div>
|
||||
</li>
|
||||
<li class="list-group-item">
|
||||
<div class="dropdown">
|
||||
<button class="btn btn-default dropdown-toggle" type="button" id="categories" data-toggle="dropdown" aria-expanded="true">
|
||||
{{getLocalString("english", "please_choose")}}
|
||||
<span class="caret"></span>
|
||||
</button>
|
||||
<ul class="dropdown-menu" id="categories_list" role="menu" aria-labelledby="dropdownMenu1">
|
||||
</ul>
|
||||
</div>
|
||||
<br/>
|
||||
<div class="dropdown">
|
||||
<button class="btn btn-default dropdown-toggle" type="button" id="subcategory" data-toggle="dropdown" aria-expanded="true">
|
||||
{{getLocalString("english", "please_choose")}}
|
||||
<span class="caret"></span>
|
||||
</button>
|
||||
<ul class="dropdown-menu" role="menu" aria-labelledby="dropdownMenu1" id="subcategory_list">
|
||||
<li role="presentation"><a role="menuitem" tabindex="-1" href="#">{{getLocalString("english", subcat)}}</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
{% endblock content%}
|
||||
|
57
templates/bootstrapshit/index.html
Normal file
57
templates/bootstrapshit/index.html
Normal file
|
@ -0,0 +1,57 @@
|
|||
<!--
|
||||
vim: ts=2 noexpandtab
|
||||
-->
|
||||
{% set navigation_bar = [
|
||||
("/", "search", "Search", "glyphicon-search"),
|
||||
("/categories", "categories", "Categories", "glyphicon-th"),
|
||||
("/create", "create", "Create", "glyphicon-plus")
|
||||
] -%}
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="icon" href="favicon.ico">
|
||||
<title>{% block title %}TorrentIndexer{% endblock %}</title>
|
||||
<link href="{{ url_for("static", filename="css/bootstrap.css") }}" rel="stylesheet">
|
||||
<link href="{{ url_for("static", filename="css/style.css") }}" rel="stylesheet">
|
||||
<script type="text/javascript" src="{{ url_for ("static", filename="js/main.js") }}" ></script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<script type="text/javascript">
|
||||
var global_strings = {{json.dumps(strings)|safe}}
|
||||
</script>
|
||||
<div class="site-wrapper">
|
||||
<div class="site-wrapper-inner">
|
||||
<div class="cover-container">
|
||||
<div class="masthead clearfix">
|
||||
<div class="inner">
|
||||
<h3 class="masthead-brand"><a href="/">TorrentIndexer</a></h3>
|
||||
<nav>
|
||||
<ul class="nav masthead-nav">
|
||||
{% for href, id, caption, icon in navigation_bar %}
|
||||
<li {% if id == active_page %}class="active"{% endif %}>
|
||||
<a href="{{ href }}">
|
||||
<span class="glyphicon {{ icon|e }}" aria-hidden="true"></span> {{ caption|e }}
|
||||
</a>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
<div class="inner cover">
|
||||
{% block content %}{% endblock %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script src="{{ url_for("static", filename="js/jquery.js") }}"></script>
|
||||
<script src="{{ url_for("static", filename="js/bootstrap.js") }}"></script>
|
||||
</body>
|
||||
</html>
|
9
templates/bootstrapshit/result.html
Normal file
9
templates/bootstrapshit/result.html
Normal file
|
@ -0,0 +1,9 @@
|
|||
<!--
|
||||
vim: ts=2 noexpandtab
|
||||
-->
|
||||
{% extends "index.html" %}
|
||||
{% block title %}{{ super() }} - Results{% endblock%}
|
||||
{% set active_page = "search" %}
|
||||
{% block content %}
|
||||
<p>{{results}}</p>
|
||||
{% endblock content%}
|
26
templates/bootstrapshit/search.html
Normal file
26
templates/bootstrapshit/search.html
Normal file
|
@ -0,0 +1,26 @@
|
|||
<!--
|
||||
vim: ts=2 noexpandtab
|
||||
-->
|
||||
{% extends "index.html" %}
|
||||
{% block title %}{{ super() }} - Search{% endblock%}
|
||||
{% set active_page = "search" %}
|
||||
{% block content %}
|
||||
<link href="{{ url_for("static", filename="css/search.css") }}" rel="stylesheet">
|
||||
|
||||
<div class="search_container">
|
||||
<img class="logo" src="{{ url_for("static", filename="images/Pirates.svg") }}" />
|
||||
<form action="search" >
|
||||
<div class="form-group">
|
||||
<div class="input-group search-box">
|
||||
<input type="text" name="q" class="form-control" placeholder="Seach for…" aria-describedby="basic-addon2">
|
||||
<span class="input-group-btn">
|
||||
<button class="btn btn-default" type="submit">
|
||||
<span class="glyphicon glyphicon-search" aria-hidden="true"></span>
|
||||
Search!
|
||||
</button>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
{% endblock content%}
|
|
@ -2,8 +2,12 @@
|
|||
vim: ts=2 noexpandtab
|
||||
-->
|
||||
{% extends "index.html" %}
|
||||
{% block title %}{{ super() }} - Create{% endblock%}
|
||||
{% set active_page = "create" %}
|
||||
{% block title %}{{ super() }} - Search{% endblock%}
|
||||
{% set active_page = "search" %}
|
||||
{% block content %}
|
||||
<p>CREATE</p>
|
||||
<link href="{{ url_for("static", filename="css/search.css") }}" rel="stylesheet">
|
||||
<form id="tfnewsearch" method="get" action="search">
|
||||
<input type="text" class="tftextinput" name="torrent_name">
|
||||
<input type="submit" value="{{ getLocalString("english", "search") }}" class="tfbutton">
|
||||
</form>
|
||||
{% endblock content%}
|
||||
|
|
|
@ -1,10 +1,9 @@
|
|||
<!--
|
||||
vim: ts=2 noexpandtab
|
||||
-->
|
||||
{% set language = "english" -%}
|
||||
|
||||
{% set navigation_bar = [
|
||||
("/", "search", "Search", "glyphicon-search"),
|
||||
("/categorys", "categorys", "Categorys", "glyphicon-th"),
|
||||
("/create", "create", "Create", "glyphicon-plus")
|
||||
("/", "search", getLocalString(language, "search")),
|
||||
("/categories", "categories", "Categories"),
|
||||
("/create", "create", "Create")
|
||||
] -%}
|
||||
|
||||
<!DOCTYPE html>
|
||||
|
@ -13,41 +12,25 @@ vim: ts=2 noexpandtab
|
|||
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="icon" href="favicon.ico">
|
||||
<title>{% block title %}TorrentIndexer{% endblock %}</title>
|
||||
<link href="{{ url_for("static", filename="css/bootstrap.css") }}" rel="stylesheet">
|
||||
<link href="{{ url_for("static", filename="css/style.css") }}" rel="stylesheet">
|
||||
<script type="text/javascript" src="{{ url_for ("static", filename="js/main.js") }}" ></script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="site-wrapper">
|
||||
<div class="site-wrapper-inner">
|
||||
<div class="cover-container">
|
||||
<div class="masthead clearfix">
|
||||
<div class="inner">
|
||||
<h3 class="masthead-brand"><a href="/">TorrentIndexer</a></h3>
|
||||
<nav>
|
||||
<ul class="nav masthead-nav">
|
||||
{% for href, id, caption, icon in navigation_bar %}
|
||||
<li {% if id == active_page %}class="active"{% endif %}>
|
||||
<a href="{{ href|e }}">
|
||||
<span class="glyphicon {{ icon|e }}" aria-hidden="true"></span> {{ caption|e }}
|
||||
</a>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
<div class="inner cover">
|
||||
{% block content %}{% endblock %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
var global_strings = {{ json.dumps(strings)|safe }}
|
||||
</script>
|
||||
<div class="header">
|
||||
{% for href, id, caption in navigation_bar %}
|
||||
<a href="{{ href }}">{{ caption }}</a>
|
||||
{% endfor %}
|
||||
</div>
|
||||
|
||||
<script src="{{ url_for("static", filename="js/jquery.js") }}"></script>
|
||||
<script src="{{ url_for("static", filename="js/bootstrap.js") }}"></script>
|
||||
{% block content %}
|
||||
<script type="text/javascript">
|
||||
var global_strings = {{json.dumps(strings)|safe}}
|
||||
</script>
|
||||
INDEX
|
||||
{% endblock %}
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -2,8 +2,9 @@
|
|||
vim: ts=2 noexpandtab
|
||||
-->
|
||||
{% extends "index.html" %}
|
||||
{% block title %}{{ super() }} - Results{% endblock%}
|
||||
{% block title %}{{ super() }} - Search{% endblock%}
|
||||
{% set active_page = "search" %}
|
||||
{% block content %}
|
||||
<p>{{results}}</p>
|
||||
<link href="{{ url_for("static", filename="css/search.css") }}" rel="stylesheet">
|
||||
{{results}}
|
||||
{% endblock content%}
|
||||
|
|
|
@ -7,20 +7,9 @@ vim: ts=2 noexpandtab
|
|||
{% block content %}
|
||||
<link href="{{ url_for("static", filename="css/search.css") }}" rel="stylesheet">
|
||||
|
||||
<div class="search_container">
|
||||
<img class="logo" src="{{ url_for("static", filename="images/Pirates.svg") }}" />
|
||||
<form action="search" >
|
||||
<div class="form-group">
|
||||
<div class="input-group search-box">
|
||||
<input type="text" name="q" class="form-control" placeholder="Seach for…" aria-describedby="basic-addon2">
|
||||
<span class="input-group-btn">
|
||||
<button class="btn btn-default" type="submit">
|
||||
<span class="glyphicon glyphicon-search" aria-hidden="true"></span>
|
||||
Search!
|
||||
</button>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<form id="tfnewsearch" method="get" action="search">
|
||||
<input type="text" class="tftextinput" name="q" size="21" maxlength="120">
|
||||
<input type="submit" value="{{ getLocalString("english", "search") }}" class="tfbutton">
|
||||
</form>
|
||||
</div>
|
||||
{% endblock content%}
|
||||
|
|
Loading…
Reference in a new issue