Ship College Craft public site and point CI deploys at college_craft.
Deploy Beta / unit-tests (push) Successful in 21s
Deploy Beta / docker (push) Successful in 26s
Deploy Beta / deploy-beta (push) Successful in 6m25s

Replaces template branding with College Craft pages, assets, and copy, and
matches Gitea deploy workflows to the server-infra catalog name and master
branch so beta deploys actually run.

Closes #1
This commit is contained in:
2026-09-02 09:42:43 -05:00
parent b62357c8be
commit b46e192138
191 changed files with 2404 additions and 2041 deletions
+81 -82
View File
@@ -3,7 +3,8 @@
<html class="wide wow-animation" lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>{% block title %}{{ SITE_NAME }}{% endblock %}</title>
<meta name="description" content="{% block meta_description %}{{ SITE_NAME }} — {{ SITE_TAGLINE }}. {{ CONTACT_SERVICE_AREA }}.{% endblock %}">
<meta name="robots" content="{% block meta_robots %}index, follow{% endblock %}">
@@ -15,7 +16,7 @@
<meta property="og:description" content="{% block og_description %}{{ SITE_NAME }} — {{ SITE_TAGLINE }}. {{ CONTACT_SERVICE_AREA }}.{% endblock %}">
<meta property="og:url" content="{% block og_url %}{{ PUBLIC_SITE_URL }}{{ request.path }}{% endblock %}">
{% block og_image %}
<meta property="og:image" content="{{ PUBLIC_SITE_URL }}{% static 'images/slider-minimal-slide-1-1920x968.jpg' %}">
<meta property="og:image" content="{{ PUBLIC_SITE_URL }}{% static 'images/cc-exterior-2.jpg' %}">
<meta property="og:image:alt" content="{{ SITE_NAME }}">
{% endblock %}
<meta name="twitter:card" content="summary_large_image">
@@ -23,7 +24,9 @@
<meta name="twitter:description" content="{% block twitter_description %}{{ SITE_NAME }} — {{ SITE_TAGLINE }}. {{ CONTACT_SERVICE_AREA }}.{% endblock %}">
<link rel="icon" href="{% static 'brand/favicon-32.png' %}" type="image/png">
<link rel="apple-touch-icon" href="{% static 'brand/apple-touch-icon.png' %}">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Work+Sans:300,400,500,700,800%7CPoppins:300,400,700">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;900&display=swap">
<link rel="stylesheet" href="{% static 'css/bootstrap.css' %}">
<link rel="stylesheet" href="{% static 'css/fonts.css' %}">
<link rel="stylesheet" href="{% static 'css/style.css' %}" id="main-styles-link">
@@ -45,36 +48,19 @@
{% block header %}
<header class="section page-header">
<div class="rd-navbar-wrap">
<nav class="rd-navbar rd-navbar-corporate" data-layout="rd-navbar-fixed" data-sm-layout="rd-navbar-fixed" data-md-layout="rd-navbar-fixed" data-md-device-layout="rd-navbar-fixed" data-lg-layout="rd-navbar-static" data-lg-device-layout="rd-navbar-static" data-lg-stick-up="true" data-lg-stick-up-offset="118px" data-xl-layout="rd-navbar-static" data-xl-device-layout="rd-navbar-static" data-xl-stick-up="true" data-xl-stick-up-offset="118px" data-xxl-layout="rd-navbar-static" data-xxl-device-layout="rd-navbar-static" data-xxl-stick-up-offset="118px" data-xxl-stick-up="true">
<div class="rd-navbar-aside-outer">
<div class="rd-navbar-aside">
<div class="rd-navbar-panel">
<button class="rd-navbar-toggle" data-rd-navbar-toggle="#rd-navbar-nav-wrap-1"><span></span></button>
<a class="rd-navbar-brand" href="{% url 'public:home' %}" data-tianji-event="nav_home">
<img src="{% static 'brand/logo.png' %}" alt="{{ SITE_NAME }}" width="151" height="44"/>
</a>
</div>
<div class="rd-navbar-collapse">
<button class="rd-navbar-collapse-toggle rd-navbar-fixed-element-1" data-rd-navbar-toggle="#rd-navbar-collapse-content-1"><span></span></button>
<div class="rd-navbar-collapse-content" id="rd-navbar-collapse-content-1">
{% if CONTACT_PHONE %}
<article class="unit align-items-center">
<div class="unit-left"><span class="icon icon-md icon-modern mdi mdi-phone"></span></div>
<div class="unit-body"><a class="link-default" href="tel:{{ CONTACT_PHONE_TEL }}">{{ CONTACT_PHONE }}</a></div>
</article>
{% endif %}
<article class="unit align-items-center">
<div class="unit-left"><span class="icon icon-md icon-modern mdi mdi-map-marker"></span></div>
<div class="unit-body"><span class="link-default">{% if CONTACT_ADDRESS %}{{ CONTACT_ADDRESS }}{% else %}{{ CONTACT_SERVICE_AREA }}{% endif %}</span></div>
</article>
<a class="button button-gray-bordered button-winona" href="{% url 'public:contact' %}" data-tianji-event="nav_get_in_touch">Get in touch</a>
</div>
</div>
</div>
</div>
<nav class="rd-navbar rd-navbar-wide" data-layout="rd-navbar-fixed" data-sm-layout="rd-navbar-fixed" data-md-layout="rd-navbar-fixed" data-md-device-layout="rd-navbar-fixed" data-lg-layout="rd-navbar-static" data-lg-device-layout="rd-navbar-static" data-xl-layout="rd-navbar-static" data-xl-device-layout="rd-navbar-static" data-lg-stick-up-offset="46px" data-xl-stick-up-offset="46px" data-xxl-stick-up-offset="46px" data-lg-stick-up="true" data-xl-stick-up="true" data-xxl-stick-up="true">
<div class="rd-navbar-main-outer">
<div class="rd-navbar-main">
<div class="rd-navbar-nav-wrap" id="rd-navbar-nav-wrap-1">
<div class="rd-navbar-panel">
<button class="rd-navbar-toggle" type="button" aria-label="Open menu" data-rd-navbar-toggle=".rd-navbar-nav-wrap"><span></span></button>
<div class="rd-navbar-brand">
<a class="brand" href="{% url 'public:home' %}" data-tianji-event="nav_home">
<img class="brand-logo-dark" src="{% static 'brand/logo.png' %}" alt="{{ SITE_NAME }}" width="180" height="71"/>
<img class="brand-logo-light" src="{% static 'brand/logo.png' %}" alt="{{ SITE_NAME }}" width="180" height="71"/>
</a>
</div>
</div>
<div class="rd-navbar-nav-wrap">
<ul class="rd-navbar-nav">
<li class="rd-nav-item {% if page_name == 'home' %}active{% endif %}">
<a class="rd-nav-link" href="{% url 'public:home' %}" data-tianji-event="nav_home">Home</a>
@@ -82,14 +68,23 @@
<li class="rd-nav-item {% if page_name == 'about' %}active{% endif %}">
<a class="rd-nav-link" href="{% url 'public:about' %}" data-tianji-event="nav_about">About</a>
</li>
<li class="rd-nav-item {% if page_name == 'contact' %}active{% endif %}">
<a class="rd-nav-link" href="{% url 'public:contact' %}" data-tianji-event="nav_contact">Contact</a>
<li class="rd-nav-item {% if page_name == 'services' %}active{% endif %}">
<a class="rd-nav-link" href="{% url 'public:services' %}" data-tianji-event="nav_services">Services</a>
</li>
<li class="rd-nav-item {% if page_name == 'testimonials' %}active{% endif %}">
<a class="rd-nav-link" href="{% url 'public:testimonials' %}" data-tianji-event="nav_testimonials">Testimonials</a>
</li>
{% for item in public_nav_extra %}
<li class="rd-nav-item {% if page_name == item.section %}active{% endif %}">
<a class="rd-nav-link" href="{% url item.url_name %}">{{ item.label }}</a>
</li>
{% endfor %}
<li class="rd-nav-item {% if page_name == 'careers' %}active{% endif %}">
<a class="rd-nav-link" href="{% url 'public:careers' %}" data-tianji-event="nav_careers">Careers</a>
</li>
<li class="rd-nav-item {% if page_name == 'contact' %}active{% endif %}">
<a class="rd-nav-link" href="{% url 'public:contact' %}" data-tianji-event="nav_contact">Contact</a>
</li>
</ul>
</div>
</div>
@@ -110,57 +105,61 @@
{% block content %}{% endblock %}
{% block footer %}
<footer class="section footer-advanced bg-gray-700">
<div class="footer-advanced-main">
<div class="container">
<div class="row row-50">
<div class="col-lg-6">
<div class="footer-brand-row">
<img src="{% static 'brand/logo.png' %}" alt="{{ SITE_NAME }}">
<div>
<h5 class="font-weight-bold text-uppercase text-white" style="margin:0">{{ SITE_NAME }}</h5>
<span style="color:#7dd3da;font-size:12px">{{ SITE_TAGLINE }}</span>
</div>
</div>
<p class="footer-advanced-text">Replace this footer blurb with the clients positioning.{% if CONTACT_ADDRESS %} {{ CONTACT_ADDRESS }}.{% endif %}</p>
</div>
<div class="col-lg-6">
<h5 class="font-weight-bold text-uppercase text-white">Navigate</h5>
<ul class="list-marked list-marked-sm">
<li><a href="{% url 'public:home' %}">Home</a></li>
<li><a href="{% url 'public:about' %}">About</a></li>
<li><a href="{% url 'public:contact' %}">Contact</a></li>
<li><a href="{% url 'public:terms' %}">Terms of Service</a></li>
{% for item in public_nav_extra %}
<li><a href="{% url item.url_name %}">{{ item.label }}</a></li>
{% endfor %}
{% if user.is_authenticated %}
<li><a href="{% url 'dashboard:home' %}">Client portal</a></li>
{% else %}
<li><a href="{% url 'accounts:login' %}">Client portal</a></li>
<footer class="section section-lg footer-dark context-ligh bg-gray-light">
<div class="container">
<div class="row row-40 justify-content-between">
<div class="col-md-6 col-lg-5 col-xl-4">
<h3>Get in touch</h3>
<p>Call or write for a free estimate. Interior, exterior, and commercial painting across Chicagolands western suburbs since 1960.</p>
<div class="custom-wrap-line">
<div class="custom-wrap-inner">
{% if CONTACT_PHONE %}
<dl class="list-terms-custom list-terms-custom-1">
<dt class="text-primary">Ph.</dt>
<dd><a class="contact-link" href="tel:{{ CONTACT_PHONE_TEL }}">{{ CONTACT_PHONE }}</a></dd>
</dl>
{% endif %}
</ul>
<p style="margin-top:16px">
<a class="footer-link-btn" href="{% url 'public:terms' %}" data-tianji-event="footer_cookie_preferences">Cookie Preferences</a>
</p>
{% if CONTACT_EMAIL %}
<dl class="list-terms-custom list-terms-custom-1">
<dt class="text-primary">Mail.</dt>
<dd><a class="contact-link font-weight-normal" href="mailto:{{ CONTACT_EMAIL }}">{{ CONTACT_EMAIL }}</a></dd>
</dl>
{% endif %}
{% if CONTACT_ADDRESS %}
<dl class="list-terms-custom list-terms-custom-1">
<dt class="text-primary">Addr.</dt>
<dd><span class="contact-link font-weight-normal">{{ CONTACT_ADDRESS }}</span></dd>
</dl>
{% endif %}
<p class="rights"><span>&copy;&nbsp;</span><span>{% now "Y" %}&nbsp;</span><span>{{ SITE_NAME }}</span><span>.&nbsp;</span></p>
<p class="footer-made-by">
Made by <a href="{{ CREDIT_URL }}" target="_blank" rel="noopener noreferrer">{{ CREDIT_NAME }}</a>
</p>
</div>
</div>
</div>
</div>
</div>
<div class="footer-advanced-aside">
<div class="container">
<div class="footer-advanced-layout">
<a class="brand" href="{% url 'public:home' %}">
<img src="{% static 'brand/logo.png' %}" alt="{{ SITE_NAME }}" width="151" height="44"/>
</a>
<div class="footer-aside-copy">
<p class="rights">
<span>&copy;&nbsp;</span><span>{% now "Y" %}&nbsp;</span><span>{{ SITE_NAME }}</span><span>.&nbsp;</span>
</p>
<p class="footer-made-by">
Made by <a href="{{ CREDIT_URL }}" target="_blank" rel="noopener noreferrer">{{ CREDIT_NAME }}</a>
</p>
</div>
<div class="col-md-6 col-lg-5">
<h3>Navigate</h3>
<ul class="list-marked list-marked-2">
<li><a href="{% url 'public:home' %}">Home</a></li>
<li><a href="{% url 'public:about' %}">About</a></li>
<li><a href="{% url 'public:services' %}">Services</a></li>
<li><a href="{% url 'public:testimonials' %}">Testimonials</a></li>
{% for item in public_nav_extra %}
<li><a href="{% url item.url_name %}">{{ item.label }}</a></li>
{% endfor %}
<li><a href="{% url 'public:careers' %}">Careers</a></li>
<li><a href="{% url 'public:contact' %}">Contact</a></li>
<li><a href="{% url 'public:terms' %}">Terms of Service</a></li>
{% if user.is_authenticated %}
<li><a href="{% url 'dashboard:home' %}">Client portal</a></li>
{% else %}
<li><a href="{% url 'accounts:login' %}">Client portal</a></li>
{% endif %}
</ul>
<p style="margin-top:16px">
<a class="footer-link-btn" href="{% url 'public:terms' %}" data-tianji-event="footer_cookie_preferences">Cookie Preferences</a>
</p>
</div>
</div>
</div>
@@ -179,7 +178,7 @@
<span class="cookie-consent-text-short">We use analytics on this site. <a class="cookie-consent-link" href="{% url 'public:terms' %}">Terms</a></span>
</p>
<div class="cookie-consent-actions">
<button type="button" id="cookie-consent-acknowledge" class="button button-primary button-winona">Acknowledge</button>
<button type="button" id="cookie-consent-acknowledge" class="button button-primary button-md">Acknowledge</button>
</div>
</div>
</div>