Basic resume site written with Python with Flask, Bootstrap, and a YAML config file. https://jessebot.work
Find a file
2022-10-06 16:14:11 +02:00
config docker ignoring file, adding example to readme, and removing old sample config 2022-10-06 16:05:40 +02:00
scripts adding personal routes for later and a gunicorn config 2022-10-05 14:30:26 +02:00
static adding pronouns and fixing readme, also removing more css that is not needed 2022-10-06 15:58:12 +02:00
templates adding pronouns and fixing readme, also removing more css that is not needed 2022-10-06 15:58:12 +02:00
.dockerignore docker ignoring file, adding example to readme, and removing old sample config 2022-10-06 16:05:40 +02:00
.gitignore adding personal routes for later and a gunicorn config 2022-10-05 14:30:26 +02:00
app.py fixing up ancient CSS file to be less poorly formatted, extracting variables from config file better 2022-10-06 08:55:38 +02:00
Dockerfile changing from 8000 to 8080 for gunicorn port 2022-10-06 14:41:11 +02:00
example.png docker ignoring file, adding example to readme, and removing old sample config 2022-10-06 16:05:40 +02:00
flask_start.sh remove adapter for apache since we don't use that anymore and update the flask start to be accurate, change routes to app 2022-10-05 14:38:57 +02:00
gunicorn_config.py adding personal routes for later and a gunicorn config 2022-10-05 14:30:26 +02:00
LICENSE more notes and docs and a license :D 2022-10-06 15:00:48 +02:00
README.md fix formatting 2022-10-06 16:14:11 +02:00
requirements.txt adding personal routes for later and a gunicorn config 2022-10-05 14:30:26 +02:00

tiny_personal_website

This is a small Python based personal website aimed first and foremost at being a resume:

screenshot of jessebot.work which serves as an example website. It features a picture of Jesse a person with blue hair that is almost 30. a blurb about them that you can read in config/config.yaml and link icons to github, gitlab, and linkedin.

I originally wrote this 7 or 8 years ago, and recently absolutely borked my newer website, resulting in me quickly resurrecting this thing in about a day and a half. This one does the same thing, but better, and faster, with less js.

Feel free to take anything you need :) But keep it open source. You gotta.

No, like you literally have to.

Under the Hood

  • Bootstrap v5 - frontend js/css

  • Flask - backend routing

  • Gunicorn - serving website

  • YAML - config file

  • The Open Source Community <3 - answers to all your questions for free

Dev and Testing

  1. Clone this github repo into your desired webroot.

  2. Install missing libraries if any: pip3.10 install -r requirements.txt

  3. You can configure everything (e.g. website title, your photo, quote, etc) by editing config.yaml and replacing all the Jesse data with your own.

  4. All changes to HTML, CSS, and Python, or your core YAML will require a restart of gunicorn or a rebuild of the docker container.

  5. for docker, you can just do:

    docker build . -t <name of tag you want>
    
    # to test locally, you can do -p 8000:8080 to forward
    # port 8080 on the container to port 8000 on your local machine
    docker run --rm -p 8000:8080 <name of the tag you used>
    

    For testing locally, without a docker rebuild:

    gunicorn app:app
    

Then you can go to http://127.0.0.1:8000 in a browser to view your changes.

Deploying on an app platform

You want the following command plugged into where-ever this runs (e.g. digital ocean app platform):

gunicorn --worker-tmp-dir /dev/shm app:app

And the container port of note is port 8080.

Frontend Dev Notes

I found this guide on vertically centering items and it helped a lot. Basically both the body and base container you have need to be h-100 and vh-100 and for extra security, add min-height: 100vh; to the CSS for the body.