pages/_layouts/cv.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

128 lines
4.1 KiB
Plaintext

---
layout: default
---
{% unless site.data.resume %}
<div class="post">
<header class="post-header">
<h1 class="post-title">
{{ page.title }}
{% if page.cv_pdf %}
<a
{% if page.cv_pdf contains '://' %}
href="{{ page.cv_pdf }}"
{% else %}
href="{{ page.cv_pdf | relative_url }}"
{% endif %}
target="_blank"
rel="noopener noreferrer"
class="float-right"
>
<i class="fa-solid fa-file-pdf"></i>
</a>
{% endif %}
</h1>
{% if page.description %}
<p class="post-description">{{ page.description }}</p>
{% endif %}
</header>
<article>
<div class="cv">
{% for entry in site.data.cv %}
<a class="anchor" id="{{ entry.title }}"></a>
<div class="card mt-3 p-3">
<h3 class="card-title font-weight-medium">{{ entry.title }}</h3>
<div>
{% if entry.type == 'list' %}
{% include cv/list.liquid %}
{% elsif entry.type == 'map' %}
{% include cv/map.liquid %}
{% elsif entry.type == 'nested_list' %}
{% include cv/nested_list.liquid %}
{% elsif entry.type == 'time_table' %}
{% include cv/time_table.liquid %}
{% elsif entry.type == 'list_groups' %}
{% include cv/list_groups.liquid %}
{% else %}
{{ entry.contents }}
{% endif %}
</div>
</div>
{% endfor %}
</div>
</article>
</div>
{% else %}
<div class="post">
<header class="post-header">
<h1 class="post-title">
{{ page.title }}
{% if page.cv_pdf %}
<a
{% if page.cv_pdf contains '://' %}
href="{{ page.cv_pdf }}"
{% else %}
href="{{ page.cv_pdf | relative_url }}"
{% endif %}
target="_blank"
rel="noopener noreferrer"
class="float-right"
>
<i class="fa-solid fa-file-pdf"></i>
</a>
{% endif %}
</h1>
{% if page.description %}
<p class="post-description">{{ page.description }}</p>
{% endif %}
</header>
<article>
<div class="cv">
{% for data in site.data.resume %}
{% if site.jsonresume and site.jsonresume.size > 0 %}
{% unless site.jsonresume contains data[0] %}
{% continue %}
{% endunless %}
{% endif %}
{% if data[0] == 'meta' or data[1].size == 0 %} {% continue %} {% endif %}
<a class="anchor" id="{{ data[0] }}"></a>
<div class="card mt-3 p-3">
<h3 class="card-title font-weight-medium">{{ data[0] | capitalize }}</h3>
<div>
{% case data[0] %}
{% when 'basics' %}
{% include resume/basics.liquid %}
{% when 'education' %}
{% include resume/education.liquid %}
{% when 'work' %}
{% include resume/work.liquid %}
{% when 'volunteer' %}
{% include resume/volunteer.liquid %}
{% when 'projects' %}
{% include resume/projects.liquid %}
{% when 'awards' %}
{% include resume/awards.liquid %}
{% when 'skills' %}
{% include resume/skills.liquid %}
{% when 'publications' %}
{% include resume/publications.liquid %}
{% when 'languages' %}
{% include resume/languages.liquid %}
{% when 'interests' %}
{% include resume/interests.liquid %}
{% when 'certificates' %}
{% include resume/certificates.liquid %}
{% when 'references' %}
{% include resume/references.liquid %}
{% else %}
{% endcase %}
</div>
</div>
{% endfor %}
</div>
</article>
</div>
{% endunless %}