1+ <!DOCTYPE html>
2+ < html lang ="{{ page.lang | default: site.lang | default: "en " }}">
3+
4+ < head >
5+ < meta charset ="utf-8 ">
6+ < meta http-equiv ="X-UA-Compatible " content ="IE=edge ">
7+ < meta name ="viewport " content ="width=device-width, initial-scale=1 ">
8+
9+ {%- seo -%}
10+
11+ < link rel ="stylesheet " href ="{{ "/assets/css/main.css" | relative_url }}">
12+ {%- feed_meta -%}
13+
14+ <!-- Favicon -->
15+ < link rel ="icon " type ="image/svg+xml " href ="/assets/images/favicon.svg ">
16+ < link rel ="alternate icon " href ="/assets/images/favicon.ico ">
17+
18+ <!-- MathJax for LaTeX rendering -->
19+ < script >
20+ MathJax = {
21+ tex : {
22+ inlineMath : [ [ '$' , '$' ] , [ '\\(' , '\\)' ] ] ,
23+ displayMath : [ [ '$$' , '$$' ] , [ '\\[' , '\\]' ] ] ,
24+ processEscapes : true ,
25+ processEnvironments : true ,
26+ packages : { '[+]' : [ 'ams' , 'newcommand' , 'configmacros' ] }
27+ } ,
28+ options : {
29+ ignoreHtmlClass : 'tex2jax_ignore' ,
30+ processHtmlClass : 'tex2jax_process'
31+ } ,
32+ svg : {
33+ fontCache : 'global'
34+ }
35+ } ;
36+ </ script >
37+ < script type ="text/javascript " id ="MathJax-script " async
38+ src ="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-svg.js ">
39+ </ script >
40+
41+ <!-- Academic structured data -->
42+ {% if page.layout == 'publication' or page.collection == 'publications' %}
43+ < script type ="application/ld+json ">
44+ {
45+ "@context" : "https://schema.org" ,
46+ "@type" : "ScholarlyArticle" ,
47+ "headline" : "{{ page.title | escape }}" ,
48+ "author" : [
49+ { % for author in page . authors % }
50+ {
51+ "@type" : "Person" ,
52+ "name" : "{{ author | escape }}"
53+ } { % unless forloop . last % } , { % endunless % }
54+ { % endfor % }
55+ ] ,
56+ "datePublished" : "{{ page.date | date: " % Y - % m - % d " }}" ,
57+ "publisher" : {
58+ "@type" : "Organization" ,
59+ "name" : "{{ page.venue | escape }}"
60+ }
61+ }
62+ </ script >
63+ {% endif %}
64+ </ head >
65+
66+ < body >
67+ < header class ="header ">
68+ < div class ="container ">
69+ < div class ="header-content ">
70+ < div class ="header-text ">
71+ < h1 class ="title ">
72+ < a href ="{{ "/" | relative_url }}"> {{ site.title | escape }}</ a >
73+ </ h1 >
74+ {% if site.subtitle %}
75+ < p class ="subtitle "> {{ site.subtitle | escape }}</ p >
76+ {% endif %}
77+ </ div >
78+ < div class ="header-contact ">
79+ {% if site.email %}
80+ < div class ="contact-item ">
81+ < a href ="mailto:{{ site.email }} "> {{ site.email }}</ a >
82+ </ div >
83+ {% endif %}
84+ < div class ="contact-links ">
85+ {% if site.orcid %}
86+ < a href ="https://orcid.org/{{ site.orcid }} " target ="_blank " rel ="noopener " title ="ORCID "> ORCID</ a >
87+ {% endif %}
88+ {% if site.scholar %}
89+ < a href ="https://scholar.google.com/citations?user={{ site.scholar }} " target ="_blank " rel ="noopener " title ="Google Scholar "> Scholar</ a >
90+ {% endif %}
91+ {% if site.github_username %}
92+ < a href ="https://github.com/{{ site.github_username }} " target ="_blank " rel ="noopener " title ="GitHub "> GitHub</ a >
93+ {% endif %}
94+ {% if site.linkedin %}
95+ < a href ="https://linkedin.com/in/{{ site.linkedin }} " target ="_blank " rel ="noopener " title ="LinkedIn "> LinkedIn</ a >
96+ {% endif %}
97+ </ div >
98+ </ div >
99+ </ div >
100+ </ div >
101+ </ header >
102+
103+ < nav class ="navigation ">
104+ < div class ="container ">
105+ < ul class ="nav-list ">
106+ < li class ="nav-item ">
107+ < a class ="nav-link {% if page.url == "/" %}active{% endif %}" href="{{ "/" | relative_url }}"> Home</ a >
108+ </ li >
109+ < li class ="nav-item ">
110+ < a class ="nav-link {% if page.url == "/cv/" %}active{% endif %}" href="{{ "/cv/" | relative_url }}"> CV</ a >
111+ </ li >
112+ < li class ="nav-item ">
113+ < a class ="nav-link {% if page.url contains "/publications" %}active{% endif %}" href="{{ "/publications/" | relative_url }}"> Publications</ a >
114+ </ li >
115+ < li class ="nav-item ">
116+ < a class ="nav-link {% if page.url contains "/research" %}active{% endif %}" href="{{ "/research/" | relative_url }}"> Research</ a >
117+ </ li >
118+ < li class ="nav-item ">
119+ < a class ="nav-link {% if page.url contains "/teaching" %}active{% endif %}" href="{{ "/teaching/" | relative_url }}"> Teaching</ a >
120+ </ li >
121+ < li class ="nav-item ">
122+ < a class ="nav-link {% if page.url contains "/talks" %}active{% endif %}" href="{{ "/talks/" | relative_url }}"> Talks</ a >
123+ </ li >
124+ < li class ="nav-item ">
125+ < a class ="nav-link {% if page.url == "/contact/" %}active{% endif %}" href="{{ "/contact/" | relative_url }}"> Contact</ a >
126+ </ li >
127+ </ ul >
128+ </ div >
129+ </ nav >
130+
131+ < main class ="main-content ">
132+ < div class ="container ">
133+ {{ content }}
134+ </ div >
135+ </ main >
136+
137+ < footer class ="footer ">
138+ < div class ="container ">
139+ < p > © {{ 'now' | date: "%Y" }} {{ site.title | escape }}. Built with Jekyll and managed through Obsidian.</ p >
140+
141+ {% if site.github_username or site.orcid or site.scholar or site.linkedin %}
142+ < div style ="margin-top: 1rem; ">
143+ {% if site.orcid %}
144+ < a href ="https://orcid.org/{{ site.orcid }} " target ="_blank " rel ="noopener "> ORCID</ a >
145+ {% endif %}
146+ {% if site.scholar %}
147+ < a href ="https://scholar.google.com/citations?user={{ site.scholar }} " target ="_blank " rel ="noopener "> Google Scholar</ a >
148+ {% endif %}
149+ {% if site.github_username %}
150+ < a href ="https://github.com/{{ site.github_username }} " target ="_blank " rel ="noopener "> GitHub</ a >
151+ {% endif %}
152+ {% if site.linkedin %}
153+ < a href ="https://linkedin.com/in/{{ site.linkedin }} " target ="_blank " rel ="noopener "> LinkedIn</ a >
154+ {% endif %}
155+ </ div >
156+ {% endif %}
157+ </ div >
158+ </ footer >
159+
160+ <!-- Analytics (optional) -->
161+ {% if jekyll.environment == 'production' and site.google_analytics %}
162+ < script async src ="https://www.googletagmanager.com/gtag/js?id={{ site.google_analytics }} "> </ script >
163+ < script >
164+ window . dataLayer = window . dataLayer || [ ] ;
165+ function gtag ( ) { dataLayer . push ( arguments ) ; }
166+ gtag ( 'js' , new Date ( ) ) ;
167+ gtag ( 'config' , '{{ site.google_analytics }}' ) ;
168+ </ script >
169+ {% endif %}
170+ </ body >
171+
172+ </ html >
0 commit comments