Compare commits

..

5 Commits

Author SHA1 Message Date
benny
bfdda8a164 Update .gitea/workflows/deploy.yml
All checks were successful
Deploy Portfolio / deploy (push) Successful in 2s
2026-04-23 19:55:26 +00:00
Ben Mosley
58e10876b4 Updated Hero
Some checks failed
Deploy Portfolio / deploy (push) Failing after 0s
2026-04-23 11:58:07 -05:00
Ben Mosley
67f279103c Fixed buttons
All checks were successful
Deploy Portfolio / deploy (push) Successful in 2s
2026-04-23 11:46:46 -05:00
Ben Mosley
4d9d069cd2 Fixed contact page
All checks were successful
Deploy Portfolio / deploy (push) Successful in 2s
2026-04-23 11:40:18 -05:00
Ben Mosley
4a1a7c042a Stop tracking posts.db — database must not be in version control
All checks were successful
Deploy Portfolio / deploy (push) Successful in 2s
The live server writes to this file continuously; tracking it causes
git pull to abort on deploy whenever posts are created or updated.
instance/ is already in .gitignore so the file stays on disk.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-23 11:32:36 -05:00
6 changed files with 14 additions and 14 deletions

View File

@@ -7,7 +7,7 @@ on:
jobs: jobs:
deploy: deploy:
runs-on: vps-host runs-on: benny-vps
steps: steps:
- name: Pull latest code - name: Pull latest code
run: | run: |

6
app.py
View File

@@ -20,10 +20,10 @@ HUB_PUSH_SECRET = os.getenv("HUB_PUSH_SECRET")
CONTACT = { CONTACT = {
"name": os.environ.get("BH_CONTACT_NAME", "Benjamin Mosley"), "name": os.environ.get("BH_CONTACT_NAME", "Benjamin Mosley"),
"title": os.environ.get("BH_CONTACT_TITLE", "E-Commerce Manager, United Supermarkets"), "title": os.environ.get("BH_CONTACT_TITLE", "Level II Technical Support, AMA TechTel"),
"email": os.environ.get("BH_CONTACT_EMAIL", "ben@bennyshouse.net"), "email": os.environ.get("BH_CONTACT_EMAIL", "ben@bennyshouse.net"),
"phone": os.environ.get("BH_CONTACT_PHONE", "(806) 655 2300"), "phone": os.environ.get("BH_CONTACT_PHONE", "Contact via Email for Phone #"),
"city": os.environ.get("BH_CONTACT_CITY", "Canyon / Amarillo / Borger / Remote"), "city": os.environ.get("BH_CONTACT_CITY", "Greater Amarillo Area"),
"cal": os.environ.get("BH_CONTACT_CAL", "https://calendly.com/bennyshouse24/30min"), "cal": os.environ.get("BH_CONTACT_CAL", "https://calendly.com/bennyshouse24/30min"),
"link": os.environ.get("BH_CONTACT_LINK", "https://www.linkedin.com/in/benjamin-mosley-849643329/"), "link": os.environ.get("BH_CONTACT_LINK", "https://www.linkedin.com/in/benjamin-mosley-849643329/"),
"site": os.environ.get("BH_CONTACT_SITE", "https://bennyshouse.net"), "site": os.environ.get("BH_CONTACT_SITE", "https://bennyshouse.net"),

Binary file not shown.

View File

@@ -40,15 +40,15 @@
</td> </td>
<td class="px-5 py-3 text-[rgb(var(--muted))]">{{ projectpost.category }}</td> <td class="px-5 py-3 text-[rgb(var(--muted))]">{{ projectpost.category }}</td>
<td class="px-5 py-3 flex flex-wrap gap-2"> <td class="px-5 py-3 flex flex-wrap gap-2">
<a href="{{ url_for('view_project', slug=projectpost.slug) }}" class="btn btn-ghost border-none bg-blue-600 hover:bg-blue-700 text-white">Preview</a> <a href="{{ url_for('view_project', slug=projectpost.slug) }}" class="btn border-none bg-blue-600 hover:bg-blue-700 text-white">Preview</a>
<a href="{{ url_for('edit_project', slug=projectpost.slug) }}" class="btn btn-ghost border-none bg-yellow-500 hover:bg-yellow-600 text-white">Edit</a> <a href="{{ url_for('edit_project', slug=projectpost.slug) }}" class="btn border-none bg-yellow-500 hover:bg-yellow-600 text-white">Edit</a>
{% if projectpost.draft %} {% if projectpost.draft %}
<form action="{{ url_for('publish_project', slug=projectpost.slug) }}" method="POST"> <form action="{{ url_for('publish_project', slug=projectpost.slug) }}" method="POST">
<button type="submit" class="btn btn-ghost border-none bg-green-600 hover:bg-green-700 text-white">Publish</button> <button type="submit" class="btn border-none bg-green-600 hover:bg-green-700 text-white">Publish</button>
</form> </form>
{% endif %} {% endif %}
<form action="{{ url_for('delete_project', slug=projectpost.slug) }}" method="POST" onsubmit="return confirm('Delete this project?');"> <form action="{{ url_for('delete_project', slug=projectpost.slug) }}" method="POST" onsubmit="return confirm('Delete this project?');">
<button type="submit" class="btn btn-ghost border-none bg-red-600 hover:bg-red-700 text-white">Delete</button> <button type="submit" class="btn border-none bg-red-600 hover:bg-red-700 text-white">Delete</button>
</form> </form>
</td> </td>
</tr> </tr>
@@ -92,15 +92,15 @@
</td> </td>
<td class="px-5 py-3 text-[rgb(var(--muted))]">{{ blogpost.category }}</td> <td class="px-5 py-3 text-[rgb(var(--muted))]">{{ blogpost.category }}</td>
<td class="px-5 py-3 flex flex-wrap gap-2"> <td class="px-5 py-3 flex flex-wrap gap-2">
<a href="{{ url_for('view_blog', slug=blogpost.slug) }}" class="btn btn-ghost border-none bg-blue-600 hover:bg-blue-700 text-white">Preview</a> <a href="{{ url_for('view_blog', slug=blogpost.slug) }}" class="btn border-none bg-blue-600 hover:bg-blue-700 text-white">Preview</a>
<a href="{{ url_for('edit_blog', slug=blogpost.slug) }}" class="btn btn-ghost border-none bg-yellow-500 hover:bg-yellow-600 text-white">Edit</a> <a href="{{ url_for('edit_blog', slug=blogpost.slug) }}" class="btn border-none bg-yellow-500 hover:bg-yellow-600 text-white">Edit</a>
{% if blogpost.draft %} {% if blogpost.draft %}
<form action="{{ url_for('publish_blog', slug=blogpost.slug) }}" method="POST"> <form action="{{ url_for('publish_blog', slug=blogpost.slug) }}" method="POST">
<button type="submit" class="btn btn-ghost border-none bg-green-600 hover:bg-green-700 text-white">Publish</button> <button type="submit" class="btn border-none bg-green-600 hover:bg-green-700 text-white">Publish</button>
</form> </form>
{% endif %} {% endif %}
<form action="{{ url_for('delete_blog', slug=blogpost.slug) }}" method="POST" onsubmit="return confirm('Delete this post?');"> <form action="{{ url_for('delete_blog', slug=blogpost.slug) }}" method="POST" onsubmit="return confirm('Delete this post?');">
<button type="submit" class="btn btn-ghost border-none bg-red-600 hover:bg-red-700 text-white">Delete</button> <button type="submit" class="btn border-none bg-red-600 hover:bg-red-700 text-white">Delete</button>
</form> </form>
</td> </td>
</tr> </tr>

View File

@@ -45,7 +45,7 @@
</div> </div>
<div class="pt-4 flex flex-wrap gap-3"> <div class="pt-4 flex flex-wrap gap-3">
<a href="{{ CONTACT.site }}" target="_blank" class="btn btn-primary items-center"> <a href="{{ CONTACT.site }}" target="_blank" class="btn btn-primary border-none bg-[rgb(var(--card))] hover:bg-[rgb(var(--border))]">
<i class="fa fa-globe mr-2 text-[rgb(var(--accent))]"></i> Website <i class="fa fa-globe mr-2 text-[rgb(var(--accent))]"></i> Website
</a> </a>
<a href="{{ CONTACT.link }}" target="_blank" class="btn btn-primary border-none bg-[rgb(var(--card))] hover:bg-[rgb(var(--border))]"> <a href="{{ CONTACT.link }}" target="_blank" class="btn btn-primary border-none bg-[rgb(var(--card))] hover:bg-[rgb(var(--border))]">

View File

@@ -10,7 +10,7 @@
<div class="grid lg:grid-cols-[1.1fr_0.9fr] items-center gap-10"> <div class="grid lg:grid-cols-[1.1fr_0.9fr] items-center gap-10">
<div> <div>
<h1 class="heading-hero"> <h1 class="heading-hero">
Builder. Operator. <span class="text-accent">Problem-solver.</span> My name is Ben. <span class="text-accent">How can I help you?</span>
</h1> </h1>
<p class="mt-4 subtle max-w-2xl text-lg"> <p class="mt-4 subtle max-w-2xl text-lg">
Im Ben — CIS student, full-stack web dev, and infrastructure tinkerer. Im Ben — CIS student, full-stack web dev, and infrastructure tinkerer.