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>
38 lines
1.2 KiB
Plaintext
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 %}
|