From 4845d2ecccb76afd1bb1711f21b044f4773b63ab Mon Sep 17 00:00:00 2001 From: Andi Chang Date: Mon, 4 May 2026 15:14:16 -0700 Subject: [PATCH 01/12] Font change to IBM Plex Sans --- ocfweb/static/scss/pages/_home.scss | 2 +- ocfweb/static/scss/site.scss | 2 +- ocfweb/templates/partials/head.html | 3 ++- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/ocfweb/static/scss/pages/_home.scss b/ocfweb/static/scss/pages/_home.scss index f1882675d..024ff7bb9 100644 --- a/ocfweb/static/scss/pages/_home.scss +++ b/ocfweb/static/scss/pages/_home.scss @@ -142,7 +142,7 @@ } @media (min-width: $screen-md-min) { - font-size: 40px; + font-size: 39px; } // we want the text to wrap after 'Open' diff --git a/ocfweb/static/scss/site.scss b/ocfweb/static/scss/site.scss index 458c4d0d9..295032fd6 100644 --- a/ocfweb/static/scss/site.scss +++ b/ocfweb/static/scss/site.scss @@ -45,7 +45,7 @@ html { body { padding-top: $navbar-height; - font-family: Roboto, Helvetica, Arial, sans-serif; + font-family: 'IBM Plex Sans', Roboto, Helvetica, Arial, sans-serif; font-size: 16px; background-color: #f5f5f5; display: flex; diff --git a/ocfweb/templates/partials/head.html b/ocfweb/templates/partials/head.html index cf431c481..26d18e3d3 100644 --- a/ocfweb/templates/partials/head.html +++ b/ocfweb/templates/partials/head.html @@ -30,7 +30,8 @@ - + + From e876b6aa99a33596e50801cc10458d159680adc1 Mon Sep 17 00:00:00 2001 From: Andi Chang Date: Mon, 4 May 2026 04:29:53 -0700 Subject: [PATCH 02/12] Reformat staff hours --- ocfweb/main/templates/main/home.html | 43 +++++++++------ ocfweb/main/templates/main/staff-hours.html | 2 +- ocfweb/static/scss/pages/_home.scss | 58 +++++++++------------ 3 files changed, 54 insertions(+), 49 deletions(-) diff --git a/ocfweb/main/templates/main/home.html b/ocfweb/main/templates/main/home.html index b1825b7a6..f08b7257c 100644 --- a/ocfweb/main/templates/main/home.html +++ b/ocfweb/main/templates/main/home.html @@ -104,24 +104,37 @@

OCF Computer Lab

  • Mail Virtual Hosting
  • -
    +

    Staff Hours

    +
    {% for staff_hour in staff_hours %} -

    Staff Hours {{staff_hour.day}}

    -
    -

    - {{staff_hour.time}} - {% if staff_hour.cancelled %} - cancelled this week - {% endif %} -

    -
    - {{staffer.user_name}} +
    +
    + {{staff_hour.day}}
    +
    +
    +

    + {{staff_hour.time}} + {% if staff_hour.cancelled %} + cancelled this week + {% endif %} +

    +
    +
    + {{staffer.user_name}} +
    +
    + {{staffer.real_name}} <{{staffer.user_name}}> +
    +
    + +
    +
    {% endfor %}

    See more staff hours »

    diff --git a/ocfweb/main/templates/main/staff-hours.html b/ocfweb/main/templates/main/staff-hours.html index 258440e0c..2f66cad72 100644 --- a/ocfweb/main/templates/main/staff-hours.html +++ b/ocfweb/main/templates/main/staff-hours.html @@ -23,7 +23,7 @@

    Have questions? Drop by for help from a friendly volunteer staffer!

    {% for staffer in staff_hour.staff %}
  • {{staffer.user_name}} -

    {{staffer.real_name}}

    +

    {{staffer.real_name}} <{{staffer.user_name}}>

    {{staffer.position}}
  • {% endfor %} diff --git a/ocfweb/static/scss/pages/_home.scss b/ocfweb/static/scss/pages/_home.scss index 024ff7bb9..5d2ea9cbf 100644 --- a/ocfweb/static/scss/pages/_home.scss +++ b/ocfweb/static/scss/pages/_home.scss @@ -28,6 +28,31 @@ .ocf-hour-hours { padding: 0 5px; + + .ocf-staffer { + padding-top: 4px; + + .ocf-staffer-face { + padding: 4px 0; + } + } + } + + p { + margin: 0; + } + + .cancelled p { + color: #999; + } + + .cancelled-text { + color: #b20000; + font-weight: bold; + } + + .cancelled .ocf-staffer { + opacity: 0.6; } } } @@ -57,39 +82,6 @@ font-size: 14px; } - .ocf-staffhours { - p { - margin: 0; - } - - h3 { - margin-bottom: 0; - } - - .cancelled p { - color: #999; - } - - .cancelled-text { - color: #b20000; - font-weight: bold; - } - - .ocf-staffhours-faces img { - margin-right: 10px; - margin-bottom: 10px; - - @media (max-width: $screen-sm-max) { - margin-right: 5px; - margin-bottom: 5px; - } - } - - .cancelled .ocf-staffhours-faces { - opacity: 0.6; - } - } - .ocf-penguin-swing { position: absolute; From 2fd3dbbae565239e383b819ca251cc8fd8529e75 Mon Sep 17 00:00:00 2001 From: Andi Chang Date: Mon, 4 May 2026 15:29:33 -0700 Subject: [PATCH 03/12] Make footer lighter for accessibility --- ocfweb/static/scss/site.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ocfweb/static/scss/site.scss b/ocfweb/static/scss/site.scss index 295032fd6..8310b682b 100644 --- a/ocfweb/static/scss/site.scss +++ b/ocfweb/static/scss/site.scss @@ -19,7 +19,7 @@ $color-blue-baby: #cbe1ea; $color-blue-light: #f8fcfc; $color-blue: #298399; $color-gray-light: #ccc; -$color-gray: #888; +$color-gray: #aaa; $color-green-light: #de9; $color-yellow-light: #ffc; $color-penguin-blue: #0f4d92; From ae9319e0adafd414e71a0de435b12b8d310b5d74 Mon Sep 17 00:00:00 2001 From: Andi Chang Date: Mon, 11 May 2026 12:13:20 -0700 Subject: [PATCH 04/12] Move lab info out of docs --- ocfweb/about/templates/about/staff.html | 8 +- .../templates/announcements/index.html | 2 +- ocfweb/main/lab.py | 43 ++++++ ocfweb/main/templates/main/home.html | 6 +- ocfweb/main/templates/main/lab.html | 141 ++++++++++++++++++ ocfweb/templates/base.html | 4 +- ocfweb/urls.py | 2 + 7 files changed, 196 insertions(+), 10 deletions(-) create mode 100644 ocfweb/main/lab.py create mode 100644 ocfweb/main/templates/main/lab.html diff --git a/ocfweb/about/templates/about/staff.html b/ocfweb/about/templates/about/staff.html index 11bdc3116..438846d83 100644 --- a/ocfweb/about/templates/about/staff.html +++ b/ocfweb/about/templates/about/staff.html @@ -13,7 +13,7 @@

    What is the Open Computing Facility?

    We're a student organization dedicated to providing free computing for all UC Berkeley students, faculty, and staff.

    -

    We run a computer lab on southside, have a wicked set of servers for staff to play on, and provide cool services to the Berkeley community.

    +

    We run a computer lab on southside, have a wicked set of servers for staff to play on, and provide cool services to the Berkeley community.

    @@ -60,7 +60,7 @@

    OCF Staff Meetings

    OCF Staff meet to discuss technology, learn from each other, and work on OCF projects.

    Drop-in visitors are always welcome, especially those interested in joining the staff team!

    When: Every Wednesday at 7:30pm

    -

    Where: OCF Computer lab (171 MLK)

    +

    Where: OCF Computer lab (171 MLK)

    @@ -104,7 +104,7 @@

    Computer Lab & Printing

    We have a spiffy computer lab on southside.

    Create an account and drop by!

    -

    Our computer lab, located in 171 MLK Student Union, features high-res scanners, free printing, and high-end desktops with mechanical keyboards and GTX graphics cards, all running Debian GNU/Linux.

    +

    Our computer lab, located in 171 MLK Student Union, features high-res scanners, free printing, and high-end desktops with mechanical keyboards and GTX graphics cards, all running Debian GNU/Linux.

    a photo of servers in the rack, 2019 Spring
    @@ -149,7 +149,7 @@

    We've got a perfect sandbox to poke around.

    -

    We meet every Wednesday at 7:30pm in the lab.

    +

    We meet every Wednesday at 7:30pm in the lab.

    We hope to see you there!

    diff --git a/ocfweb/announcements/templates/announcements/index.html b/ocfweb/announcements/templates/announcements/index.html index c91fcd48e..e20a683b9 100644 --- a/ocfweb/announcements/templates/announcements/index.html +++ b/ocfweb/announcements/templates/announcements/index.html @@ -53,7 +53,7 @@

    About the Open Computing Facility

    • - + A spiffy computer lab in 171 MLK
    • diff --git a/ocfweb/main/lab.py b/ocfweb/main/lab.py new file mode 100644 index 000000000..9da1f9761 --- /dev/null +++ b/ocfweb/main/lab.py @@ -0,0 +1,43 @@ +from datetime import date +from datetime import timedelta + +from django.http import HttpRequest +from django.http import HttpResponse +from django.shortcuts import render + +from ocfweb.api.hours import get_hours_listing + + +def lab(request: HttpRequest) -> HttpResponse: + hours_listing = get_hours_listing() + return render( + request, + 'main/lab.html', + { + 'title': 'Computer Lab', + 'description': ( + 'The Open Computing Facility computer lab is a ' + 'free and open-source computer lab located on the ' + 'UC Berkeley campus, maintained by OCF volunteers.' + ), + 'hours_this_week': [ + ( + date.today() + timedelta(days=i), + hours_listing.hours_on_date(date.today() + timedelta(days=i)), + ) + for i in range(7) + ], + 'regular_hours': hours_listing.regular, + # Format dates to look like "month day, year" but with non-breaking + # spaces (\xa0) instead of spaces so that the date does not get + # broken up across lines: + # https://docs.djangoproject.com/en/2.0/ref/templates/builtins/#date + 'holiday_format': 'M\xa0j,\xa0o', + # Only select current and future holidays (any that have not finished fully) + 'holidays': [ + holiday + for holiday in hours_listing.holidays + if holiday.enddate >= date.today() + ], + }, + ) diff --git a/ocfweb/main/templates/main/home.html b/ocfweb/main/templates/main/home.html index f08b7257c..3fb1dae6d 100644 --- a/ocfweb/main/templates/main/home.html +++ b/ocfweb/main/templates/main/home.html @@ -32,7 +32,7 @@

      Welcome to the Open Computing Facility!

      OCF volunteers maintain services for the Berkeley community, including:

    -

    See more lab hours »

    +

    See more lab hours »

    Account Tools

    @@ -161,6 +162,7 @@
    About the OCF
    Account Tools