init & temp homepage
commit
8fb4c4371e
@ -0,0 +1,18 @@
|
|||||||
|
venv/
|
||||||
|
|
||||||
|
*.pyc
|
||||||
|
__pycache__/
|
||||||
|
.ipynb_checkpoints
|
||||||
|
|
||||||
|
instance/
|
||||||
|
|
||||||
|
.pytest_cache/
|
||||||
|
.coverage
|
||||||
|
htmlcov/
|
||||||
|
|
||||||
|
dist/
|
||||||
|
build/
|
||||||
|
*.egg-info/
|
||||||
|
|
||||||
|
.env
|
||||||
|
.vscode
|
@ -0,0 +1,17 @@
|
|||||||
|
import os
|
||||||
|
|
||||||
|
class Config(object):
|
||||||
|
DEBUG = False
|
||||||
|
TESTING = False
|
||||||
|
URL_PREFIX = ""
|
||||||
|
|
||||||
|
|
||||||
|
class ProductionConfig(Config):
|
||||||
|
DEBUG = False
|
||||||
|
URL_PREFIX = os.environ.get("URL_PREFIX")
|
||||||
|
|
||||||
|
|
||||||
|
class DevelopmentConfig(Config):
|
||||||
|
ENV = "development"
|
||||||
|
DEVELOPMENT = True
|
||||||
|
DEBUG = True
|
@ -0,0 +1,10 @@
|
|||||||
|
from setuptools import find_packages, setup
|
||||||
|
|
||||||
|
setup(
|
||||||
|
name="postit",
|
||||||
|
version="1.0.0",
|
||||||
|
packages=find_packages(),
|
||||||
|
include_package_data=True,
|
||||||
|
zip_safe=False,
|
||||||
|
install_requires=["flask", "python-dotenv"],
|
||||||
|
)
|
@ -0,0 +1,40 @@
|
|||||||
|
import os
|
||||||
|
from flask import Flask, send_from_directory
|
||||||
|
|
||||||
|
from . import prefix
|
||||||
|
|
||||||
|
def create_app(test_config=None):
|
||||||
|
|
||||||
|
# Create and configure the Flask App
|
||||||
|
app = Flask(__name__, instance_relative_config=True)
|
||||||
|
app.config.from_mapping(
|
||||||
|
SECRET_KEY="dev",
|
||||||
|
)
|
||||||
|
|
||||||
|
if test_config is None:
|
||||||
|
# load the instance config, if it exists, when not testing
|
||||||
|
app.config.from_pyfile("config.py", silent=True)
|
||||||
|
else:
|
||||||
|
# load the test config if passed in
|
||||||
|
app.config.from_mapping(test_config)
|
||||||
|
|
||||||
|
# ensure the instance folder exists
|
||||||
|
try:
|
||||||
|
os.makedirs(app.instance_path)
|
||||||
|
except OSError:
|
||||||
|
pass
|
||||||
|
|
||||||
|
@app.route("/favicon.ico")
|
||||||
|
def favicon():
|
||||||
|
return send_from_directory(
|
||||||
|
os.path.join(app.root_path, "static"),
|
||||||
|
"favicon.ico",
|
||||||
|
mimetype="image/vnd.microsoft.icon",
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
from . import home
|
||||||
|
app.register_blueprint(home.bp)
|
||||||
|
|
||||||
|
return app
|
@ -0,0 +1,9 @@
|
|||||||
|
from flask import Blueprint, render_template
|
||||||
|
|
||||||
|
|
||||||
|
bp = Blueprint("home", __name__, url_prefix="/")
|
||||||
|
|
||||||
|
|
||||||
|
@bp.route("/")
|
||||||
|
def home():
|
||||||
|
return render_template("home.html")
|
@ -0,0 +1,14 @@
|
|||||||
|
class PrefixMiddleware(object):
|
||||||
|
def __init__(self, app, prefix=""):
|
||||||
|
self.app = app
|
||||||
|
self.prefix = prefix
|
||||||
|
|
||||||
|
def __call__(self, environ, start_response):
|
||||||
|
|
||||||
|
if environ["PATH_INFO"].startswith(self.prefix):
|
||||||
|
environ["PATH_INFO"] = environ["PATH_INFO"][len(self.prefix) :]
|
||||||
|
environ["SCRIPT_NAME"] = self.prefix
|
||||||
|
return self.app(environ, start_response)
|
||||||
|
else:
|
||||||
|
start_response("404", [("Content-Type", "text/plain")])
|
||||||
|
return ["This url does not belong to the app.".encode()]
|
@ -0,0 +1,44 @@
|
|||||||
|
* {
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
:root {
|
||||||
|
--color: #8f00ff;
|
||||||
|
--light-color: #e8cdfe;
|
||||||
|
}
|
||||||
|
|
||||||
|
html,
|
||||||
|
body {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
background-color: var(--light-color);
|
||||||
|
}
|
||||||
|
|
||||||
|
header {
|
||||||
|
width: 100%;
|
||||||
|
height: 100vh;
|
||||||
|
text-align: center;
|
||||||
|
color: var(--color);
|
||||||
|
font-family: Arial, Helvetica, sans-serif;
|
||||||
|
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
h1 {
|
||||||
|
font-family: "SI17";
|
||||||
|
font-size: 64px;
|
||||||
|
text-transform: uppercase;
|
||||||
|
color: var(--color); /* Fallback color */
|
||||||
|
-webkit-text-fill-color: var(--light-color); /* Will override color (regardless of order) */
|
||||||
|
-webkit-text-stroke-width: 1.5px;
|
||||||
|
-webkit-text-stroke-color: var(--color);
|
||||||
|
}
|
||||||
|
|
||||||
|
.date {
|
||||||
|
font-size: 24px;
|
||||||
|
}
|
Binary file not shown.
Binary file not shown.
@ -0,0 +1,8 @@
|
|||||||
|
@font-face {
|
||||||
|
font-family: "SI17";
|
||||||
|
src: url("SpecialIssue17-Regular.woff2") format("woff2"),
|
||||||
|
url("SpecialIssue17-Regular.woff") format("woff");
|
||||||
|
font-weight: normal;
|
||||||
|
font-style: normal;
|
||||||
|
font-display: swap;
|
||||||
|
}
|
@ -0,0 +1,19 @@
|
|||||||
|
let palettes = {
|
||||||
|
purple: {
|
||||||
|
color: "#8f00ff",
|
||||||
|
lightColor: "#E8CDFE",
|
||||||
|
},
|
||||||
|
|
||||||
|
orange: {
|
||||||
|
color: "#FFF",
|
||||||
|
lightColor: "#FF6100",
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
window.addEventListener("load", () => {
|
||||||
|
let shade = Math.random() > 0.5 ? "purple" : "orange";
|
||||||
|
color = palettes[shade]["color"];
|
||||||
|
lightColor = palettes[shade]["lightColor"];
|
||||||
|
document.documentElement.style.setProperty("--color", color);
|
||||||
|
document.documentElement.style.setProperty("--light-color", lightColor);
|
||||||
|
});
|
@ -0,0 +1,18 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8" />
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
|
<title>SI17 - This box found you for a reason</title>
|
||||||
|
<link rel="stylesheet" href="{{url_for('static', filename='font/font.css')}}" />
|
||||||
|
<link rel="stylesheet" href="{{url_for('static', filename='css/global.css')}}" />
|
||||||
|
<script src="{{url_for('static', filename='js/color.js')}}" defer></script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<header>
|
||||||
|
<h1>This box <br />found you <br />for a reason</h1>
|
||||||
|
<div class="date">25.3.2022</div>
|
||||||
|
</header>
|
||||||
|
</body>
|
||||||
|
</html>
|
Loading…
Reference in New Issue