Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 12 additions & 33 deletions _includes/gsoc_project.ext
Original file line number Diff line number Diff line change
@@ -1,43 +1,22 @@
{% comment %}
Liquid template to display GSoC proposals for a given project. To be included in a Markdown page.
Project used for proposal filtering must be defined in the 'project' attribute of the page which includes this template.
Each proposal much have an attribute 'project' in its front-matter than can be a single value or a list.
Project names are not case sensitive.
{% endcomment %}

{% assign url_tokens = page.url | split: '/' %}
{% assign year_position = url_tokens.size | minus: 2 %}
{% assign year = url_tokens[year_position] %}

{:.table .table-hover .table-striped}

{% comment %}
Use the project name as the page title if none has been specified (they are typically identical)
{% endcomment %}
{% capture current_title %}{% if page.title contains "Project_" %}{{ page.project }}{% else %}{{ page.title }}{% endif %}{% endcapture %}

# GSoC {{ year }} Projects Related To {{ current_title }}

<!--
## For Students: The 2026 GSoC term has not yet started. Please check this website for more information on February 19th.
-->
# GSoC {{ year }} Projects

{{ page.description }}

## Project Proposals

{% for proposal in site.gsocproposals %}
{% assign url_tokens = proposal.url | split: '/' %}
{% assign year_position = url_tokens.size | minus: 2 %}
{% assign proposal_year = url_tokens[year_position] %}
{% if proposal_year == year %}
{% for project in proposal.project %}
{% capture u_proposal_project %}{{ project | upcase }}{% endcapture %}
{% capture u_project %}{{ page.project | upcase }}{% endcapture %}
{% if u_proposal_project == u_project %}
* [ {{ proposal.title }} ]( {{ proposal.url }} )
{% endif %}
{% endfor %}
{% endif %}
{% for project in site.gsocprojects %}
{% assign url_tokens = project.url | split: '/' %}
{% assign year_position = url_tokens.size | minus: 2 %}
{% assign project_year = url_tokens[year_position] %}

{% if project_year == year %}
<div style="margin-bottom: 25px;">
<h3>{{ project.title }}</h3>
<div>{{ project.content }}</div>
</div>
{% endif %}
{% endfor %}