Enable dynamic ordering of sections
This commit is contained in:
parent
ddadc8685e
commit
51d12d7ab1
9 changed files with 100 additions and 62 deletions
|
|
@ -1,3 +1,10 @@
|
|||
sections:
|
||||
- publications
|
||||
- projects
|
||||
# - teaching
|
||||
- presentations
|
||||
- services
|
||||
|
||||
primaryPublications:
|
||||
- title: "UVTM: Universal Vehicle Trajectory Modeling with ST Feature Domain Generation"
|
||||
authors: "<strong>Yan Lin</strong>, Jilin Hu, Shengnan Guo, Bin Yang, Christian S. Jensen, Youfang Lin, Huaiyu Wan"
|
||||
|
|
|
|||
60
dist/index.html
vendored
60
dist/index.html
vendored
|
|
@ -54,36 +54,43 @@
|
|||
</div>
|
||||
<nav class="navbar navbar-expand">
|
||||
<ul class="navbar-nav d-flex justify-content-evenly mx-auto gap-3 gap-sm-5">
|
||||
|
||||
|
||||
<li class="nav-item">
|
||||
<a class="link nav-link px-0" href="/#publications">
|
||||
<span class="d-inline d-md-none">Pubs</span>
|
||||
<span class="d-none d-md-inline">Publications</span>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
<li class="nav-item">
|
||||
<a class="link nav-link px-0" href="/#projects">
|
||||
<span class="d-inline d-md-none">Work</span>
|
||||
<span class="d-none d-md-inline">Projects</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="link nav-link px-0" href="/#teaching">
|
||||
<span class="d-inline d-md-none">Teach</span>
|
||||
<span class="d-none d-md-inline">Teaching</span>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
<li class="nav-item">
|
||||
<a class="link nav-link px-0" href="/#presentations">
|
||||
<span class="d-inline d-md-none">Talks</span>
|
||||
<span class="d-none d-md-inline">Presentations</span>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
<li class="nav-item">
|
||||
<a class="link nav-link px-0" href="/#services">
|
||||
<span class="d-inline d-md-none">Service</span>
|
||||
<span class="d-none d-md-inline">Services</span>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
<li class="nav-item">
|
||||
<a class="link nav-link px-0" href="https://blog.yanlincs.com">
|
||||
<span class="d-inline d-md-none">Blog</span>
|
||||
|
|
@ -123,6 +130,8 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<article class="section" id="publications">
|
||||
<div class="d-flex align-items-center mb-1">
|
||||
<h3 class="section-title d-inline-block mb-0">
|
||||
|
|
@ -453,6 +462,8 @@
|
|||
</div>
|
||||
</article>
|
||||
|
||||
|
||||
|
||||
<article class="section" id="projects">
|
||||
<div class="d-flex align-items-center mb-1">
|
||||
<h3 class="section-title d-inline-block mb-0">
|
||||
|
|
@ -548,30 +559,7 @@
|
|||
</div>
|
||||
</article>
|
||||
|
||||
<article class="section" id="teaching">
|
||||
<div class="d-flex align-items-center mb-1">
|
||||
<h3 class="section-title d-inline-block mb-0">
|
||||
<i class="bi bi-mortarboard"></i> Teaching
|
||||
</h3>
|
||||
<div class="flex-grow-1 mx-3" style="border-bottom: 1px dashed var(--border-color); height: 1px;"></div>
|
||||
<a class="mb-0 link link-secondary link-underline-opacity-0 h5" href="/teaching/">
|
||||
View All
|
||||
</a>
|
||||
</div>
|
||||
<div class="list-group list-group-flush" id="teaching-list">
|
||||
<div class="list-group-item px-0">
|
||||
<div class="d-flex justify-content-between align-items-center mb-1">
|
||||
<p class="d-inline-block mb-0 venue-name primary-text">
|
||||
Fall 2025<span class='text-muted'> | </span>Aalborg University
|
||||
</p>
|
||||
<div class="d-flex gap-2">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<h5 class="mb-1 paper-title">AI Systems & Infrastructure</h5>
|
||||
</div>
|
||||
</div>
|
||||
</article>
|
||||
|
||||
<article class="section" id="presentations">
|
||||
<div class="d-flex align-items-center mb-1">
|
||||
|
|
@ -586,7 +574,7 @@
|
|||
<div class="list-group list-group-flush" id="presentation-list">
|
||||
<div class="list-group-item px-0">
|
||||
<div class="d-flex justify-content-between align-items-center mb-1">
|
||||
<p class="d-inline-block mb-0 venue-name primary-text">
|
||||
<p class="d-inline-block mb-0 venue-name secondary-text">
|
||||
Guest lecture<span class='text-muted'> | </span>Aalborg University
|
||||
</p>
|
||||
<div class="d-flex gap-2">
|
||||
|
|
@ -598,7 +586,7 @@
|
|||
<h5 class="mb-1 paper-title">Self-supervised Learning of Trajectory Data</h5>
|
||||
</div> <div class="list-group-item px-0">
|
||||
<div class="d-flex justify-content-between align-items-center mb-1">
|
||||
<p class="d-inline-block mb-0 venue-name primary-text">
|
||||
<p class="d-inline-block mb-0 venue-name secondary-text">
|
||||
Workshop presentation<span class='text-muted'> | </span>KDD 2024
|
||||
</p>
|
||||
<div class="d-flex gap-2">
|
||||
|
|
@ -612,7 +600,7 @@
|
|||
<h5 class="mb-1 paper-title">PLM4Traj: Leveraging Pre-trained Language Models for Cognizing Movement Patterns and Travel Purposes from Trajectories</h5>
|
||||
</div> <div class="list-group-item px-0">
|
||||
<div class="d-flex justify-content-between align-items-center mb-1">
|
||||
<p class="d-inline-block mb-0 venue-name primary-text">
|
||||
<p class="d-inline-block mb-0 venue-name secondary-text">
|
||||
Paper Oral<span class='text-muted'> | </span>SIGMOD 2024
|
||||
</p>
|
||||
<div class="d-flex gap-2">
|
||||
|
|
@ -624,7 +612,7 @@
|
|||
<h5 class="mb-1 paper-title">Origin-Destination Travel Time Oracle for Map-based Services</h5>
|
||||
</div> <div class="list-group-item px-0">
|
||||
<div class="d-flex justify-content-between align-items-center mb-1">
|
||||
<p class="d-inline-block mb-0 venue-name primary-text">
|
||||
<p class="d-inline-block mb-0 venue-name secondary-text">
|
||||
Tutorial<span class='text-muted'> | </span>SpatialDI 2024
|
||||
</p>
|
||||
<div class="d-flex gap-2">
|
||||
|
|
@ -636,7 +624,7 @@
|
|||
<h5 class="mb-1 paper-title">Self-supervised Learning of Spatial-temporal Trajectories</h5>
|
||||
</div> <div class="list-group-item px-0">
|
||||
<div class="d-flex justify-content-between align-items-center mb-1">
|
||||
<p class="d-inline-block mb-0 venue-name primary-text">
|
||||
<p class="d-inline-block mb-0 venue-name secondary-text">
|
||||
Paper Oral<span class='text-muted'> | </span>AAAI 2021
|
||||
</p>
|
||||
<div class="d-flex gap-2">
|
||||
|
|
@ -650,6 +638,8 @@
|
|||
</div>
|
||||
</article>
|
||||
|
||||
|
||||
|
||||
<article
|
||||
id="services"
|
||||
class="rounded text-body-emphasis bg-body-secondary flex-md-row my-4 position-relative p-4 transition-shadow"
|
||||
|
|
@ -674,6 +664,8 @@
|
|||
</article>
|
||||
|
||||
|
||||
|
||||
|
||||
</main>
|
||||
|
||||
<footer>
|
||||
|
|
|
|||
10
dist/presentations/index.html
vendored
10
dist/presentations/index.html
vendored
|
|
@ -57,7 +57,7 @@
|
|||
|
||||
<div class="list-group-item px-0">
|
||||
<div class="d-flex justify-content-between align-items-center mb-1">
|
||||
<p class="d-inline-block mb-0 venue-name primary-text">
|
||||
<p class="d-inline-block mb-0 venue-name secondary-text">
|
||||
Guest lecture<span class='text-muted'> | </span>Aalborg University
|
||||
</p>
|
||||
<div class="d-flex gap-2">
|
||||
|
|
@ -71,7 +71,7 @@
|
|||
|
||||
<div class="list-group-item px-0">
|
||||
<div class="d-flex justify-content-between align-items-center mb-1">
|
||||
<p class="d-inline-block mb-0 venue-name primary-text">
|
||||
<p class="d-inline-block mb-0 venue-name secondary-text">
|
||||
Workshop presentation<span class='text-muted'> | </span>KDD 2024
|
||||
</p>
|
||||
<div class="d-flex gap-2">
|
||||
|
|
@ -87,7 +87,7 @@
|
|||
|
||||
<div class="list-group-item px-0">
|
||||
<div class="d-flex justify-content-between align-items-center mb-1">
|
||||
<p class="d-inline-block mb-0 venue-name primary-text">
|
||||
<p class="d-inline-block mb-0 venue-name secondary-text">
|
||||
Paper Oral<span class='text-muted'> | </span>SIGMOD 2024
|
||||
</p>
|
||||
<div class="d-flex gap-2">
|
||||
|
|
@ -101,7 +101,7 @@
|
|||
|
||||
<div class="list-group-item px-0">
|
||||
<div class="d-flex justify-content-between align-items-center mb-1">
|
||||
<p class="d-inline-block mb-0 venue-name primary-text">
|
||||
<p class="d-inline-block mb-0 venue-name secondary-text">
|
||||
Tutorial<span class='text-muted'> | </span>SpatialDI 2024
|
||||
</p>
|
||||
<div class="d-flex gap-2">
|
||||
|
|
@ -115,7 +115,7 @@
|
|||
|
||||
<div class="list-group-item px-0">
|
||||
<div class="d-flex justify-content-between align-items-center mb-1">
|
||||
<p class="d-inline-block mb-0 venue-name primary-text">
|
||||
<p class="d-inline-block mb-0 venue-name secondary-text">
|
||||
Paper Oral<span class='text-muted'> | </span>AAAI 2021
|
||||
</p>
|
||||
<div class="d-flex gap-2">
|
||||
|
|
|
|||
19
dist/projects/index.html
vendored
19
dist/projects/index.html
vendored
|
|
@ -50,36 +50,43 @@
|
|||
|
||||
<!-- <nav class="navbar navbar-expand">
|
||||
<ul class="navbar-nav d-flex justify-content-evenly mx-auto gap-3 gap-sm-5">
|
||||
|
||||
|
||||
<li class="nav-item">
|
||||
<a class="link nav-link px-0" href="/#publications">
|
||||
<span class="d-inline d-md-none">Pubs</span>
|
||||
<span class="d-none d-md-inline">Publications</span>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
<li class="nav-item">
|
||||
<a class="link nav-link px-0" href="/#projects">
|
||||
<span class="d-inline d-md-none">Work</span>
|
||||
<span class="d-none d-md-inline">Projects</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="link nav-link px-0" href="/#teaching">
|
||||
<span class="d-inline d-md-none">Teach</span>
|
||||
<span class="d-none d-md-inline">Teaching</span>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
<li class="nav-item">
|
||||
<a class="link nav-link px-0" href="/#presentations">
|
||||
<span class="d-inline d-md-none">Talks</span>
|
||||
<span class="d-none d-md-inline">Presentations</span>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
<li class="nav-item">
|
||||
<a class="link nav-link px-0" href="/#services">
|
||||
<span class="d-inline d-md-none">Service</span>
|
||||
<span class="d-none d-md-inline">Services</span>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
<li class="nav-item">
|
||||
<a class="link nav-link px-0" href="https://blog.yanlincs.com">
|
||||
<span class="d-inline d-md-none">Blog</span>
|
||||
|
|
|
|||
19
dist/publications/index.html
vendored
19
dist/publications/index.html
vendored
|
|
@ -50,36 +50,43 @@
|
|||
|
||||
<!-- <nav class="navbar navbar-expand">
|
||||
<ul class="navbar-nav d-flex justify-content-evenly mx-auto gap-3 gap-sm-5">
|
||||
|
||||
|
||||
<li class="nav-item">
|
||||
<a class="link nav-link px-0" href="/#publications">
|
||||
<span class="d-inline d-md-none">Pubs</span>
|
||||
<span class="d-none d-md-inline">Publications</span>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
<li class="nav-item">
|
||||
<a class="link nav-link px-0" href="/#projects">
|
||||
<span class="d-inline d-md-none">Work</span>
|
||||
<span class="d-none d-md-inline">Projects</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="link nav-link px-0" href="/#teaching">
|
||||
<span class="d-inline d-md-none">Teach</span>
|
||||
<span class="d-none d-md-inline">Teaching</span>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
<li class="nav-item">
|
||||
<a class="link nav-link px-0" href="/#presentations">
|
||||
<span class="d-inline d-md-none">Talks</span>
|
||||
<span class="d-none d-md-inline">Presentations</span>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
<li class="nav-item">
|
||||
<a class="link nav-link px-0" href="/#services">
|
||||
<span class="d-inline d-md-none">Service</span>
|
||||
<span class="d-none d-md-inline">Services</span>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
<li class="nav-item">
|
||||
<a class="link nav-link px-0" href="https://blog.yanlincs.com">
|
||||
<span class="d-inline d-md-none">Blog</span>
|
||||
|
|
|
|||
21
generate.py
21
generate.py
|
|
@ -26,9 +26,22 @@ if __name__ == '__main__':
|
|||
|
||||
print(f'Generated {output_path}')
|
||||
|
||||
# Always generate the main index page
|
||||
render_template('index.html', 'dist/index.html', data=profile_data, is_home_page=True)
|
||||
render_template('publications.html', 'dist/publications/index.html', data=profile_data, is_home_page=False)
|
||||
render_template('projects.html', 'dist/projects/index.html', data=profile_data, is_home_page=False)
|
||||
render_template('presentations.html', 'dist/presentations/index.html', data=profile_data, is_home_page=False)
|
||||
render_template('teaching.html', 'dist/teaching/index.html', data=profile_data, is_home_page=False)
|
||||
|
||||
# Generate individual section pages only if they're in the sections list
|
||||
sections = profile_data.get('sections', [])
|
||||
|
||||
if 'publications' in sections:
|
||||
render_template('publications.html', 'dist/publications/index.html', data=profile_data, is_home_page=False)
|
||||
|
||||
if 'projects' in sections:
|
||||
render_template('projects.html', 'dist/projects/index.html', data=profile_data, is_home_page=False)
|
||||
|
||||
if 'presentations' in sections:
|
||||
render_template('presentations.html', 'dist/presentations/index.html', data=profile_data, is_home_page=False)
|
||||
|
||||
if 'teaching' in sections:
|
||||
render_template('teaching.html', 'dist/teaching/index.html', data=profile_data, is_home_page=False)
|
||||
|
||||
print('Static site generation complete!')
|
||||
|
|
|
|||
|
|
@ -29,6 +29,8 @@ block content %}
|
|||
</div>
|
||||
</div>
|
||||
|
||||
{% for section in data.sections %}
|
||||
{% if section == 'publications' %}
|
||||
<article class="section" id="publications">
|
||||
<div class="d-flex align-items-center mb-1">
|
||||
<h3 class="section-title d-inline-block mb-0">
|
||||
|
|
@ -58,7 +60,7 @@ block content %}
|
|||
>
|
||||
</div>
|
||||
</article>
|
||||
|
||||
{% elif section == 'projects' %}
|
||||
<article class="section" id="projects">
|
||||
<div class="d-flex align-items-center mb-1">
|
||||
<h3 class="section-title d-inline-block mb-0">
|
||||
|
|
@ -82,7 +84,7 @@ block content %}
|
|||
</div>
|
||||
</div>
|
||||
</article>
|
||||
|
||||
{% elif section == 'teaching' %}
|
||||
<article class="section" id="teaching">
|
||||
<div class="d-flex align-items-center mb-1">
|
||||
<h3 class="section-title d-inline-block mb-0">
|
||||
|
|
@ -98,7 +100,7 @@ block content %}
|
|||
'partials/teaching.html' %} {% endfor %}
|
||||
</div>
|
||||
</article>
|
||||
|
||||
{% elif section == 'presentations' %}
|
||||
<article class="section" id="presentations">
|
||||
<div class="d-flex align-items-center mb-1">
|
||||
<h3 class="section-title d-inline-block mb-0">
|
||||
|
|
@ -114,7 +116,7 @@ block content %}
|
|||
'partials/presentation.html' %} {% endfor %}
|
||||
</div>
|
||||
</article>
|
||||
|
||||
{% elif section == 'services' %}
|
||||
<article
|
||||
id="services"
|
||||
class="rounded text-body-emphasis bg-body-secondary flex-md-row my-4 position-relative p-4 transition-shadow"
|
||||
|
|
@ -131,5 +133,7 @@ block content %}
|
|||
</ul>
|
||||
</div>
|
||||
</article>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
|
||||
{% endblock %} {% block extra_js %} {{ super() }} {% endblock %}
|
||||
|
|
|
|||
|
|
@ -1,35 +1,43 @@
|
|||
<nav class="navbar navbar-expand">
|
||||
<ul class="navbar-nav d-flex justify-content-evenly mx-auto gap-3 gap-sm-5">
|
||||
{% for section in data.sections %}
|
||||
{% if section == 'publications' %}
|
||||
<li class="nav-item">
|
||||
<a class="link nav-link px-0" href="/#publications">
|
||||
<span class="d-inline d-md-none">Pubs</span>
|
||||
<span class="d-none d-md-inline">Publications</span>
|
||||
</a>
|
||||
</li>
|
||||
{% elif section == 'projects' %}
|
||||
<li class="nav-item">
|
||||
<a class="link nav-link px-0" href="/#projects">
|
||||
<span class="d-inline d-md-none">Work</span>
|
||||
<span class="d-none d-md-inline">Projects</span>
|
||||
</a>
|
||||
</li>
|
||||
{% elif section == 'teaching' %}
|
||||
<li class="nav-item">
|
||||
<a class="link nav-link px-0" href="/#teaching">
|
||||
<span class="d-inline d-md-none">Teach</span>
|
||||
<span class="d-none d-md-inline">Teaching</span>
|
||||
</a>
|
||||
</li>
|
||||
{% elif section == 'presentations' %}
|
||||
<li class="nav-item">
|
||||
<a class="link nav-link px-0" href="/#presentations">
|
||||
<span class="d-inline d-md-none">Talks</span>
|
||||
<span class="d-none d-md-inline">Presentations</span>
|
||||
</a>
|
||||
</li>
|
||||
{% elif section == 'services' %}
|
||||
<li class="nav-item">
|
||||
<a class="link nav-link px-0" href="/#services">
|
||||
<span class="d-inline d-md-none">Service</span>
|
||||
<span class="d-none d-md-inline">Services</span>
|
||||
</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
<li class="nav-item">
|
||||
<a class="link nav-link px-0" href="https://blog.yanlincs.com">
|
||||
<span class="d-inline d-md-none">Blog</span>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<div class="list-group-item px-0">
|
||||
<div class="d-flex justify-content-between align-items-center mb-1">
|
||||
<p class="d-inline-block mb-0 venue-name primary-text">
|
||||
<p class="d-inline-block mb-0 venue-name secondary-text">
|
||||
{{ presentation.tags|join("<span class='text-muted'> | </span>")|safe }}
|
||||
</p>
|
||||
<div class="d-flex gap-2">
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue