No description
  • Python 33.1%
  • HTML 32.2%
  • CSS 27.4%
  • Dockerfile 3.7%
  • JavaScript 2%
  • Other 1.6%
Find a file
2026-05-02 12:15:49 -05:00
.github/workflows chore: feb patching 2026-02-25 21:53:10 -06:00
blog feat(blog): new post 2025-12-02 14:08:05 -05:00
examples docs: refactor example folder 2025-11-11 14:47:49 -06:00
src fix: html compliance, improve visual distinction in dark mode 2025-12-02 14:07:26 -05:00
static fix: mobile formatting 2025-12-03 01:09:20 -05:00
templates fix: html compliance, improve visual distinction in dark mode 2025-12-02 14:07:26 -05:00
.gitignore init app 2023-05-16 01:51:11 +00:00
.python-version chore: bump dependencies, python version 2026-05-02 12:15:49 -05:00
app.py feat: advertise rss feed 2025-11-30 15:50:21 -05:00
Dockerfile chore: bump dependencies, python version 2026-05-02 12:15:49 -05:00
encode.py refactor: move contacts to navbar, add mastodon 2025-11-23 13:58:51 -06:00
Makefile refactor: move contacts to navbar, add mastodon 2025-11-23 13:58:51 -06:00
pyproject.toml chore: bump dependencies, python version 2026-05-02 12:15:49 -05:00
README.md docs: refactor example folder 2025-11-11 14:47:49 -06:00
uv.lock chore: bump dependencies, python version 2026-05-02 12:15:49 -05:00

portfolio-site

Website to highlight personal projects, written in Python, built on Flask and Jinja templating. Live at pve.dev

YAML-based posts

Individual project posts to the home page are defined via yaml files, with support for proper HTML tags (headings and subheadings, paragraph text, divs, and more) in addition to inline code snippets and images.

I chose this approach as an introduction to working with Flask and to leverage Jinja templates in a way I haven't seen before. This project design allows to me to maintain the site without needing a more complex solution for blog post entries, such as a database.

Docker

Image

A docker image that runs this application is available under the repo packages, or at ghcr.io/holysoles/portfolio-site.

Building

docker build --tag ghcr.io/holysoles/portfolio-site:<tag> .

Testing

docker run --rm -d -p 5000:5000 ghcr.io/holysoles/portfolio-site:<tag>

Upload

docker push ghcr.io/holysoles/portfolio-site:<tag>

Deploying

Linux Server

An example service unit file can be found here

Docker Compose

An example compose file can be found in the repo here