Converted old site to Flask
parent
2121e2364b
commit
b78405d5c5
|
@ -11,30 +11,30 @@ def create_app():
|
||||||
app = Flask(__name__)
|
app = Flask(__name__)
|
||||||
app.config['SECRET_KEY'] = 'hjshjhdjah kjshkjdhjs'
|
app.config['SECRET_KEY'] = 'hjshjhdjah kjshkjdhjs'
|
||||||
app.config['SQLALCHEMY_DATABASE_URI'] = f'sqlite:///{DB_NAME}'
|
app.config['SQLALCHEMY_DATABASE_URI'] = f'sqlite:///{DB_NAME}'
|
||||||
db.init_app(app)
|
# db.init_app(app)
|
||||||
|
|
||||||
from .views import views
|
from .views import views
|
||||||
from .auth import auth
|
from .auth import auth
|
||||||
|
|
||||||
app.register_blueprint(views, url_prefix='/')
|
app.register_blueprint(views, url_prefix='/')
|
||||||
app.register_blueprint(auth, url_prefix='/')
|
# app.register_blueprint(auth, url_prefix='/')
|
||||||
|
|
||||||
from .models import User, Note
|
from .models import User, Note
|
||||||
|
|
||||||
create_database(app)
|
# create_database(app)
|
||||||
|
#
|
||||||
login_manager = LoginManager()
|
# login_manager = LoginManager()
|
||||||
login_manager.login_view = 'auth.login'
|
# login_manager.login_view = 'auth.login'
|
||||||
login_manager.init_app(app)
|
# login_manager.init_app(app)
|
||||||
|
#
|
||||||
@login_manager.user_loader
|
# @login_manager.user_loader
|
||||||
def load_user(id):
|
# def load_user(id):
|
||||||
return User.query.get(int(id))
|
# return User.query.get(int(id))
|
||||||
|
|
||||||
return app
|
return app
|
||||||
|
|
||||||
|
|
||||||
def create_database(app):
|
#def create_database(app):
|
||||||
if not path.exists('website/' + DB_NAME):
|
# if not path.exists('website/' + DB_NAME):
|
||||||
db.create_all(app=app)
|
# db.create_all(app=app)
|
||||||
print('Created Database!')
|
# print('Created Database!')
|
||||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,55 @@
|
||||||
|
body {
|
||||||
|
margin: 0;
|
||||||
|
font-family: monospace;
|
||||||
|
}
|
||||||
|
|
||||||
|
.topnav {
|
||||||
|
overflow: hidden;
|
||||||
|
background-color: #333;
|
||||||
|
}
|
||||||
|
|
||||||
|
.topnav a {
|
||||||
|
float: left;
|
||||||
|
color: #858585;
|
||||||
|
text-align: center;
|
||||||
|
padding: 14px 16px;
|
||||||
|
text-decoration: none;
|
||||||
|
font-size: 18px;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.topnav a:hover {
|
||||||
|
background-color: #ddd;
|
||||||
|
color: black;
|
||||||
|
}
|
||||||
|
|
||||||
|
.topnav a.active {
|
||||||
|
background-color: #333333;
|
||||||
|
color: #04AA6D;
|
||||||
|
}
|
||||||
|
|
||||||
|
.topnav a.twitch {
|
||||||
|
background-color: #333333;
|
||||||
|
color: #6441a5;
|
||||||
|
}
|
||||||
|
.topnav a.yt {
|
||||||
|
background-color: #333333;
|
||||||
|
color: #db0000
|
||||||
|
}
|
||||||
|
.topnav a.dc {
|
||||||
|
background-color: #333333;
|
||||||
|
color: #7289da;
|
||||||
|
}
|
||||||
|
h1 {text-align: center;}
|
||||||
|
p {text-align: center;
|
||||||
|
font-size:16px;
|
||||||
|
line-height: 160%;
|
||||||
|
}
|
||||||
|
x {
|
||||||
|
font-size:20px;
|
||||||
|
color: #04bf7a;
|
||||||
|
text-shadow: 1.5px 1.5px #525252;
|
||||||
|
}
|
||||||
|
l {
|
||||||
|
font-size: 20px;
|
||||||
|
}
|
Binary file not shown.
After Width: | Height: | Size: 15 KiB |
|
@ -0,0 +1,12 @@
|
||||||
|
{% extends "base.html" %} {% block title %}About{% endblock %} {% block
|
||||||
|
content %}
|
||||||
|
<div align="center" style="padding:10px;color: #04AA6D;">
|
||||||
|
<h1>|Some info about me|</h1>
|
||||||
|
<p><l>Hey there...</l><br><br>
|
||||||
|
I go by the name <x>Anorak</x> and I'm a Czech variety streamer. <br>
|
||||||
|
I'm mostly playing indie games(Bright Memory, MewnBase) and <br>
|
||||||
|
coding Minecraft plugins/minigames or anything in Python. <br><br>
|
||||||
|
You can currently find me on my <a href="https://www.twitch.tv/an0rak_1" target="_blank" rel="noopener noreferrer"><x>Twitch</x></a> or my <a href="https://gitea.anorak01.top" target="_blank" rel="noopener noreferrer"><x>Gitea</x></a>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
{% endblock %}
|
|
@ -14,31 +14,19 @@
|
||||||
href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css"
|
href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css"
|
||||||
crossorigin="anonymous"
|
crossorigin="anonymous"
|
||||||
/>
|
/>
|
||||||
|
<link rel="stylesheet" href="{{ url_for('static', filename='css/main.css') }}">
|
||||||
|
<link rel="shortcut icon" href="{{ url_for('static', filename='favicon.ico') }}">
|
||||||
<title>{% block title %}Home{% endblock %}</title>
|
<title>{% block title %}Home{% endblock %}</title>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body style="background-color:#262626;">
|
||||||
<nav class="navbar navbar-expand-lg navbar-dark bg-dark">
|
<div class="topnav">
|
||||||
<button
|
<a class="active" href="/">Home</a>
|
||||||
class="navbar-toggler"
|
<a class="dc" href="https://discord.gg/eRDzEv9DVB" targer="_blank" rel="noopener noreferrer">Discord</a>
|
||||||
type="button"
|
<a class="twitch" href="https://www.twitch.tv/an0rak_1" target="_blank" rel="noopener noreferrer">Twitch</a>
|
||||||
data-toggle="collapse"
|
<a class="yt" href="https://www.youtube.com/channel/UC7d4Vh6X3_QnE9XL4yWmCDw" target="_blank" rel="noopener noreferrer">YouTube</a>
|
||||||
data-target="#navbar"
|
<a href="/sites">Sites</a>
|
||||||
>
|
<a href="/about">About</a>
|
||||||
<span class="navbar-toggler-icon"></span>
|
|
||||||
</button>
|
|
||||||
<div class="collapse navbar-collapse" id="navbar">
|
|
||||||
<div class="navbar-nav">
|
|
||||||
{% if user.is_authenticated %}
|
|
||||||
<a class="nav-item nav-link" id="home" href="/">Home</a>
|
|
||||||
<a class="nav-item nav-link" id="logout" href="/logout">Logout</a>
|
|
||||||
{% else %}
|
|
||||||
<a class="nav-item nav-link" id="login" href="/login">Login</a>
|
|
||||||
<a class="nav-item nav-link" id="signUp" href="/sign-up">Sign Up</a>
|
|
||||||
{% endif %}
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
</nav>
|
|
||||||
|
|
||||||
{% with messages = get_flashed_messages(with_categories=true) %} {% if
|
{% with messages = get_flashed_messages(with_categories=true) %} {% if
|
||||||
messages %} {% for category, message in messages %} {% if category ==
|
messages %} {% for category, message in messages %} {% if category ==
|
||||||
|
|
|
@ -1,21 +1,7 @@
|
||||||
{% extends "base.html" %} {% block title %}Home{% endblock %} {% block content
|
{% extends "base.html" %} {% block title %}Home{% endblock %} {% block content
|
||||||
%}
|
%}
|
||||||
<h1 align="center">Notes</h1>
|
<div align="center" style="padding:10px;color: #04AA6D;">
|
||||||
<ul class="list-group list-group-flush" id="notes">
|
<h1>| Twitch |</h1>
|
||||||
{% for note in user.notes %}
|
<a href="https://www.twitch.tv/an0rak_1" target="_blank" rel="noopener noreferrer"><img src="https://static-cdn.jtvnw.net/jtv_user_pictures/04ff75ab-1e9a-4b7b-b5d3-c7ff35d20b80-profile_image-70x70.png" width="120" height="120" style="padding:12px;"></a>
|
||||||
<li class="list-group-item">
|
|
||||||
{{ note.data }}
|
|
||||||
<button type="button" class="close" onClick="deleteNote({{ note.id }})">
|
|
||||||
<span aria-hidden="true">×</span>
|
|
||||||
</button>
|
|
||||||
</li>
|
|
||||||
{% endfor %}
|
|
||||||
</ul>
|
|
||||||
<form method="POST">
|
|
||||||
<textarea name="note" id="note" class="form-control"></textarea>
|
|
||||||
<br />
|
|
||||||
<div align="center">
|
|
||||||
<button type="submit" class="btn btn-primary">Add Note</button>
|
|
||||||
</div>
|
</div>
|
||||||
</form>
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
|
@ -1,28 +0,0 @@
|
||||||
{% extends "base.html" %} {% block title %}Login{% endblock %} {% block content
|
|
||||||
%}
|
|
||||||
<form method="POST">
|
|
||||||
<h3 align="center">Login</h3>
|
|
||||||
<div class="form-group">
|
|
||||||
<label for="email">Email Address</label>
|
|
||||||
<input
|
|
||||||
type="email"
|
|
||||||
class="form-control"
|
|
||||||
id="email"
|
|
||||||
name="email"
|
|
||||||
placeholder="Enter email"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
<div class="form-group">
|
|
||||||
<label for="password">Password</label>
|
|
||||||
<input
|
|
||||||
type="password"
|
|
||||||
class="form-control"
|
|
||||||
id="password"
|
|
||||||
name="password"
|
|
||||||
placeholder="Enter password"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
<br />
|
|
||||||
<button type="submit" class="btn btn-primary">Login</button>
|
|
||||||
</form>
|
|
||||||
{% endblock %}
|
|
|
@ -1,48 +0,0 @@
|
||||||
{% extends "base.html" %} {% block title %}Sign Up{% endblock %} {% block
|
|
||||||
content %}
|
|
||||||
<form method="POST">
|
|
||||||
<h3 align="center">Sign Up</h3>
|
|
||||||
<div class="form-group">
|
|
||||||
<label for="email">Email Address</label>
|
|
||||||
<input
|
|
||||||
type="email"
|
|
||||||
class="form-control"
|
|
||||||
id="email"
|
|
||||||
name="email"
|
|
||||||
placeholder="Enter email"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
<div class="form-group">
|
|
||||||
<label for="firstName">First Name</label>
|
|
||||||
<input
|
|
||||||
type="text"
|
|
||||||
class="form-control"
|
|
||||||
id="firstName"
|
|
||||||
name="firstName"
|
|
||||||
placeholder="Enter first name"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
<div class="form-group">
|
|
||||||
<label for="password1">Password</label>
|
|
||||||
<input
|
|
||||||
type="password"
|
|
||||||
class="form-control"
|
|
||||||
id="password1"
|
|
||||||
name="password1"
|
|
||||||
placeholder="Enter password"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
<div class="form-group">
|
|
||||||
<label for="password2">Password (Confirm)</label>
|
|
||||||
<input
|
|
||||||
type="password"
|
|
||||||
class="form-control"
|
|
||||||
id="password2"
|
|
||||||
name="password2"
|
|
||||||
placeholder="Confirm password"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
<br />
|
|
||||||
<button type="submit" class="btn btn-primary">Submit</button>
|
|
||||||
</form>
|
|
||||||
{% endblock %}
|
|
|
@ -0,0 +1,7 @@
|
||||||
|
{% extends "base.html" %} {% block title %}Sites{% endblock %} {% block content
|
||||||
|
%}
|
||||||
|
<div align="center" style="padding:10px;color: #04AA6D;">
|
||||||
|
<h1>All selfhosted site links</h1>
|
||||||
|
<p><a href="https://gitea.anorak01.top" target="_blank" rel="noopener noreferrer"><img src="https://gitea.anorak01.top/assets/img/logo.svg" width="120" height="120"></a><br><a href="https://nmanager.anorak01.top" target="_blank" rel="noopener noreferrer"><img src="https://avatars.githubusercontent.com/u/88089605?v=4&s=400" width="120" height="120"></a><br><a href="https://paste.anorak01.top" target="_blank" rel="noopener noreferrer"><img src=https://dashboard.snapcraft.io/site_media/appmedia/2020/03/hastebin.png width="120" height="120"></a><br></p>
|
||||||
|
</div>
|
||||||
|
{% endblock %}
|
|
@ -1,5 +1,4 @@
|
||||||
from flask import Blueprint, render_template, request, flash, jsonify
|
from flask import Blueprint, render_template, request, flash, jsonify
|
||||||
from flask_login import login_required, current_user
|
|
||||||
from .models import Note
|
from .models import Note
|
||||||
from . import db
|
from . import db
|
||||||
import json
|
import json
|
||||||
|
@ -8,7 +7,6 @@ views = Blueprint('views', __name__)
|
||||||
|
|
||||||
|
|
||||||
@views.route('/', methods=['GET', 'POST'])
|
@views.route('/', methods=['GET', 'POST'])
|
||||||
@login_required
|
|
||||||
def home():
|
def home():
|
||||||
if request.method == 'POST':
|
if request.method == 'POST':
|
||||||
note = request.form.get('note')
|
note = request.form.get('note')
|
||||||
|
@ -21,8 +19,15 @@ def home():
|
||||||
db.session.commit()
|
db.session.commit()
|
||||||
flash('Note added!', category='success')
|
flash('Note added!', category='success')
|
||||||
|
|
||||||
return render_template("home.html", user=current_user)
|
return render_template("home.html")
|
||||||
|
|
||||||
|
@views.route('/sites')
|
||||||
|
def sites():
|
||||||
|
return render_template("sites.html")
|
||||||
|
|
||||||
|
@views.route('/about')
|
||||||
|
def about():
|
||||||
|
return render_template("about.html")
|
||||||
|
|
||||||
@views.route('/delete-note', methods=['POST'])
|
@views.route('/delete-note', methods=['POST'])
|
||||||
def delete_note():
|
def delete_note():
|
||||||
|
|
Loading…
Reference in New Issue