From 6bcd4d3ab2a43d793d7294c03d50388c7bcb9644 Mon Sep 17 00:00:00 2001 From: JesseBot Date: Sun, 9 Oct 2022 21:31:48 +0200 Subject: [PATCH] updating formatting, colors, and removing old stuff from pages that we probably won't add back --- config/config.yaml | 2 +- config/example_apache_vhost.conf | 50 ----------- personal_routes.py | 100 +++++++++++++++++++++ scripts/band_names_db.py | 67 -------------- scripts/db_init.py | 49 ----------- scripts/generate_band_art.py | 58 ------------ scripts/image_processing.py | 36 -------- scripts/personal_routes.py | 146 ------------------------------- static/css/fonts.css | 27 ++++-- static/css/main.css | 88 +++++++++---------- static/img/linkedin.svg | 4 - static/img/noun_rock_monster.png | Bin 10561 -> 0 bytes templates/footer.html | 1 + templates/footer_main.html | 2 +- templates/header_band.html | 39 --------- templates/header_resources.html | 6 +- templates/index.html | 36 ++++---- templates/next-band.html | 57 ------------ templates/resources.html | 43 ++++----- 19 files changed, 210 insertions(+), 601 deletions(-) delete mode 100644 config/example_apache_vhost.conf create mode 100755 personal_routes.py delete mode 100755 scripts/band_names_db.py delete mode 100755 scripts/db_init.py delete mode 100755 scripts/generate_band_art.py delete mode 100644 scripts/image_processing.py delete mode 100755 scripts/personal_routes.py delete mode 100644 static/img/linkedin.svg delete mode 100644 static/img/noun_rock_monster.png delete mode 100644 templates/header_band.html delete mode 100644 templates/next-band.html diff --git a/config/config.yaml b/config/config.yaml index 359c6f3..2a41945 100644 --- a/config/config.yaml +++ b/config/config.yaml @@ -42,7 +42,7 @@ social_links: # Full URL to your social link URL: 'https://github.com/jessebot' # can be any glyph in nerdfonts - icon: 'nf-fa-github_alt' + icon: 'nf-fa-github_alt_link' gitlab: URL: 'https://gitlab.com/jessebot' icon: "nf-fa-gitlab" diff --git a/config/example_apache_vhost.conf b/config/example_apache_vhost.conf deleted file mode 100644 index 23f8928..0000000 --- a/config/example_apache_vhost.conf +++ /dev/null @@ -1,50 +0,0 @@ - - ServerName example.com - ServerAdmin example_user@gmail.com - WSGIDaemonProcess example_process_name user=example_user group=example_group processes=1 threads=5 - WSGIScriptAlias / /path/to/web/root/adapter.wsgi - - - WSGIProcessGroup example_group - WSGIApplicationGroup %{GLOBAL} - # comment out next two lines if getting "forbidden" errors - Order deny,allow - Allow from all - # uncomment if getting "forbidden" errors - # Require all granted - - - -# If you need want an SSL, which I recommend, then delete the above content -# and use the below as your starting point. You can use -# https://letsencrypt.org/howitworks/ to get a free SSL. Thanks, EFF <3 - - ServerName example.com - # rewriting things to force https traffic - RewriteEngine on - RewriteCond %{HTTPS} off - RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} - - - ServerName example.com - ServerAdmin example_user@gmail.com - # ssl stuff, you can change these paths to where ever you keep your own SSL files - SSLEngine on - SSLProtocol all -SSLv2 -SSLv3 - SSLCertificateFile /etc/letsencrypt/live/example.com/cert.pem - SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem - SSLCertificateChainFile /etc/letsencrypt/live/example.com/chain.pem - # wsgi stuff - WSGIDaemonProcess example_process_name user=example_user group=example_group processes=1 threads=5 - WSGIScriptAlias / /path/to/web/root/adapter.wsgi - - - WSGIProcessGroup example_group - WSGIApplicationGroup %{GLOBAL} - # comment out next two lines if getting "forbidden" errors - Order deny,allow - Allow from all - # uncomment if getting "forbidden" errors - # Require all granted - - diff --git a/personal_routes.py b/personal_routes.py new file mode 100755 index 0000000..963dce1 --- /dev/null +++ b/personal_routes.py @@ -0,0 +1,100 @@ +#!/usr/bin/env python3.10 +# JesseBot@Linux.com +# last update 2022-10-07 17:06:07.0 +0200 +from flask import Flask +from flask import render_template +import logging as log +import sys +import yaml + +# set logging +log.basicConfig(stream=sys.stderr, level=log.INFO) +log.info("logging config loaded") +# flask app init +app = Flask(__name__, static_folder='static') + + +def get_config_variables(): + """ + Gets config.yaml variables from YAML file. Returns dict. + """ + with open('./config/config.yaml', 'r') as yml_file: + doc = yaml.safe_load(yml_file) + return doc + + +def get_ld_variables(ld_var): + """ + Gets global variables from YAML file. Returns dict. + """ + with open('./config/config_likes_dislikes.yaml', 'r') as f: + doc = yaml.load(f) + txt = doc[ld_var] + return txt + + +def sorted_vars(some_dict): + """ + Iterates through a dict and fixes list values to be alphabitized + takes a dict. + """ + for key, value in some_dict.items(): + value.sort() + some_dict[key] = value + return some_dict + + +@app.route('/like') +def love(): + # Grab site specific information - YAML + globals = get_global_variables() + likes = get_ld_variables("likes") + sorted_likes = sorted_vars(likes) + return render_template('like', config_vars=config_vars, likes=sorted_likes) + + +@app.route('/dislike') +def hate(): + # Grab site specific information - YAML + globals = get_global_variables() + dislikes = get_ld_variables("dislikes") + sorted_dislikes = sorted_vars(dislikes) + return render_template('dislike', config_vars=config_vars, + dislikes=sorted_dislikes) + + +@app.route('/health') +def nutrition(): + # Grab site specific information - YAML + globals = get_global_variables() + return render_template('health', config_vars=config_vars) + + +@app.route('/health/nutrition') +def nutrition(): + # Grab site specific information - YAML + globals = get_global_variables() + return render_template('nutrition', config_vars=config_vars) + + +@app.route('/health/trans') +def trans(): + # Grab site specific information - YAML + globals = get_global_variables() + return render_template('trans', config_vars=config_vars) + + +@app.route('/tech') +def tech(): + # Grab site specific information - YAML + globals = get_global_variables() + return render_template('tech', config_vars=config_vars) + + +@app.route('/resources') +def hate(): + # Grab site specific information - YAML + globals = get_global_variables() + dislikes = get_ld_variables("dislikes") + sorted_dislikes = sorted_vars(dislikes) + return render_template('resources', config_vars=config_vars) diff --git a/scripts/band_names_db.py b/scripts/band_names_db.py deleted file mode 100755 index 18eb610..0000000 --- a/scripts/band_names_db.py +++ /dev/null @@ -1,67 +0,0 @@ -#!/usr/bin/env python -# script by jessebot@linux.com to get the bands and do the things -# 1/7/19 -- 2019? D: -import argparse -import subprocess -import sqlite3 - - -def add_new_band(band): - """ - Takes a str of a bands name and adds it to a sqlite3 db - returns the string "Success" if all went well. - """ - # create the band art! - bashCommand = "./generate_band_art.py --band {0}".format(band) - print bashCommand - process = subprocess.Popen(bashCommand.split(), stdout=subprocess.PIPE) - output, error = process.communicate() - print output - - # uh, idunno - return "Success" - - -def get_all_bands(): - """ - grabs all the bands from sqlite3 db - - returns a list of tuples with 2 strings of band_name, and time_stamp - """ - conn = sqlite3.connect('my-next-band.db') - - c = conn.cursor() - - # Insert a row of data - get = '''SELECT * FROM bands''' - c.execute(get) - - # print(c.fetchall()) - all_bands = c.fetchall() - - # close connection - conn.close() - - return all_bands - - -def main(): - """ - Let's get it on! *cracks whip* - """ - parser = argparse.ArgumentParser(description='Document cool band names.') - parser.add_argument('--add-band', dest='band', nargs='?', type=str, - help='a COOL band name') - parser.add_argument('--get-all', dest='get_all', action='store_true', - help='list all cool band names') - - args = parser.parse_args() - - if args.band: - print(add_new_band(args.band)) - - if args.get_all: - print(get_all_bands()) - - -if __name__ == "__main__": - main() diff --git a/scripts/db_init.py b/scripts/db_init.py deleted file mode 100755 index f504b6e..0000000 --- a/scripts/db_init.py +++ /dev/null @@ -1,49 +0,0 @@ -#!/usr/bin/env python -# script by jessebot@linux.com to get the bands and do the things -# 1/10/19 -- 2019? D: -import argparse -import sqlite3 -import datetime -import time - -def adapt_datetime(ts): - """ - Internet says I need dis - """ - return time.mktime(ts.timetuple()) - -def main (): - """ - Let's get it on! *cracks whip* - """ - parser = argparse.ArgumentParser(description='Document cool band names.') - parser.add_argument('--band', nargs='?', type=str, - help='a COOL band name') - - args = parser.parse_args() - print((args.band)) - - now = str(datetime.datetime.now()) - - conn = sqlite3.connect('my-next-band.db') - - c = conn.cursor() - - # Create table - c.execute('''CREATE TABLE bands (name text, time text, image text)''') - - # Insert a row of data - insert = '''INSERT INTO bands VALUES ('{0}','{1}','{2}')'''.format(args.band, - now, - "placeholder") - c.execute(insert) - - # Save (commit) the changes - conn.commit() - - # We can also close the connection if we are done with it. - # Just be sure any changes have been committed or they will be lost. - conn.close() - -if __name__ == "__main__": - main() diff --git a/scripts/generate_band_art.py b/scripts/generate_band_art.py deleted file mode 100755 index 3683727..0000000 --- a/scripts/generate_band_art.py +++ /dev/null @@ -1,58 +0,0 @@ -#!/usr/bin/env python3 -# script by jessebot@linux.com to get the bands' art and do the things -# 1/10/19 -- 2019? D: -import argparse -import datetime -from google_images_download import google_images_download -import sqlite3 - - -def generate_band_art(band): - # change image results by making different key words - band_list = band.split() - last_item = len(band_list) - 1 - keywd = band_list[last_item] - # google image - response = google_images_download.googleimagesdownload() - absolute_img_paths = response.download({"keywords":keywd, "size":"medium", - "output_directory":"./images/band", - "no_directory":"true", - "no_numbering":"true", "limit":1}) - path = absolute_img_paths[keywd][0] - art = path.replace("/var/www/jessebot.io/images/band/","") - - conn = sqlite3.connect('my-next-band.db') - c = conn.cursor() - - # timestamp! - now = str(datetime.datetime.now()) - - # Insert a row of data - insert = '''INSERT INTO bands VALUES ('{0}','{1}','{2}')'''.format(band, - now, - art) - print(insert) - c.execute(insert) - # Save (commit) the changes - conn.commit() - - # close db connection - conn.close() - - -def main(): - parser = argparse.ArgumentParser(description='Document cool band names.') - parser.add_argument('--band', type=str, nargs='+', help='a COOL band name') - - args = parser.parse_args() - - if args.band: - if type(args.band) == list: - band = " ".join(args.band) - else: - band = args.band - # make art - generate_band_art(band) - -if __name__ == '__main__': - main() diff --git a/scripts/image_processing.py b/scripts/image_processing.py deleted file mode 100644 index 2c9d16a..0000000 --- a/scripts/image_processing.py +++ /dev/null @@ -1,36 +0,0 @@ -#!/usr/bin/python3 -import argparse -from PIL import Image -from PIL import ImageFont -from PIL import ImageDraw -import sqlite3 - - -def add_text(): - img = Image.open(image_name) - draw = ImageDraw.Draw(img) - # font = ImageFont.truetype(, ) - font = ImageFont.truetype("sans-serif.ttf", 16) - # draw.text((x, y),"Sample Text",(r,g,b)) - draw.text((0, 0),"Sample Text",(255,255,255),font=font) - img.save('sample-out.jpg') - -def main(): - parser = argparse.ArgumentParser(description='Document cool band names.') - parser.add_argument('--band', type=str, nargs='+', help='a COOL band name') - - args = parser.parse_args() - - if args.band: - if type(args.band) == list: - band = " ".join(args.band) - else: - band = args.band - # make art - generate_band_art(band) - -if __name__ == '__main__': - main() - - - diff --git a/scripts/personal_routes.py b/scripts/personal_routes.py deleted file mode 100755 index 0d3e71d..0000000 --- a/scripts/personal_routes.py +++ /dev/null @@ -1,146 +0,0 @@ -#!/usr/bin/python -# Jesse Hitch - JesseBot@Linux.com -# 1/10/19 Production Web Routing File -- Personal Routes -import bottle -from bottle import redirect, request, response, route -from bottle import run, static_file, template -import logging as log -import os -import sys -import yaml -import band_names_db - - -def get_global_variables(): - """ - Gets global variables from YAML file. Returns dict. - """ - with open('./config/config.yaml', 'r') as f: - doc = yaml.load(f) - txt = doc["Globals"] - return txt - - -def get_ld_variables(ld_var): - """ - Gets global variables from YAML file. Returns dict. - """ - with open('./config/config_likes_dislikes.yaml', 'r') as f: - doc = yaml.load(f) - txt = doc[ld_var] - return txt - - -def sorted_vars(some_dict): - """ - Iterates through a dict and fixes list values to be alphabitized - takes a dict. - """ - for key, value in some_dict.items(): - value.sort() - some_dict[key] = value - return some_dict - - -# Web routes below this line... -# full path to HTML templates -WEB_ROOT = get_global_variables()['web_root'] -bottle.TEMPLATE_PATH.insert(0, '{0}/views/'.format(WEB_ROOT)) - - -@route('/google1ab5c73d1f31729d.html') -def goog(): - # allow google to crawl me harder - return static_file('google1ab5c73d1f31729d.html', root=WEB_ROOT+'/views/') - - -@route('/next-band') -def next_band(): - log.info("oh hi, you must be here to see the name of my next band") - # Grab site specific information - YAML - globals = get_global_variables() - - all_bands = band_names_db.get_all_bands() - log.info("received band.db response: {0}".format(all_bands)) - - return template('next-band', globals=globals, bands=all_bands) - - -@route('/next-band', method='POST') -def next_band_submit(): - # get band from post - inputBand = request.forms.get('inputBand') - log.info("received band name: {0}".format(inputBand)) - - # add new band to db - add_new_band = band_names_db.add_new_band(inputBand) - - # if success redirect back to main page - if add_new_band == "Success": - redirect("/next-band") - else: - return "

THERE WAS AN ERROR: {0}

".format(add_new_band) - - -@route('/love') -def love(): - # Grab site specific information - YAML - globals = get_global_variables() - likes = get_ld_variables("likes") - sorted_likes = sorted_vars(likes) - return template('love', globals=globals, likes=sorted_likes) - - -@route('/hate') -def hate(): - # Grab site specific information - YAML - globals = get_global_variables() - dislikes = get_ld_variables("dislikes") - sorted_dislikes = sorted_vars(dislikes) - return template('hate', globals=globals, dislikes=sorted_dislikes) - - -@route('/resources') -def hate(): - # Grab site specific information - YAML - globals = get_global_variables() - dislikes = get_ld_variables("dislikes") - sorted_dislikes = sorted_vars(dislikes) - return template('hate', globals=globals, dislikes=sorted_dislikes) - - -@route('/nutrition') -def nutrition(): - # Grab site specific information - YAML - globals = get_global_variables() - return template('nutrition', globals=globals) - - -@route('/trans') -def trans(): - # Grab site specific information - YAML - globals = get_global_variables() - return template('trans', globals=globals) - - -@route('/tech') -def tech(): - # Grab site specific information - YAML - globals = get_global_variables() - return template('tech', globals=globals) - - -@route('/resources') -def hate(): - # Grab site specific information - YAML - globals = get_global_variables() - dislikes = get_ld_variables("dislikes") - sorted_dislikes = sorted_vars(dislikes) - return template('resources', globals=globals, dislikes=sorted_dislikes) - - -@route('/dev') -def dev(): - # Grab site specific information - YAML - globals = get_global_variables() - return template('dev', globals=globals) diff --git a/static/css/fonts.css b/static/css/fonts.css index db2bf84..eae184b 100644 --- a/static/css/fonts.css +++ b/static/css/fonts.css @@ -7,32 +7,37 @@ [class^="nf-"]:before { font-family: 'Mononoki'; + font-size: 1.3rem; + color: cornflowerblue; + /* Better Font Rendering (from devicons, et al) */ + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; } + /* ------- social icons ----------- */ .nf-fa-github_alt:before { content: "\f113"; - font-size: 4rem; - color: cornflowerblue; +} + +.nf-fa-github_alt_link:before { + content: "\f113"; + font-size: 4rem !important; } .nf-fa-gitlab:before { content: "\f296"; - font-size: 4rem; - color: cornflowerblue; + font-size: 4rem !important; } .nf-fa-linkedin_square:before { content: "\f08c"; - font-size: 4rem; - color: cornflowerblue; + font-size: 4rem !important; } + /* ------- user icons ----------- */ -.nf-fa-user_secret:before { - content: "\f21b"; -} .nf-mdi-human:before { content: "\f7e5"; @@ -41,3 +46,7 @@ .nf-mdi-account:before { content: "\f503"; } + +.nf-mdi-forklift:before { + content: "\fcc7"; +} diff --git a/static/css/main.css b/static/css/main.css index e6cd6eb..a2c4ae9 100644 --- a/static/css/main.css +++ b/static/css/main.css @@ -1,7 +1,5 @@ -/* This was originally built on: - BLOCKS - Responsive Dashboard Theme - Copyright 2013 - Which was designed and built based on Twitter Bootstrap and created by: - Carlos Alvarez +/* Forked from: + BLOCKS - Copyright 2013 - Carlos Alvarez Since BLOCKS is dead since 2013, this is now a basic user linktree designed and maintained by jessebot[at]linux[dot]com @@ -11,7 +9,7 @@ | Color | Used for | |:-------:|:---------------------------------------| | #1f1f1f | Background Color | - | #3d3d3d | Dash-unit and half-unit Section | + | #3d3d3d | cardclone and half-unit Section | | #262626 | Footer | | #fa1d2d | Red - Used in selectors and paragraphs | | #b2c831 | Green - Used in titles | @@ -73,7 +71,8 @@ h5 { } /* ----------------------- Dash Unit -------------------------- */ -.dash-unit { + +.cardclone { margin-bottom: 30px; padding-bottom: 10px; background-image: url('../images/sep-half.png'); @@ -91,21 +90,21 @@ h5 { filter: alpha(opacity=97); } -.dash-unit:hover { +.cardclone:hover { background-color: #3a3a3a; -moz-box-shadow: 3px 3px 2px 0px #151515; -webkit-box-shadow: 3px 3px 2px 0px #151515; box-shadow: 3px 3px 2px 0px #151515; } -.dash-unit hr { +.cardclone hr { border: 0; border-top: 1px solid #151515; border-top-style: dashed; margin-top: 3px; } -.dash-unit p { +.cardclone p { font-size: 14px; font-weight: 200; line-height: 16px; @@ -117,27 +116,47 @@ h5 { padding-right: 20px; } -.dash-unit bold { - font-family: 'Open Sans', sans-serif; +.cardclone bold { font-size: 26px; font-weight: bold; - color: #fff; + color: #ffffff; vertical-align: middle; } -.dash-unit dtitle { +.c-title { font-size: 11px; text-transform: uppercase; color: #ffffff; - margin: 8px; - padding-top: 4px; + margin: 1px; + padding-top: 0px; + padding-bottom: 2px; + padding-left: 0px; + padding-right: 0px; + height: inherit; +} + +.c-title-social { + margin: 5px; + font-size: 11px; + text-transform: uppercase; + color: #ffffff; + padding: 0px; + height: inherit; +} + +.c-footer-link { + font-size: 11px; + text-transform: uppercase; + color: #ffffff; + margin: 2px; + padding-top: 3px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; height: inherit; } -.dash-unit h1 { +.cardclone h1 { font-family: 'Raleway', sans-serif; font-weight: 300; font-size: 20px; @@ -150,7 +169,7 @@ h5 { text-align: center; } -.dash-unit h2 { +.cardclone h2 { font-family: 'Open Sans', sans-serif; font-weight: bold; font-size: 30px; @@ -163,7 +182,7 @@ h5 { text-align: center; } -.dash-unit h3 { +.cardclone h3 { font-weight: 300; font-size: 15px; line-height: 2px; @@ -175,14 +194,14 @@ h5 { text-align: center; } -.dash-unit h4 { +.cardclone h4 { padding-left: 5px; margin-top: 2px; font-size: 13px; font-weight: lighter; line-height: 1; letter-spacing: 0px; - color: #fff; + color: #ffffff; } @@ -216,11 +235,11 @@ h5 { font-family: 'Open Sans', sans-serif; font-size: 26px; font-weight: bold; - color: #fff; + color: #ffffff; vertical-align: middle; } -.half-unit dtitle { +.half-unit c-title { font-size: 10px; text-transform: uppercase; color: #ffffff; @@ -249,7 +268,7 @@ h5 { font-weight: lighter; line-height: 1; letter-spacing: 0px; - color: #fff; + color: #ffffff; } /**********Styling Elements**********/ @@ -300,14 +319,14 @@ h5 { .modal-header { background-image: url('../images/sep-half.png'); background-color: #4f4f4f; - color: #fff; + color: #ffffff; } input[type=submit] { font-family: 'Open Sans', sans-serif; font-size: 15px; background: #b2c831; - color: #fff; + color: #ffffff; border: none; padding: 8px 28px 10px 26px; *-webkit-border-radius: 4px; @@ -439,25 +458,6 @@ a:hover { text-decoration: none; } - -/********** FooterWrap Section **********/ -#footerwrap { - background: #262626; - background-image: url('../images/sep-half.png'); - padding-top: 25px; - padding-bottom: 40px; - border-top-style: solid; - border-top-width: 8px; - border-top-color: #1d1d1d; - text-align: center; -} - -#footerwrap p { - color: white; - font-size: 12px; -} - - /********** Media Styles **********/ /* portrait tablet */ diff --git a/static/img/linkedin.svg b/static/img/linkedin.svg deleted file mode 100644 index 3206b21..0000000 --- a/static/img/linkedin.svg +++ /dev/null @@ -1,4 +0,0 @@ - \ No newline at end of file diff --git a/static/img/noun_rock_monster.png b/static/img/noun_rock_monster.png deleted file mode 100644 index 19b90f9fd82e423e91024c7f4195285b88c9eb20..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10561 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 diff --git a/templates/footer.html b/templates/footer.html index 1752243..2cf1796 100644 --- a/templates/footer.html +++ b/templates/footer.html @@ -25,4 +25,5 @@ }); +
Fork me on Github <3
diff --git a/templates/footer_main.html b/templates/footer_main.html index fcfde4d..0a8df2c 100644 --- a/templates/footer_main.html +++ b/templates/footer_main.html @@ -8,6 +8,6 @@ $('[data-toggle="tooltip"]').tooltip() }); - + diff --git a/templates/header_band.html b/templates/header_band.html deleted file mode 100644 index 3e25d30..0000000 --- a/templates/header_band.html +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - - - - - - - - - MY NEXT BAND - - - - - - - - - - - - - % if globals['fork_me']: - - % end diff --git a/templates/header_resources.html b/templates/header_resources.html index 3de901b..7aa66f3 100644 --- a/templates/header_resources.html +++ b/templates/header_resources.html @@ -34,6 +34,6 @@ - % if globals['fork_me']: - - % end + {% if globals['fork_me'] %} + +{% endif %} diff --git a/templates/index.html b/templates/index.html index ac8eb93..f06671e 100644 --- a/templates/index.html +++ b/templates/index.html @@ -1,14 +1,15 @@ {% include('header_main.html') %} -
+
-
- - +
+
+ About {{ config_vars['name'] }} - +


- +

{{ config_vars['blurb'] }}

-
-
-
+
+
+
-
- Social Links + +
+
Social Links

   {% for lnk in social_links %} @@ -47,15 +49,15 @@ {% endfor %}
- + +
+
+ {% include('footer_main.html') %} diff --git a/templates/next-band.html b/templates/next-band.html deleted file mode 100644 index cfeb9d4..0000000 --- a/templates/next-band.html +++ /dev/null @@ -1,57 +0,0 @@ -% include('header_band.html') -
-
- - -
-
- - - The Name of My Next Band - -
-
-
-
-
-
-
- Band Monster >:3 -
-
- Submit a band name, and it'll generate some cool art for you. Currently under construction. - - - -
-
-
-
-
-
-
-
- - -
-
- - - Previous Potential Band Names - -
-
-
- % for band_set in bands: -
  • {{band_set[0]}}

  • - % end -
    -
    - -
    -
    - -
    -
    - -% include('footer_main.html') diff --git a/templates/resources.html b/templates/resources.html index 813a55f..92f414f 100644 --- a/templates/resources.html +++ b/templates/resources.html @@ -1,59 +1,63 @@ -% include('header_resources.html') -
    +{% include('header_resources.html') %} + +

    Come learn about things!


    -
    - +
    +
    Health - +

    Boop.
    +
    -
    - +
    +
    Tech Stuff - +

    Boop.
    +
    -
    - +
    +
    Trans Data - +

    Boop.
    +