pages/_includes/courses.liquid
Jiahao Zhang 0fe3c84636
Add course schedule feature to teaching page (#2258) (#3147)
Implements the course schedule feature requested in issue
#[2258](https://github.com/alshedivat/al-folio/issues/2258).

This PR adds a new course schedule feature to the al-folio theme,
allowing academics to easily create and display structured course
information.

**Changes:**
- Added a `courses` collection to organize and display academic courses
- Created course layout and display templates with responsive design
- Implemented organization by year and term with automatic sorting
- Added support for weekly schedule with topics and course materials
- Simplified documentation with a README for course creation

This feature makes it easier for academics to showcase their teaching
materials with a consistent, organized display of course schedules,
helping users create professional teaching pages without custom
implementation.

---------

Signed-off-by: George Araújo <george.gcac@gmail.com>
Co-authored-by: George Araújo <george.gcac@gmail.com>
2026-01-17 18:43:47 -03:00

38 lines
1.2 KiB
Plaintext

{% if site.teachings %}
<div class="courses">
{% assign courses_by_year = site.teachings | sort: 'year' | reverse | group_by: 'year' %}
{% for year_group in courses_by_year %}
<h2 class="year">{{ year_group.name }}</h2>
<div class="course-list">
{% assign year_courses = year_group.items | sort: 'term' %}
{% for course in year_courses %}
<div class="course-item">
<h3 class="course-title">
<a href="{{ course.url | relative_url }}">{{ course.title }}</a>
</h3>
<div class="course-meta">
{% if course.term %}
<span class="course-term">{{ course.term }}</span>
{% endif %}
{% if course.instructor %}
<span class="course-instructor">{{ course.instructor }}</span>
{% endif %}
</div>
{% if course.description %}
<div class="course-description">
{{ course.description | markdownify }}
</div>
{% endif %}
</div>
{% endfor %}
</div>
{% endfor %}
</div>
{% else %}
<p>No courses available yet.</p>
{% endif %}