it's a banner
This commit is contained in:
parent
121179cc39
commit
eb42380c96
@ -56,6 +56,19 @@ class Author(db.Model):
|
|||||||
def __init__(self, author_name):
|
def __init__(self, author_name):
|
||||||
self.author_name = author_name
|
self.author_name = author_name
|
||||||
|
|
||||||
|
|
||||||
|
class UserIns(db.Model):
|
||||||
|
__tablename__ = 'userins'
|
||||||
|
|
||||||
|
id = db.Column(db.Integer(), primary_key=True)
|
||||||
|
title = db.Column(db.String(500))
|
||||||
|
info = db.Column(db.String(500))
|
||||||
|
|
||||||
|
def __init__(self, title, info):
|
||||||
|
self.title = title
|
||||||
|
self.info = info
|
||||||
|
|
||||||
|
|
||||||
class Stack(db.Model):
|
class Stack(db.Model):
|
||||||
__tablename__ = 'stacks'
|
__tablename__ = 'stacks'
|
||||||
id = db.Column(db.Integer, primary_key = True)
|
id = db.Column(db.Integer, primary_key = True)
|
||||||
|
@ -68,18 +68,6 @@ $( "#tabs li" ).removeClass( "ui-corner-top" ).addClass( "ui-corner-left" );
|
|||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
var marquee = $('div.marquee');
|
|
||||||
marquee.each(function() {
|
|
||||||
var mar = $(this),indent = mar.width();
|
|
||||||
mar.marquee = function() {
|
|
||||||
indent--;
|
|
||||||
mar.css('text-indent',indent);
|
|
||||||
if (indent < -1 * mar.children('div.marquee-text').width()) {
|
|
||||||
indent = mar.width();
|
|
||||||
}
|
|
||||||
};
|
|
||||||
mar.data('interval',setInterval(mar.marquee,1000/60));
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
$(".no_cover").each(function() {
|
$(".no_cover").each(function() {
|
||||||
@ -90,8 +78,7 @@ $( ".no_cover" ).each(function() {
|
|||||||
'background-color': randomColor,
|
'background-color': randomColor,
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
})
|
||||||
)
|
|
||||||
|
|
||||||
function colorHash(inputString) {
|
function colorHash(inputString) {
|
||||||
var sum = 0;
|
var sum = 0;
|
||||||
@ -113,10 +100,27 @@ hex += ("00" + g.toString(18)).substr(-2,2).toUpperCase();
|
|||||||
hex += ("00" + b.toString(20)).substr(-2, 2).toUpperCase();
|
hex += ("00" + b.toString(20)).substr(-2, 2).toUpperCase();
|
||||||
|
|
||||||
return {
|
return {
|
||||||
r: r
|
r: r,
|
||||||
,g: g
|
g: g,
|
||||||
,b: b
|
b: b,
|
||||||
,rgb: rgb
|
rgb: rgb,
|
||||||
,hex: hex
|
hex: hex
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//newsticker
|
||||||
|
var marquee = $('div.marquee');
|
||||||
|
marquee.each(function() {
|
||||||
|
var mar = $(this),
|
||||||
|
indent = mar.width();
|
||||||
|
mar.marquee = function() {
|
||||||
|
indent--;
|
||||||
|
mar.css('text-indent', indent);
|
||||||
|
if (indent < -1 * mar.children('div.marquee-text').width()) {
|
||||||
|
indent = mar.width();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
mar.data('interval', setInterval(mar.marquee, 10));
|
||||||
|
});
|
||||||
|
2377
app/static/js/bootstrap.js
vendored
2377
app/static/js/bootstrap.js
vendored
File diff suppressed because it is too large
Load Diff
7
app/static/js/bootstrap.min.js
vendored
7
app/static/js/bootstrap.min.js
vendored
File diff suppressed because one or more lines are too long
@ -21,7 +21,7 @@
|
|||||||
<div id="newstext">
|
<div id="newstext">
|
||||||
<div class='marquee'>
|
<div class='marquee'>
|
||||||
<div class='marquee-text'>
|
<div class='marquee-text'>
|
||||||
Testing this marquee function
|
This is the XPPL ~ Library XPUB ~ Updates
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -47,6 +47,36 @@
|
|||||||
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
|
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
|
||||||
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
|
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
|
||||||
<script src="{{ url_for("static", filename="js/app.js") }}"></script>
|
<script src="{{ url_for("static", filename="js/app.js") }}"></script>
|
||||||
|
<script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
$( document ).ready(function() {
|
||||||
|
update();
|
||||||
|
function update() {
|
||||||
|
$.ajax({
|
||||||
|
url: "{{ url_for('get_updates') }}",
|
||||||
|
type: 'GET',
|
||||||
|
async: false,
|
||||||
|
success : function(text)
|
||||||
|
{
|
||||||
|
response = text;
|
||||||
|
$('.marquee-text').text(response)
|
||||||
|
console.log(response)
|
||||||
|
},
|
||||||
|
cache: false,
|
||||||
|
contentType: false,
|
||||||
|
processData: false
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
@ -4,9 +4,12 @@
|
|||||||
<h1 class="header" id="title">XPPL</h1>
|
<h1 class="header" id="title">XPPL</h1>
|
||||||
<p class="lead">This is the awesome library of Experimental Publishing. <br>
|
<p class="lead">This is the awesome library of Experimental Publishing. <br>
|
||||||
This might only be one interface to this library:
|
This might only be one interface to this library:
|
||||||
…
|
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
|
<a href="{{url_for('scape')}}">Scape</a>
|
||||||
|
<a href="{{url_for('show_books_grid')}}">Grid</a>
|
||||||
|
<a href="{{url_for('show_books')}}">List</a>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
16
app/views.py
16
app/views.py
@ -10,7 +10,7 @@ from flask import Flask, render_template, request, redirect, url_for, flash, sen
|
|||||||
import json
|
import json
|
||||||
from sqlalchemy.sql.expression import func, select
|
from sqlalchemy.sql.expression import func, select
|
||||||
from app.forms import UploadForm, EditForm, SearchForm
|
from app.forms import UploadForm, EditForm, SearchForm
|
||||||
from app.models import Book, BookSchema, Author, AuthorSchema, Stack, StackSchema
|
from app.models import Book, BookSchema, Author, AuthorSchema, Stack, StackSchema, UserIns
|
||||||
from app.cover import get_cover
|
from app.cover import get_cover
|
||||||
|
|
||||||
import os
|
import os
|
||||||
@ -69,6 +69,11 @@ def show_books():
|
|||||||
|
|
||||||
return render_template('show_books.html', books=books, form=search)
|
return render_template('show_books.html', books=books, form=search)
|
||||||
|
|
||||||
|
@app.route('/updates', methods=['POST', 'GET'])
|
||||||
|
def get_updates():
|
||||||
|
userin = UserIns.query.filter_by(title="lastViewed").first()
|
||||||
|
return "XPPL /////// Last viewed: " + userin.info + " /////// "
|
||||||
|
|
||||||
@app.route('/scape', methods=['POST', 'GET'])
|
@app.route('/scape', methods=['POST', 'GET'])
|
||||||
def scape():
|
def scape():
|
||||||
if request.method == 'POST':
|
if request.method == 'POST':
|
||||||
@ -82,7 +87,6 @@ def scape():
|
|||||||
return render_template('scape.html', books=books)
|
return render_template('scape.html', books=books)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@app.route('/books_grid')
|
@app.route('/books_grid')
|
||||||
def show_books_grid():
|
def show_books_grid():
|
||||||
books = db.session.query(Book).all() # or you could have used User.query.all()
|
books = db.session.query(Book).all() # or you could have used User.query.all()
|
||||||
@ -91,6 +95,14 @@ def show_books_grid():
|
|||||||
@app.route('/books/<int:id>')
|
@app.route('/books/<int:id>')
|
||||||
def show_book_by_id(id):
|
def show_book_by_id(id):
|
||||||
book = Book.query.get(id)
|
book = Book.query.get(id)
|
||||||
|
userin = UserIns.query.filter_by(title="lastViewed").first()
|
||||||
|
if userin != None:
|
||||||
|
userin.info = book.title
|
||||||
|
db.session.commit()
|
||||||
|
else:
|
||||||
|
user_info = UserIns("lastViewed", book.title)
|
||||||
|
db.session.add(user_info)
|
||||||
|
db.session.commit()
|
||||||
if not book:
|
if not book:
|
||||||
return render_template('red_link.html', id=id)
|
return render_template('red_link.html', id=id)
|
||||||
else:
|
else:
|
||||||
|
Loading…
Reference in New Issue
Block a user