feat: migration vers template academic-homepage original
Build and Deploy Jekyll / deploy (push) Successful in 42s
Build and Deploy Jekyll / deploy (push) Successful in 42s
This commit is contained in:
@@ -0,0 +1,16 @@
|
||||
<footer class="footer border-top py-2 mt-5 bg-white small">
|
||||
<div class="{% if page.container_class %}{{ page.container_class }}{% else %}container-lg{% endif %}">
|
||||
<div class="row my-3">
|
||||
<div class="col-6">
|
||||
<div class="text-muted">
|
||||
<i>Last updated: {{ "now" | date: "%b %Y" }}</i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<div class="text-right text-muted">
|
||||
{{ site.data.display.footer_text }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
@@ -0,0 +1,18 @@
|
||||
<nav class="navbar navbar-expand-sm navbar-light fixed-top mb-5 shadow-sm">
|
||||
<div class="{% if page.container_class %}{{ page.container_class }}{% else %}container-lg{% endif %}">
|
||||
<a class="navbar-brand"><strong>{{site.data.profile.navbar_name}}</strong></a>
|
||||
<button class="navbar-toggler" style="font-size: 1em; padding: 0.5em;" type="button" data-toggle="collapse" data-target="#navbarResponsive" aria-controls="navbarResponsive" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<i class="fas fa-map"></i> Menu
|
||||
</button>
|
||||
|
||||
<div class="collapse navbar-collapse" id="navbarResponsive">
|
||||
<ul class="navbar-nav ml-auto">
|
||||
{% for item in site.data.navigation.pages %}
|
||||
<li class="nav-item {% if item.name == page.navbar_title or include.active_page == item.name %}active{% endif %}">
|
||||
<a class="nav-link" href="{{ item.url | relative_url }}">{{ item.name }}</a>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
@@ -0,0 +1,60 @@
|
||||
{%- assign authors = include.authors -%}
|
||||
{%- assign has_eq_contrib = false -%}
|
||||
{%- assign has_corresponding = false -%}
|
||||
|
||||
{%- for _key in authors -%}
|
||||
{%- assign last_char = _key | slice: -1, 1%}
|
||||
{%- assign last_2chars = _key | slice: -2, 2%}
|
||||
{%- if last_2chars == "*#" or last_2chars == "#*" -%}
|
||||
{%- assign key = _key | replace: "#*", "" | replace: "*#", "" -%}
|
||||
{%- assign mark = "*<sup>#</sup>" -%}
|
||||
{%- assign has_eq_contrib = true -%}
|
||||
{%- assign has_corresponding = true -%}
|
||||
{%- elsif last_char == "*" -%}
|
||||
{%- assign key = _key | split: "*" | first -%}
|
||||
{%- assign mark = "*" -%}
|
||||
{%- assign has_eq_contrib = true -%}
|
||||
{%- elsif last_char == "#" -%}
|
||||
{%- assign key = _key | split: "#" | first -%}
|
||||
{%- assign mark = '<sup>#</sup>' -%}
|
||||
{%- assign has_corresponding = true -%}
|
||||
{%- else -%}
|
||||
{%- assign key = _key -%}
|
||||
{%- assign mark = "" -%}
|
||||
{%- endif -%}
|
||||
|
||||
{%- assign info = site.data.authors[key] -%}
|
||||
|
||||
{%- if info['name'] -%}
|
||||
{%- assign name = info['name'] -%}
|
||||
{%- else -%}
|
||||
{%- assign name = key -%}
|
||||
{%- endif -%}
|
||||
|
||||
{%- if info['bold'] == true -%}
|
||||
{%- assign display_name = name | append: mark | prepend: "<strong>" | append: "</strong>" -%}
|
||||
{%- else -%}
|
||||
{%- assign display_name = name | append: mark -%}
|
||||
{%- endif -%}
|
||||
|
||||
{%- if info['url'] -%}
|
||||
<a class="text-body" target="_blank" href="{{ info['url'] }}">{{ display_name }}</a>{%- if forloop.index < authors.size -%}, {% endif -%}
|
||||
{%- else -%}
|
||||
<span class="text-body">
|
||||
{{ display_name }}{%- if forloop.index < authors.size -%}, {% endif -%}
|
||||
</span>
|
||||
{%- endif -%}
|
||||
|
||||
{%- endfor -%}
|
||||
|
||||
{%- if has_eq_contrib or has_corresponding %}
|
||||
<mark>(
|
||||
{%- if has_eq_contrib -%}
|
||||
* <i> equal contribution</i>
|
||||
{%- endif -%}
|
||||
{%- if has_corresponding -%}
|
||||
{%- if has_eq_contrib -%}, {% endif -%}
|
||||
<sup>#</sup> <i> corresponding author</i>
|
||||
{%- endif -%}
|
||||
)</mark>
|
||||
{%- endif -%}
|
||||
@@ -0,0 +1,39 @@
|
||||
{% assign item = include.item %}
|
||||
{% assign hide_bottom_border = include.hide_bottom_border %}
|
||||
{% assign first = include.first %}
|
||||
{% assign last = include.last %}
|
||||
|
||||
<div class="border-bottom border-gray p-3 {% if hide_bottom_border %}border-0{% endif %}">
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<h5 class="mb-2">
|
||||
<a href="{{ item.url | relative_url }}" class="text-dark text-decoration-none">
|
||||
{{ item.title }}
|
||||
</a>
|
||||
</h5>
|
||||
<div class="text-muted small mb-2">
|
||||
<i class="fas fa-calendar-alt"></i> {{ item.date | date: "%B %d, %Y" }}
|
||||
{% if item.tags %}
|
||||
<span class="ml-3">
|
||||
<i class="fas fa-tags"></i>
|
||||
{% for tag in item.tags %}
|
||||
<span class="badge badge-light">{{ tag }}</span>
|
||||
{% endfor %}
|
||||
</span>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="text-muted small">
|
||||
{% if item.excerpt %}
|
||||
{{ item.excerpt | strip_html | truncate: 500 }}
|
||||
{% else %}
|
||||
{{ item.content | strip_html | truncate: 500 }}
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="mt-2">
|
||||
<a href="{{ item.url | relative_url }}">
|
||||
Read more <i class="fas fa-angle-double-right"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,31 @@
|
||||
<div>
|
||||
<div id="{{ include.id | slugify }}" class="carousel slide" data-ride="carousel">
|
||||
<ol class="carousel-indicators">
|
||||
{% for item in include.images %}
|
||||
<li data-target="#{{ include.id | slugify }}" data-slide-to="{{ forloop.index0 }}" {% if forloop.index == 1 %}class="active"{% endif %}></li>
|
||||
{% endfor %}
|
||||
</ol>
|
||||
<div class="carousel-inner" style="height: {{ include.height }};">
|
||||
{% for item in include.images %}
|
||||
<div class="carousel-item {% if forloop.index == 1 %}active{% endif %}">
|
||||
{% if item.link %}<a href="{{ item.link }}" target="_blank">{% endif %}
|
||||
<div class="lazy always-load d-block rounded-xl" data-src="{{ item.src | relative_url }}" style="height: {{ include.height }};">
|
||||
</div>
|
||||
<div class="carousel-caption d-none d-md-block">
|
||||
<h5>{{ item.title }}</h5>
|
||||
<p>{{ item.desc }}</p>
|
||||
</div>
|
||||
{% if item.link %}</a>{% endif %}
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
<div class="carousel-control-prev" type="button" data-target="#{{ include.id | slugify }}" data-slide="prev">
|
||||
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
|
||||
<span class="sr-only">Previous</span>
|
||||
</div>
|
||||
<div class="carousel-control-next" type="button" data-target="#{{ include.id | slugify }}" data-slide="next">
|
||||
<span class="carousel-control-next-icon" aria-hidden="true"></span>
|
||||
<span class="sr-only">Next</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,26 @@
|
||||
<div id="ghpages-domain-debug-message" class="row mt-3 d-none">
|
||||
<div class="col">
|
||||
<div class="alert alert-warning my-0" role="alert">
|
||||
<h5><i class="fas fa-exclamation-triangle"></i> Warning</h5>
|
||||
<strong>Problem:</strong>
|
||||
The current name of your GitHub Pages repository ("<code class="repo-name-text"></code>") does not match the recommended repository name for your site ("<code class="domain-name-text"></code>").
|
||||
<br>
|
||||
<strong>Solution:</strong> Please consider renaming the repository to "<code class="domain-name-text"></code>", so that your site can be accessed directly at "<code>http://<span class="domain-name-text"></span></code>".
|
||||
However, if the current repository name is intended, you can ignore this message by removing {% raw %}"<code>{% include widgets/debug_repo_name.html %}</code>"{% endraw %} in <code>index.html</code>.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
striped_pathname = location.pathname.replace(/\/+$/, "");
|
||||
document.querySelectorAll(".repo-name-text").forEach(function(element){
|
||||
element.textContent = striped_pathname.replace("/", "");
|
||||
});
|
||||
document.querySelectorAll(".domain-name-text").forEach(function(element){
|
||||
element.textContent = location.hostname;
|
||||
});
|
||||
|
||||
if (location.hostname.search("github.io") != -1 && striped_pathname != ""){
|
||||
document.getElementById("ghpages-domain-debug-message").classList.remove('d-none');
|
||||
}
|
||||
</script>
|
||||
@@ -0,0 +1,24 @@
|
||||
<div id="url-debug-message" class="row mt-3 d-none">
|
||||
<div class="col">
|
||||
<div class="alert alert-warning my-0" role="alert">
|
||||
<h5><i class="fas fa-exclamation-triangle"></i> Action required</h5>
|
||||
<strong>Problem:</strong>
|
||||
The current root path of this site is "<code class="root-path-text"></code>",
|
||||
which does not match the <code>baseurl</code> ("<code>{{ site.baseurl }}</code>") configured in <code>_config.yml</code>.
|
||||
<br>
|
||||
|
||||
<strong>Solution:</strong>
|
||||
Please set the <code>baseurl</code> in <code>_config.yml</code> to "<code class="root-path-text"></code>".
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
striped_pathname = location.pathname.replace(/\/+$/, "");
|
||||
if(striped_pathname != "{{ site.baseurl }}"){
|
||||
document.getElementById("url-debug-message").classList.remove('d-none');
|
||||
}
|
||||
document.querySelectorAll(".root-path-text").forEach(function(element){
|
||||
element.textContent = striped_pathname;
|
||||
});
|
||||
</script>
|
||||
@@ -0,0 +1,75 @@
|
||||
<div class="row mt-3">
|
||||
<div class="col">
|
||||
<div class="card border-0 shadow-sm bg-white">
|
||||
<div class="card-body p-4">
|
||||
<div class="row" data-masonry='{"percentPosition": true }'>
|
||||
{% if site.data.profile.education %}
|
||||
<div class="col-lg-6">
|
||||
<div class="mx-2 my-1">
|
||||
<h6>Education</h6>
|
||||
<ul class="list-unstyled mb-1">
|
||||
{% for item in site.data.profile.education %}
|
||||
<li class="media mb-1">
|
||||
<img src="{{ item.logo | relative_url }}" alt="{{ item.name }}" style="width: 18px;" class="mr-1 mt-1">
|
||||
<div class="media-body">
|
||||
<div>{{ item.name }}</div>
|
||||
<div class="small">{{ item.dept }}</div>
|
||||
<div class="small d-flex">
|
||||
<div>{{ item.position }}</div>
|
||||
<div class="mt-auto ml-auto no-break"><em>{{ item.date }}</em></div>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% if site.data.profile.experience %}
|
||||
<div class="col-lg-6">
|
||||
<div class="mx-2 my-1">
|
||||
<h6>Experience</h6>
|
||||
<ul class="list-unstyled mb-1">
|
||||
{% for item in site.data.profile.experience %}
|
||||
<li class="media mb-1">
|
||||
<img src="{{ item.logo | relative_url }}" alt="{{ item.name }}" style="width: 18px;" class="mr-1 mt-1">
|
||||
<div class="media-body">
|
||||
<div>{{ item.name }}</div>
|
||||
<div class="small">{{ item.dept }}</div>
|
||||
<div class="small d-flex">
|
||||
<div>{{ item.position }}</div>
|
||||
<div class="mt-auto ml-auto no-break"><em>{{ item.date }}</em></div>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% if site.data.profile.awards %}
|
||||
<div class="col-lg-6">
|
||||
<div class="mx-2 my-1">
|
||||
<h6>Honors & Awards</h6>
|
||||
<ul class="list small pl-3 mb-1">
|
||||
{% for item in site.data.profile.awards %}
|
||||
<li>
|
||||
<div class="d-flex">
|
||||
<div>{{ item.name }}</div>
|
||||
<div class="ml-auto mt-auto no-break"><em>{{ item.date }}</em></div>
|
||||
</div>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,21 @@
|
||||
{% assign news_by_year = site.news | sort: "date" | reverse | slice: 0, include.limit | group_by_exp: "item", "item.date | date: '%Y'" -%}
|
||||
|
||||
<div class="my-3 bg-white shadow-sm rounded-xl">
|
||||
<h6 class="p-3 mb-0 border-bottom border-gray"><i class="fas fa-rss"></i> News</h6>
|
||||
<div class="px-3 pb-1 small">
|
||||
{% for year in news_by_year %}
|
||||
<div class="media py-1 {% if not_first -%}border-top border-gray{%- endif %}">
|
||||
{% assign not_first = true %}
|
||||
<div class="mr-3 text-muted my-1">{{ year.name }}</div>
|
||||
<div class="media-body">
|
||||
{% for item in year.items %}
|
||||
<div class="my-1 d-flex">
|
||||
<div>{{ item.title }}</div>
|
||||
<div class="ml-auto mt-auto text-muted no-break"><i>{{ item.date | date: "%b %d" }}</i></div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,121 @@
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<div class="card border-0 shadow-sm bg-white">
|
||||
<div class="card-body p-5">
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
{% if site.data.profile.portrait_url %}
|
||||
<!-- When the screen is wider than md, float the portrait on the right -->
|
||||
<div class="figure float-right ml-4 mb-4 d-none d-md-block">
|
||||
<img
|
||||
src="{{ site.data.profile.portrait_url | relative_url }}"
|
||||
class="figure-img img-fluid img-thumbnail"
|
||||
style="height: 200px;"
|
||||
data-toggle="tooltip"
|
||||
data-placement="top"
|
||||
title="{{ site.data.profile.portrait_caption }}">
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<div class="d-flex">
|
||||
<div class="h1 font-weight-normal">
|
||||
{{ site.data.profile.primary_name }} <small>{{ site.data.profile.secondary_name }}</small>
|
||||
</div>
|
||||
{% if site.data.profile.portrait_url %}
|
||||
<div class="ml-auto d-md-none">
|
||||
<a target="_blank" href="{{ site.data.profile.portrait_url | relative_url }}">
|
||||
<img src="{{ site.data.profile.portrait_url | relative_url }}" class="rounded-circle" style="height: 48px;" alt="Portrait">
|
||||
</a>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="text-profile-position">
|
||||
{% for position in site.data.profile.positions %}
|
||||
{% if position.logo -%}
|
||||
<img src="{{ position.logo | relative_url }}" alt="Logo" class="inline-badge"/>
|
||||
{%- endif %}
|
||||
{{ position.name }}<br/>
|
||||
{% endfor %}
|
||||
</div>
|
||||
<div class="text-profile-bio mt-3" {% if site.data.profile.short_bio_text_justify %}style="text-align: justify;"{% endif %}>
|
||||
{{ site.data.profile.short_bio }}
|
||||
</div>
|
||||
{% if site.data.profile.cv_link %}
|
||||
<a target="_blank" href="{{ site.data.profile.cv_link | relative_url }}"><i class="fas fa-file-alt"></i> Curriculum Vitae</a> <br/>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<hr />
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<a class="pr-3" href="mailto:{{ site.data.profile.email | encode_email }}">
|
||||
<i class="fas fa-at"></i> <span class="email-text">{{ site.data.profile.email | replace: "@", "(at)" }}</span>
|
||||
</a>
|
||||
|
||||
{% if site.data.profile.gscholar %}
|
||||
{%- if site.data.profile.gscholar contains 'scholar.google' -%}
|
||||
{%- assign gscholar_url = site.data.profile.gscholar -%}
|
||||
{%- else -%}
|
||||
{%- assign gscholar_url = 'https://scholar.google.com/citations?user=' | append: site.data.profile.gscholar -%}
|
||||
{%- endif -%}
|
||||
<a class="pr-3 no-break" target="_blank" href="{{ gscholar_url }}">
|
||||
<i class="fab fa-google-scholar"></i> Google Scholar
|
||||
</a>
|
||||
{% endif %}
|
||||
|
||||
{% if site.data.profile.github %}
|
||||
<a class="pr-3 no-break" target="_blank" href="https://github.com/{{ site.data.profile.github }}">
|
||||
<i class="fab fa-github"></i> GitHub
|
||||
</a>
|
||||
{% endif %}
|
||||
|
||||
{% if site.data.profile.wechat_qrcode %}
|
||||
<a class="pr-3 no-break" data-toggle="modal" data-target="#modal-wechat">
|
||||
<i class="fab fa-weixin"></i> WeChat
|
||||
</a>
|
||||
{% endif %}
|
||||
|
||||
{% if site.data.profile.twitter %}
|
||||
<a class="pr-3 no-break" target="_blank" href="https://twitter.com/{{ site.data.profile.twitter }}">
|
||||
<i class="fab fa-twitter"></i> Twitter
|
||||
</a>
|
||||
{% endif %}
|
||||
|
||||
{% if site.data.profile.linkedin %}
|
||||
<a class="pr-3 no-break" target="_blank" href="https://www.linkedin.com/in/{{ site.data.profile.linkedin }}">
|
||||
<i class="fab fa-linkedin"></i> LinkedIn
|
||||
</a>
|
||||
{% endif %}
|
||||
|
||||
{% if site.data.profile.orcid %}
|
||||
<a class="pr-3 no-break" target="_blank" href="https://orcid.org/{{ site.data.profile.orcid }}">
|
||||
<i class="fab fa-orcid"></i> ORCID
|
||||
</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% if site.data.profile.wechat_qrcode %}
|
||||
<div class="modal fade" id="modal-wechat" tabindex="-1" aria-hidden="true">
|
||||
<div class="modal-dialog modal-sm">
|
||||
<div class="modal-content">
|
||||
<div class="modal-body p-0">
|
||||
<img src="{{ site.data.profile.wechat_qrcode | relative_url }}" class="img-fluid">
|
||||
</div>
|
||||
{% if site.data.profile.wechat_prompt %}
|
||||
<div class="modal-body p-1">
|
||||
{{ site.data.profile.wechat_prompt }}
|
||||
</div>
|
||||
{% endif %}
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-primary" data-dismiss="modal">Close</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
@@ -0,0 +1,25 @@
|
||||
<div class="mt-3 d-md-none"></div>
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<div class="card border-0 shadow-sm bg-white">
|
||||
<div class="card-body p-4">
|
||||
<div class="row px-3 pt-3">
|
||||
<div class="col h3">
|
||||
About Me
|
||||
</div>
|
||||
</div>
|
||||
<div class="row p-3">
|
||||
<div class="col">
|
||||
<div class="text-profile-bio mt-0" {% if site.data.profile.short_bio_text_justify %}style="text-align: justify;"{% endif %}>
|
||||
{{ site.data.profile.short_bio }}
|
||||
</div>
|
||||
{% if site.data.profile.cv_link %}
|
||||
<a target="_blank" href="{{ site.data.profile.cv_link | relative_url }}"><i class="fas fa-file-alt"></i> Curriculum Vitae</a> <br/>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,113 @@
|
||||
<div class="row sticky-top" style="top: 80px">
|
||||
<div class="col">
|
||||
<div class="card border-0 shadow-sm bg-white">
|
||||
<div class="card-body px-4 pt-4 pb-3">
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
{% if site.data.profile.portrait_url %}
|
||||
<!-- When the screen is wider than md, float the portrait on the right -->
|
||||
<div class="figure d-none d-md-block">
|
||||
<img
|
||||
src="{{ site.data.profile.portrait_url | relative_url }}"
|
||||
class="figure-img img-fluid"
|
||||
data-toggle="tooltip"
|
||||
data-placement="top"
|
||||
title="{{ site.data.profile.portrait_caption }}">
|
||||
</div>
|
||||
<div class="mb-3 d-md-none text-center">
|
||||
<img src="{{ site.data.profile.portrait_url | relative_url }}" class="rounded-circle" style="max-width: 50%;" alt="Portrait">
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col text-center h4">
|
||||
{{ site.data.profile.primary_name }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row small">
|
||||
<div class="col text-center">
|
||||
{% for position in site.data.profile.positions %}
|
||||
{{ position.name }}<br/>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row small">
|
||||
<div class="col text-center">
|
||||
<a class="email-text" href="mailto:{{ site.data.profile.email | encode_email }}">
|
||||
{{ site.data.profile.email | replace: "@", "(at)" }}
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row pt-2">
|
||||
<div class="col text-center h4">
|
||||
{% if site.data.profile.gscholar %}
|
||||
{%- if site.data.profile.gscholar contains 'scholar.google' -%}
|
||||
{%- assign gscholar_url = site.data.profile.gscholar -%}
|
||||
{%- else -%}
|
||||
{%- assign gscholar_url = 'https://scholar.google.com/citations?user=' | append: site.data.profile.gscholar -%}
|
||||
{%- endif -%}
|
||||
<a class="px-1 no-break" target="_blank" href="{{ gscholar_url }}">
|
||||
<i class="fab fa-google-scholar"></i>
|
||||
</a>
|
||||
{% endif %}
|
||||
|
||||
{% if site.data.profile.github %}
|
||||
<a class="px-1 no-break" target="_blank" href="https://github.com/{{ site.data.profile.github }}">
|
||||
<i class="fab fa-github"></i>
|
||||
</a>
|
||||
{% endif %}
|
||||
|
||||
{% if site.data.profile.wechat_qrcode %}
|
||||
<a class="px-1 no-break" data-toggle="modal" data-target="#modal-wechat">
|
||||
<i class="fab fa-weixin"></i>
|
||||
</a>
|
||||
{% endif %}
|
||||
|
||||
{% if site.data.profile.twitter %}
|
||||
<a class="px-1 no-break" target="_blank" href="https://twitter.com/{{ site.data.profile.twitter }}">
|
||||
<i class="fab fa-twitter"></i>
|
||||
</a>
|
||||
{% endif %}
|
||||
|
||||
{% if site.data.profile.linkedin %}
|
||||
<a class="px-1 no-break" target="_blank" href="https://www.linkedin.com/in/{{ site.data.profile.linkedin }}">
|
||||
<i class="fab fa-linkedin"></i>
|
||||
</a>
|
||||
{% endif %}
|
||||
|
||||
{% if site.data.profile.orcid %}
|
||||
<a class="px-1 no-break" target="_blank" href="https://orcid.org/{{ site.data.profile.orcid }}">
|
||||
<i class="fab fa-orcid"></i>
|
||||
</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
{% if site.data.profile.wechat_qrcode %}
|
||||
<div class="modal fade" id="modal-wechat" tabindex="-1" aria-hidden="true">
|
||||
<div class="modal-dialog modal-sm">
|
||||
<div class="modal-content">
|
||||
<div class="modal-body p-0">
|
||||
<img src="{{ site.data.profile.wechat_qrcode | relative_url }}" class="img-fluid">
|
||||
</div>
|
||||
{% if site.data.profile.wechat_prompt %}
|
||||
<div class="modal-body p-1">
|
||||
{{ site.data.profile.wechat_prompt }}
|
||||
</div>
|
||||
{% endif %}
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-primary" data-dismiss="modal">Close</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
@@ -0,0 +1,14 @@
|
||||
{% assign publications = include.publications %}
|
||||
<div class="my-3 p-0 bg-white shadow-sm rounded-xl">
|
||||
<h6 class="border-bottom border-gray p-3 mb-0">
|
||||
{% if include.title %}{{ include.title }}{% else %}<i class="fas fa-star"></i> Selected Recent Publications{% endif %}
|
||||
<a href="{{ 'publications' | relative_url }}">(view all <i class="fas fa-angle-double-right"></i>)</a>
|
||||
</h6>
|
||||
{% for item in publications limit:include.limit %}
|
||||
{% include widgets/publication_item.html item=item first=false last=false %}
|
||||
{% endfor %}
|
||||
<h6 class="d-block p-3 mt-0 text-right">
|
||||
<a href="{{ 'publications' | relative_url }}">All publications <i class="fas fa-angle-double-right"></i></a>
|
||||
</h6>
|
||||
</div>
|
||||
|
||||
@@ -0,0 +1,54 @@
|
||||
{% assign item = include.item %}
|
||||
<div class="d-none d-md-block">
|
||||
<div class="row no-gutters {% unless include.hide_bottom_border %}border-bottom{% endunless %} border-gray">
|
||||
<div class="col-md-3 col-xl-2 mb-md-0 p-md-3">
|
||||
{%- if item.cover -%}
|
||||
<img data-src="{{ item.cover | relative_url }}" alt="{{ item.title }}" class="lazy w-100 rounded-sm" src="{{ '/assets/images/empty_300x200.png' | relative_url }}">
|
||||
{%- else -%}
|
||||
<svg class="bubble-visual-hash lazy w-100 rounded-sm" data-bubble-visual-hash="{{ item.id }}" viewBox="0 0 300 200"></svg>
|
||||
{%- endif -%}
|
||||
</div>
|
||||
<div class="col-md-9 col-xl-10 p-3 pl-md-0">
|
||||
<h5 class="mt-0 mb-1 font-weight-normal">{{ item.title }}</h5>
|
||||
<p class="mt-0 mb-0 small">{% include widgets/author_list.html authors=item.authors %}</p>
|
||||
<p class="mt-0 mb-0 small">{{item.pub_pre}}<i>{{ item.pub }}</i>{{ item.pub_post }} {{ item.pub_date }} {{ item.pub_last }} <span data-semantic-scholar-id="{{ item.semantic_scholar_id }}"></span></p>
|
||||
<p class="mt-0 mb-0 small text-muted">{{ item.abstract }}</p>
|
||||
|
||||
<p class="small pb-0 mb-0 lh-125 text-muted abstract-links">
|
||||
{% for link in item.links %}
|
||||
{% if link[1].url %}
|
||||
<a target="{{ link[1]['target'] }}" href="{{ link[1]['url'] }}">[{{ link[0] }}]</a>
|
||||
{% else %}
|
||||
<a target="_blank" href="{{ link[1] }}">[{{ link[0] }}]</a>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row no-gutters d-md-none {% unless include.hide_bottom_border %}border-bottom{% endunless %} border-gray {% if include.first %}rounded-xl-top{% endif %} {% if include.last %}rounded-xl-bottom{% endif %} {% if item.cover %}lazy{% endif %}" data-src="{{ item.cover | relative_url }}">
|
||||
<div class="w-100 {% if include.first %}rounded-xl-top{% endif %} {% if include.last %}rounded-xl-bottom{% endif %}" style="background-color: rgba(255,255,255,0.9);">
|
||||
<div class="d-flex align-items-start flex-column py-3 px-4">
|
||||
<div class="mb-auto"></div>
|
||||
<div>
|
||||
<h5 class="mt-0 mb-1 font-weight-normal">{{ item.title }}</h5>
|
||||
<p class="mt-0 mb-0 small">{% include widgets/author_list.html authors=item.authors %}</p>
|
||||
<p class="mt-0 mb-0 small">{{item.pub_pre}}<i>{{ item.pub }}</i>{{ item.pub_post }} {{ item.pub_date }} {{ item.pub_last }} <span data-semantic-scholar-id="{{ item.semantic_scholar_id }}"></span></p>
|
||||
<p class="mt-0 mb-0 small text-muted">{{ item.abstract }}</p>
|
||||
|
||||
<p class="small pb-0 mb-0 lh-125 text-muted abstract-links">
|
||||
{% for link in item.links %}
|
||||
{% if link[1].url %}
|
||||
<a target="{{ link[1]['target'] }}" href="{{ link[1]['url'] }}">[{{ link[0] }}]</a>
|
||||
{% else %}
|
||||
<a target="_blank" href="{{ link[1] }}">[{{ link[0] }}]</a>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
Reference in New Issue
Block a user