From 98fe507eb40a98569e3e301a1d0a2c8f5760d4af Mon Sep 17 00:00:00 2001 From: xengineering Date: Tue, 11 Aug 2020 20:19:48 +0200 Subject: Commit initial Source Files --- main.py | 47 +++++++++++++++++++++++ static/index.html | 40 ++++++++++++++++++++ static/style.css | 111 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 198 insertions(+) create mode 100755 main.py create mode 100644 static/index.html create mode 100644 static/style.css diff --git a/main.py b/main.py new file mode 100755 index 0000000..1459cf5 --- /dev/null +++ b/main.py @@ -0,0 +1,47 @@ + + +""" + web-template - A Template Project for dynamic Web Applications. + + Copyright (C) 2020 xengineering + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published + by the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . +""" + + +from waitress import serve +from flask import Flask, render_template, current_app + + +app = Flask(__name__) + + +@app.route('/') +def index(): + return current_app.send_static_file('index.html') + + +@app.route('/style.css') +def style(): + return current_app.send_static_file('style.css') + + +@app.route('/favicon.ico') +def favicon(): + return current_app.send_static_file('favicon.ico') + + +if __name__ == '__main__': + serve(app, listen='*:8080') # production server + #app.run() # test server diff --git a/static/index.html b/static/index.html new file mode 100644 index 0000000..90e5f1f --- /dev/null +++ b/static/index.html @@ -0,0 +1,40 @@ + + + + Web Template + + + + + + +
+
+

Web Template

+

+ Lorem ipsum. +

+
+
+ + diff --git a/static/style.css b/static/style.css new file mode 100644 index 0000000..fd92176 --- /dev/null +++ b/static/style.css @@ -0,0 +1,111 @@ + + +/* + web-template - A Template Project for dynamic Web Applications. + + Copyright (C) 2020 xengineering + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published + by the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . +*/ + + +/* + General Stuff +*/ + +* { + box-sizing: border-box; /* Include padding and border in the element's total width and height */ +} + +body { + margin: 0; /* avoid ugly white margin */ + font-family: Arial, Helvetica, sans-serif; /* select a nice font */ +} + +.menu { + background-color: black; +} + +.content { + background-color: white; +} + +.menu a { + color: lightgray; + text-decoration: none; /* disable ugly underlined links */ +} + +/* How should the link behave if the mouse is over this item? */ +.menu a:hover { + background-color: lightgray; + color: black; +} + + + +/* + Default Geometry / Geometry for Phones ('Mobile First Development') +*/ + +.content { + padding-left: 20px; + padding-right: 20px; + text-align: justify; +} + +.menu a { + display: block; + padding: 16px; + text-align: center; +} + + + +/* + Geometry for Tablets +*/ + +@media only screen and (min-width: 600px) { + /* empty --> same rules as for phones */ +} + + + +/* + Geometry for Desktops +*/ + +@media only screen and (min-width: 768px) { + + .menu { + height: 100%; + width: 200px; + position: fixed; /* position fixed in top left corner (with offset) */ + top: 0px; /* disable the offset from top left corner */ + } + + .menu a { + text-align: left; + } + + .content { + margin-left: 200px; /* transparent margin on the left for .menu */ + } + + .content *{ /* everything inside the content container */ + max-width: 960px; /* maximum width on desktops should be 960 px */ + margin-left: auto; /* center it with margin */ + margin-right: auto; /* center it with margin */ + } +} -- cgit v1.2.3-70-g09d2