al_folio_core 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/CHANGELOG.md +12 -0
- data/LICENSE +20 -0
- data/README.md +28 -0
- data/_includes/audio 2.liquid +30 -0
- data/_includes/audio.liquid +30 -0
- data/_includes/bib_search 2.liquid +4 -0
- data/_includes/bib_search.liquid +4 -0
- data/_includes/calendar 2.liquid +25 -0
- data/_includes/calendar.liquid +25 -0
- data/_includes/citation 2.liquid +26 -0
- data/_includes/citation.liquid +26 -0
- data/_includes/course_schedule 2.liquid +71 -0
- data/_includes/course_schedule.liquid +71 -0
- data/_includes/courses 2.liquid +37 -0
- data/_includes/courses.liquid +37 -0
- data/_includes/disqus 2.liquid +13 -0
- data/_includes/disqus.liquid +13 -0
- data/_includes/figure 2.liquid +86 -0
- data/_includes/figure.liquid +86 -0
- data/_includes/footer 2.liquid +34 -0
- data/_includes/footer.liquid +34 -0
- data/_includes/giscus 2.liquid +25 -0
- data/_includes/giscus.liquid +25 -0
- data/_includes/head 2.liquid +147 -0
- data/_includes/head.liquid +147 -0
- data/_includes/header 2.liquid +149 -0
- data/_includes/header.liquid +149 -0
- data/_includes/latest_posts 2.liquid +48 -0
- data/_includes/latest_posts.liquid +48 -0
- data/_includes/metadata 2.liquid +247 -0
- data/_includes/metadata.liquid +247 -0
- data/_includes/news 2.liquid +34 -0
- data/_includes/news.liquid +34 -0
- data/_includes/newsletter 2.liquid +68 -0
- data/_includes/newsletter.liquid +68 -0
- data/_includes/pagination 2.liquid +21 -0
- data/_includes/pagination.liquid +21 -0
- data/_includes/plugins/al_analytics_scripts 2.liquid +4 -0
- data/_includes/plugins/al_analytics_scripts.liquid +4 -0
- data/_includes/plugins/al_charts_scripts 2.liquid +4 -0
- data/_includes/plugins/al_charts_scripts.liquid +4 -0
- data/_includes/plugins/al_comments 2.liquid +4 -0
- data/_includes/plugins/al_comments.liquid +4 -0
- data/_includes/plugins/al_cookie_scripts 2.liquid +4 -0
- data/_includes/plugins/al_cookie_scripts.liquid +4 -0
- data/_includes/plugins/al_cookie_styles 2.liquid +4 -0
- data/_includes/plugins/al_cookie_styles.liquid +4 -0
- data/_includes/plugins/al_img_tools_scripts 2.liquid +4 -0
- data/_includes/plugins/al_img_tools_scripts.liquid +4 -0
- data/_includes/plugins/al_img_tools_styles 2.liquid +4 -0
- data/_includes/plugins/al_img_tools_styles.liquid +4 -0
- data/_includes/plugins/al_math_scripts 2.liquid +4 -0
- data/_includes/plugins/al_math_scripts.liquid +4 -0
- data/_includes/plugins/al_math_styles 2.liquid +4 -0
- data/_includes/plugins/al_math_styles.liquid +4 -0
- data/_includes/plugins/al_newsletter_form_center 2.liquid +4 -0
- data/_includes/plugins/al_newsletter_form_center.liquid +4 -0
- data/_includes/plugins/al_newsletter_form_center_margin 2.liquid +1 -0
- data/_includes/plugins/al_newsletter_form_center_margin.liquid +1 -0
- data/_includes/plugins/al_newsletter_form_left 2.liquid +1 -0
- data/_includes/plugins/al_newsletter_form_left.liquid +1 -0
- data/_includes/plugins/al_newsletter_scripts 2.liquid +1 -0
- data/_includes/plugins/al_newsletter_scripts.liquid +1 -0
- data/_includes/plugins/al_search_assets 2.liquid +5 -0
- data/_includes/plugins/al_search_assets.liquid +5 -0
- data/_includes/projects 2.liquid +35 -0
- data/_includes/projects.liquid +35 -0
- data/_includes/projects_horizontal 2.liquid +34 -0
- data/_includes/projects_horizontal.liquid +34 -0
- data/_includes/related_posts 2.liquid +40 -0
- data/_includes/related_posts.liquid +40 -0
- data/_includes/repository/repo 2.liquid +47 -0
- data/_includes/repository/repo.liquid +47 -0
- data/_includes/repository/repo_trophies 2.liquid +42 -0
- data/_includes/repository/repo_trophies.liquid +42 -0
- data/_includes/repository/repo_user 2.liquid +34 -0
- data/_includes/repository/repo_user.liquid +34 -0
- data/_includes/scripts 2.liquid +123 -0
- data/_includes/scripts.liquid +123 -0
- data/_includes/selected_papers 2.liquid +3 -0
- data/_includes/selected_papers.liquid +3 -0
- data/_includes/video 2.liquid +97 -0
- data/_includes/video.liquid +97 -0
- data/_layouts/about 2.liquid +84 -0
- data/_layouts/about.liquid +84 -0
- data/_layouts/archive 2.liquid +38 -0
- data/_layouts/archive.liquid +38 -0
- data/_layouts/bib 2.liquid +395 -0
- data/_layouts/bib.liquid +395 -0
- data/_layouts/book-review 2.liquid +265 -0
- data/_layouts/book-review.liquid +265 -0
- data/_layouts/book-shelf 2.liquid +49 -0
- data/_layouts/book-shelf.liquid +49 -0
- data/_layouts/course 2.liquid +75 -0
- data/_layouts/course.liquid +75 -0
- data/_layouts/cv 2.liquid +18 -0
- data/_layouts/cv.liquid +18 -0
- data/_layouts/default 2.liquid +56 -0
- data/_layouts/default.liquid +56 -0
- data/_layouts/distill 2.liquid +21 -0
- data/_layouts/distill.liquid +21 -0
- data/_layouts/none 2.liquid +1 -0
- data/_layouts/none.liquid +1 -0
- data/_layouts/page 2.liquid +31 -0
- data/_layouts/page.liquid +31 -0
- data/_layouts/post 2.liquid +94 -0
- data/_layouts/post.liquid +94 -0
- data/_layouts/profiles 2.liquid +36 -0
- data/_layouts/profiles.liquid +36 -0
- data/_sass/_blog 2.scss +204 -0
- data/_sass/_blog.scss +204 -0
- data/_sass/_components 2.scss +261 -0
- data/_sass/_components.scss +261 -0
- data/_sass/_footer 2.scss +35 -0
- data/_sass/_footer.scss +35 -0
- data/_sass/_layout 2.scss +58 -0
- data/_sass/_layout.scss +58 -0
- data/_sass/_navbar 2.scss +190 -0
- data/_sass/_navbar.scss +190 -0
- data/_sass/_publications 2.scss +188 -0
- data/_sass/_publications.scss +188 -0
- data/_sass/_tabs 2.scss +48 -0
- data/_sass/_tabs.scss +48 -0
- data/_sass/_teachings 2.scss +77 -0
- data/_sass/_teachings.scss +77 -0
- data/_sass/_themes 2.scss +208 -0
- data/_sass/_themes.scss +208 -0
- data/_sass/_typograms 2.scss +132 -0
- data/_sass/_typograms.scss +132 -0
- data/_sass/_typography 2.scss +136 -0
- data/_sass/_typography.scss +136 -0
- data/_sass/_utilities 2.scss +607 -0
- data/_sass/_utilities.scss +607 -0
- data/_sass/_variables 2.scss +52 -0
- data/_sass/_variables.scss +52 -0
- data/_sass/font-awesome/_animated 2.scss +150 -0
- data/_sass/font-awesome/_animated.scss +150 -0
- data/_sass/font-awesome/_bordered 2.scss +24 -0
- data/_sass/font-awesome/_bordered.scss +24 -0
- data/_sass/font-awesome/_core 2.scss +29 -0
- data/_sass/font-awesome/_core.scss +29 -0
- data/_sass/font-awesome/_fa 2.scss +3 -0
- data/_sass/font-awesome/_fa.scss +3 -0
- data/_sass/font-awesome/_functions 2.scss +8 -0
- data/_sass/font-awesome/_functions.scss +8 -0
- data/_sass/font-awesome/_icons 2.scss +15 -0
- data/_sass/font-awesome/_icons.scss +15 -0
- data/_sass/font-awesome/_list 2.scss +19 -0
- data/_sass/font-awesome/_list.scss +19 -0
- data/_sass/font-awesome/_mixins 2.scss +28 -0
- data/_sass/font-awesome/_mixins.scss +28 -0
- data/_sass/font-awesome/_pulled 2.scss +15 -0
- data/_sass/font-awesome/_pulled.scss +15 -0
- data/_sass/font-awesome/_rotated-flipped 2.scss +32 -0
- data/_sass/font-awesome/_rotated-flipped.scss +32 -0
- data/_sass/font-awesome/_shims 2.scss +2193 -0
- data/_sass/font-awesome/_shims.scss +2193 -0
- data/_sass/font-awesome/_sizing 2.scss +18 -0
- data/_sass/font-awesome/_sizing.scss +18 -0
- data/_sass/font-awesome/_stacked 2.scss +33 -0
- data/_sass/font-awesome/_stacked.scss +33 -0
- data/_sass/font-awesome/_variables 2.scss +5130 -0
- data/_sass/font-awesome/_variables.scss +5130 -0
- data/_sass/font-awesome/_widths 2.scss +12 -0
- data/_sass/font-awesome/_widths.scss +12 -0
- data/_sass/font-awesome/brands 2.scss +45 -0
- data/_sass/font-awesome/brands.scss +45 -0
- data/_sass/font-awesome/fontawesome 2.scss +18 -0
- data/_sass/font-awesome/fontawesome.scss +18 -0
- data/_sass/font-awesome/regular 2.scss +51 -0
- data/_sass/font-awesome/regular.scss +51 -0
- data/_sass/font-awesome/solid 2.scss +51 -0
- data/_sass/font-awesome/solid.scss +51 -0
- data/_sass/font-awesome/v4-shims 2.scss +11 -0
- data/_sass/font-awesome/v4-shims.scss +11 -0
- data/_scripts/giscus-setup 2.js +48 -0
- data/_scripts/giscus-setup.js +48 -0
- data/assets/css/academicons.min 2.css +1 -0
- data/assets/css/academicons.min.css +1 -0
- data/assets/css/jekyll-pygments-themes-github 2.css +209 -0
- data/assets/css/jekyll-pygments-themes-github.css +209 -0
- data/assets/css/jekyll-pygments-themes-native 2.css +232 -0
- data/assets/css/jekyll-pygments-themes-native.css +232 -0
- data/assets/css/jupyter 2.css +383 -0
- data/assets/css/jupyter-grade3 2.css +3758 -0
- data/assets/css/jupyter-grade3.css +3758 -0
- data/assets/css/jupyter-monokai 2.css +3758 -0
- data/assets/css/jupyter-monokai.css +3758 -0
- data/assets/css/jupyter.css +383 -0
- data/assets/css/main 2.scss +37 -0
- data/assets/css/main.scss +37 -0
- data/assets/css/scholar-icons 2.css +386 -0
- data/assets/css/scholar-icons.css +386 -0
- data/assets/css/tailwind 2.css +2 -0
- data/assets/css/tailwind.css +2 -0
- data/assets/js/bibsearch 2.js +70 -0
- data/assets/js/bibsearch.js +70 -0
- data/assets/js/calendar-setup 2.js +16 -0
- data/assets/js/calendar-setup.js +16 -0
- data/assets/js/common 2.js +137 -0
- data/assets/js/common.js +137 -0
- data/assets/js/copy_code 2.js +56 -0
- data/assets/js/copy_code.js +56 -0
- data/assets/js/highlight-search-term 2.js +110 -0
- data/assets/js/highlight-search-term.js +110 -0
- data/assets/js/jupyter_new_tab 2.js +18 -0
- data/assets/js/jupyter_new_tab.js +18 -0
- data/assets/js/masonry 2.js +12 -0
- data/assets/js/masonry.js +12 -0
- data/assets/js/nav-toggle 2.js +102 -0
- data/assets/js/nav-toggle.js +102 -0
- data/assets/js/no_defer 2.js +31 -0
- data/assets/js/no_defer.js +31 -0
- data/assets/js/progress-bar 2.js +69 -0
- data/assets/js/progress-bar.js +69 -0
- data/assets/js/search/hotkeys-js/hotkeys.esm.min 2.js +18 -0
- data/assets/js/search/hotkeys-js/hotkeys.esm.min.js +18 -0
- data/assets/js/search/lit/decorators.min 2.js +7 -0
- data/assets/js/search/lit/decorators.min.js +7 -0
- data/assets/js/search/lit/directives/class-map.min.js +7 -0
- data/assets/js/search/lit/directives/join.min.js +7 -0
- data/assets/js/search/lit/directives/live.min.js +7 -0
- data/assets/js/search/lit/directives/ref.min.js +7 -0
- data/assets/js/search/lit/directives/repeat.min.js +7 -0
- data/assets/js/search/lit/directives/unsafe-html.min.js +7 -0
- data/assets/js/search/lit/index.min 2.js +7 -0
- data/assets/js/search/lit/index.min.js +7 -0
- data/assets/js/search/lit-element/lit-element.min 2.js +12 -0
- data/assets/js/search/lit-element/lit-element.min.js +12 -0
- data/assets/js/search/lit-html/directives/class-map.min.js +22 -0
- data/assets/js/search/lit-html/directives/join.min.js +12 -0
- data/assets/js/search/lit-html/directives/live.min.js +28 -0
- data/assets/js/search/lit-html/directives/ref.min.js +32 -0
- data/assets/js/search/lit-html/directives/repeat.min.js +27 -0
- data/assets/js/search/lit-html/directives/unsafe-html.min.js +22 -0
- data/assets/js/search/lit-html/is-server.min 2.js +12 -0
- data/assets/js/search/lit-html/is-server.min.js +12 -0
- data/assets/js/search/lit-html/lit-html.min 2.js +12 -0
- data/assets/js/search/lit-html/lit-html.min.js +12 -0
- data/assets/js/search/reactive-element/decorators/custom-element.min.js +12 -0
- data/assets/js/search/reactive-element/decorators/event-options.min.js +12 -0
- data/assets/js/search/reactive-element/decorators/property.min.js +22 -0
- data/assets/js/search/reactive-element/decorators/query-all.min.js +17 -0
- data/assets/js/search/reactive-element/decorators/query-assigned-elements.min.js +17 -0
- data/assets/js/search/reactive-element/decorators/query-assigned-nodes.min.js +17 -0
- data/assets/js/search/reactive-element/decorators/query-async.min.js +17 -0
- data/assets/js/search/reactive-element/decorators/query.min.js +17 -0
- data/assets/js/search/reactive-element/decorators/state.min.js +27 -0
- data/assets/js/search/reactive-element/reactive-element.min 2.js +17 -0
- data/assets/js/search/reactive-element/reactive-element.min.js +17 -0
- data/assets/js/tabs.min 2.js +5 -0
- data/assets/js/tabs.min.js +5 -0
- data/assets/js/theme 2.js +329 -0
- data/assets/js/theme.js +329 -0
- data/assets/js/tooltips-setup 2.js +116 -0
- data/assets/js/tooltips-setup.js +116 -0
- data/assets/js/typograms 2.js +1341 -0
- data/assets/js/typograms.js +1341 -0
- data/assets/js/vanilla-back-to-top.min 2.js +1 -0
- data/assets/js/vanilla-back-to-top.min.js +1 -0
- data/assets/tailwind/app 2.css +855 -0
- data/assets/tailwind/app.css +855 -0
- data/assets/tailwind/bootstrap-compat.input 2.css +54 -0
- data/assets/tailwind/bootstrap-compat.input.css +54 -0
- data/assets/tailwind/input 2.css +2 -0
- data/assets/tailwind/input.css +2 -0
- data/lib/al_folio_core/version.rb +5 -0
- data/lib/al_folio_core.rb +282 -0
- data/migrations/1.0.0_to_1.1.0 2.yml +26 -0
- data/migrations/1.0.0_to_1.1.0.yml +26 -0
- data/migrations/1.1.0_to_1.2.0 2.yml +17 -0
- data/migrations/1.1.0_to_1.2.0.yml +17 -0
- metadata +393 -0
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
{% assign img_path = include.path | remove: '.jpg' | remove: '.jpeg' | remove: '.png' | remove: '.tiff' | remove: '.gif' %}
|
|
2
|
+
{% assign parts = include.path | split: '.' %}
|
|
3
|
+
{% assign ext = parts.last %}
|
|
4
|
+
|
|
5
|
+
<figure
|
|
6
|
+
{% if include.slot %}
|
|
7
|
+
slot="{{ include.slot }}"
|
|
8
|
+
{% endif %}
|
|
9
|
+
>
|
|
10
|
+
<picture>
|
|
11
|
+
<!-- Auto scaling with imagemagick -->
|
|
12
|
+
<!--
|
|
13
|
+
See https://www.debugbear.com/blog/responsive-images#w-descriptors-and-the-sizes-attribute and
|
|
14
|
+
https://developer.mozilla.org/en-US/docs/Learn/HTML/Multimedia_and_embedding/Responsive_images for info on defining 'sizes' for responsive images
|
|
15
|
+
-->
|
|
16
|
+
{% if site.imagemagick.enabled %}
|
|
17
|
+
{% unless include.avoid_scaling %}
|
|
18
|
+
<source
|
|
19
|
+
class="responsive-img-srcset"
|
|
20
|
+
{% if ext == 'gif' or ext == 'jpeg' or ext == 'jpg' or ext == 'png' or ext == 'tiff' %}
|
|
21
|
+
srcset="{% for i in site.imagemagick.widths %}{{ img_path | relative_url }}-{{ i }}.webp {{ i }}w,{% endfor %}"
|
|
22
|
+
type="image/webp"
|
|
23
|
+
{% else %}
|
|
24
|
+
srcset="{{ include.path | relative_url }}"
|
|
25
|
+
{% endif %}
|
|
26
|
+
{% if include.sizes %}
|
|
27
|
+
sizes="{{ include.sizes }}"
|
|
28
|
+
{% else %}
|
|
29
|
+
sizes="95vw"
|
|
30
|
+
{% endif %}
|
|
31
|
+
>
|
|
32
|
+
{% endunless %}
|
|
33
|
+
{% endif %}
|
|
34
|
+
<img
|
|
35
|
+
src="{% if include.url %}{{ include.url }}{% elsif include.cache_bust %}{{ include.path | relative_url | bust_file_cache }}{% else %}{{ include.path | relative_url }}{% endif %}"
|
|
36
|
+
{% if include.class %}
|
|
37
|
+
class="{{ include.class }}"
|
|
38
|
+
{% endif %}
|
|
39
|
+
{% if include.width %}
|
|
40
|
+
width="{{ include.width }}"
|
|
41
|
+
{% else %}
|
|
42
|
+
width="100%"
|
|
43
|
+
{% endif %}
|
|
44
|
+
{% if include.height %}
|
|
45
|
+
height="{{ include.height }}"
|
|
46
|
+
{% else %}
|
|
47
|
+
height="auto"
|
|
48
|
+
{% endif %}
|
|
49
|
+
{% if include['min-width'] or include['min-height'] or include['max-width'] or include['max-height'] %}
|
|
50
|
+
style="
|
|
51
|
+
{% if include['min-width'] %}
|
|
52
|
+
min-width: {{ include.min-width }};
|
|
53
|
+
{% endif %}
|
|
54
|
+
{% if include['min-height'] %}
|
|
55
|
+
min-height: {{ include.min-height }};
|
|
56
|
+
{% endif %}
|
|
57
|
+
{% if include['max-width'] %}
|
|
58
|
+
max-width: {{ include.max-width }};
|
|
59
|
+
{% endif %}
|
|
60
|
+
{% if include['max-height'] %}
|
|
61
|
+
max-height: {{ include.max-height }};
|
|
62
|
+
{% endif %}
|
|
63
|
+
"
|
|
64
|
+
{% endif %}
|
|
65
|
+
{% if include.alt %}
|
|
66
|
+
alt="{{ include.alt }}"
|
|
67
|
+
{% endif %}
|
|
68
|
+
{% if include.title %}
|
|
69
|
+
title="{{ include.title }}"
|
|
70
|
+
{% endif %}
|
|
71
|
+
{% if include.zoomable %}
|
|
72
|
+
data-zoomable
|
|
73
|
+
{% endif %}
|
|
74
|
+
{% if include.loading %}
|
|
75
|
+
loading="{{ include.loading }}"
|
|
76
|
+
{% elsif site.lazy_loading_images %}
|
|
77
|
+
loading="lazy"
|
|
78
|
+
{% endif %}
|
|
79
|
+
onerror="this.onerror=null; $('.responsive-img-srcset').remove();"
|
|
80
|
+
>
|
|
81
|
+
</picture>
|
|
82
|
+
|
|
83
|
+
{% if include.caption %}
|
|
84
|
+
<figcaption class="caption">{{ include.caption }}</figcaption>
|
|
85
|
+
{% endif %}
|
|
86
|
+
</figure>
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
{% capture footer_contents %}
|
|
2
|
+
© Copyright {{ site.time | date: '%Y' }}
|
|
3
|
+
{{ site.first_name }}
|
|
4
|
+
{{ site.middle_name }}
|
|
5
|
+
{{ site.last_name }}. {{ site.footer_text }}
|
|
6
|
+
{% if site.impressum_path %}
|
|
7
|
+
<a href="{{ site.url }}{{ site.baseurl }}{{ site.impressum_path }}">Impressum</a>.
|
|
8
|
+
{% endif %}
|
|
9
|
+
{% if site.last_updated %}
|
|
10
|
+
Last updated: {{ 'now' | date: '%B %d, %Y' }}.
|
|
11
|
+
{% endif %}
|
|
12
|
+
{% endcapture %}
|
|
13
|
+
|
|
14
|
+
{% if site.footer_fixed %}
|
|
15
|
+
<footer class="fixed-bottom" role="contentinfo">
|
|
16
|
+
<div class="container mt-0">
|
|
17
|
+
{{ footer_contents }}
|
|
18
|
+
</div>
|
|
19
|
+
</footer>
|
|
20
|
+
{% else %}
|
|
21
|
+
<footer class="sticky-bottom mt-5" role="contentinfo">
|
|
22
|
+
{% if site.newsletter.enabled %}
|
|
23
|
+
{% if site.plugins contains 'al_newsletter' %}
|
|
24
|
+
{% include plugins/al_newsletter_form_center.liquid %}
|
|
25
|
+
{% else %}
|
|
26
|
+
{% include newsletter.liquid %}
|
|
27
|
+
{% endif %}
|
|
28
|
+
{% endif %}
|
|
29
|
+
|
|
30
|
+
<div class="container">
|
|
31
|
+
{{ footer_contents }}
|
|
32
|
+
</div>
|
|
33
|
+
</footer>
|
|
34
|
+
{% endif %}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
{% capture footer_contents %}
|
|
2
|
+
© Copyright {{ site.time | date: '%Y' }}
|
|
3
|
+
{{ site.first_name }}
|
|
4
|
+
{{ site.middle_name }}
|
|
5
|
+
{{ site.last_name }}. {{ site.footer_text }}
|
|
6
|
+
{% if site.impressum_path %}
|
|
7
|
+
<a href="{{ site.url }}{{ site.baseurl }}{{ site.impressum_path }}">Impressum</a>.
|
|
8
|
+
{% endif %}
|
|
9
|
+
{% if site.last_updated %}
|
|
10
|
+
Last updated: {{ 'now' | date: '%B %d, %Y' }}.
|
|
11
|
+
{% endif %}
|
|
12
|
+
{% endcapture %}
|
|
13
|
+
|
|
14
|
+
{% if site.footer_fixed %}
|
|
15
|
+
<footer class="fixed-bottom" role="contentinfo">
|
|
16
|
+
<div class="container mt-0">
|
|
17
|
+
{{ footer_contents }}
|
|
18
|
+
</div>
|
|
19
|
+
</footer>
|
|
20
|
+
{% else %}
|
|
21
|
+
<footer class="sticky-bottom mt-5" role="contentinfo">
|
|
22
|
+
{% if site.newsletter.enabled %}
|
|
23
|
+
{% if site.plugins contains 'al_newsletter' %}
|
|
24
|
+
{% include plugins/al_newsletter_form_center.liquid %}
|
|
25
|
+
{% else %}
|
|
26
|
+
{% include newsletter.liquid %}
|
|
27
|
+
{% endif %}
|
|
28
|
+
{% endif %}
|
|
29
|
+
|
|
30
|
+
<div class="container">
|
|
31
|
+
{{ footer_contents }}
|
|
32
|
+
</div>
|
|
33
|
+
</footer>
|
|
34
|
+
{% endif %}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
<div
|
|
2
|
+
id="giscus_thread"
|
|
3
|
+
{% if page.layout == 'post' %}
|
|
4
|
+
style="max-width: {{ site.max_width }}; margin: 0 auto;"
|
|
5
|
+
{% endif %}
|
|
6
|
+
>
|
|
7
|
+
{% if page.layout == 'post' %}
|
|
8
|
+
<br>
|
|
9
|
+
{% endif %}
|
|
10
|
+
|
|
11
|
+
{% if site.giscus.repo %}
|
|
12
|
+
<script defer src="{{ '/assets/js/giscus-setup.js' | relative_url }}"></script>
|
|
13
|
+
<noscript>
|
|
14
|
+
Please enable JavaScript to view the
|
|
15
|
+
<a href="http://giscus.app/?ref_noscript">comments powered by giscus.</a>
|
|
16
|
+
</noscript>
|
|
17
|
+
{% else %}
|
|
18
|
+
{% capture giscus_warning %}
|
|
19
|
+
> ##### giscus comments misconfigured
|
|
20
|
+
> Please follow instructions at [http://giscus.app](http://giscus.app) and update your giscus configuration.
|
|
21
|
+
{: .block-danger }
|
|
22
|
+
{% endcapture %}
|
|
23
|
+
{{ giscus_warning | markdownify }}
|
|
24
|
+
{% endif %}
|
|
25
|
+
</div>
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
<div
|
|
2
|
+
id="giscus_thread"
|
|
3
|
+
{% if page.layout == 'post' %}
|
|
4
|
+
style="max-width: {{ site.max_width }}; margin: 0 auto;"
|
|
5
|
+
{% endif %}
|
|
6
|
+
>
|
|
7
|
+
{% if page.layout == 'post' %}
|
|
8
|
+
<br>
|
|
9
|
+
{% endif %}
|
|
10
|
+
|
|
11
|
+
{% if site.giscus.repo %}
|
|
12
|
+
<script defer src="{{ '/assets/js/giscus-setup.js' | relative_url }}"></script>
|
|
13
|
+
<noscript>
|
|
14
|
+
Please enable JavaScript to view the
|
|
15
|
+
<a href="http://giscus.app/?ref_noscript">comments powered by giscus.</a>
|
|
16
|
+
</noscript>
|
|
17
|
+
{% else %}
|
|
18
|
+
{% capture giscus_warning %}
|
|
19
|
+
> ##### giscus comments misconfigured
|
|
20
|
+
> Please follow instructions at [http://giscus.app](http://giscus.app) and update your giscus configuration.
|
|
21
|
+
{: .block-danger }
|
|
22
|
+
{% endcapture %}
|
|
23
|
+
{{ giscus_warning | markdownify }}
|
|
24
|
+
{% endif %}
|
|
25
|
+
</div>
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
<!-- Metadata, OpenGraph and Schema.org -->
|
|
2
|
+
{% include metadata.liquid %}
|
|
3
|
+
|
|
4
|
+
<!-- Security: Content Security Policy -->
|
|
5
|
+
<!-- Permissive CSP suitable for academic websites. Allows external images, videos, and common embed services. -->
|
|
6
|
+
<!-- To customize for your needs, see: https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP -->
|
|
7
|
+
<meta
|
|
8
|
+
http-equiv="Content-Security-Policy"
|
|
9
|
+
content="default-src 'self'; script-src 'self' 'unsafe-inline' https:; style-src 'self' 'unsafe-inline' https:; img-src 'self' data: https:; font-src 'self' data: https:; media-src 'self' https:; frame-src 'self' https:; connect-src 'self' https:;"
|
|
10
|
+
>
|
|
11
|
+
<style>
|
|
12
|
+
:root {
|
|
13
|
+
--max-content-width: {{ site.max_width | default: '930px' }};
|
|
14
|
+
}
|
|
15
|
+
</style>
|
|
16
|
+
|
|
17
|
+
<!-- Tailwind-first core styles -->
|
|
18
|
+
<link rel="stylesheet" href="{{ '/assets/css/tailwind.css' | relative_url | bust_file_cache }}">
|
|
19
|
+
|
|
20
|
+
{% if site.al_folio.compat.bootstrap.enabled %}
|
|
21
|
+
<!-- Optional Bootstrap compatibility layer -->
|
|
22
|
+
<link rel="stylesheet" href="{{ '/assets/css/bootstrap-compat.css' | relative_url | bust_file_cache }}">
|
|
23
|
+
{% endif %}
|
|
24
|
+
|
|
25
|
+
{% if page.pretty_table and site.al_folio.compat.bootstrap.enabled %}
|
|
26
|
+
<!-- Bootstrap Table -->
|
|
27
|
+
<link
|
|
28
|
+
defer
|
|
29
|
+
rel="stylesheet"
|
|
30
|
+
href="{{ site.third_party_libraries.bootstrap-table.url.css }}"
|
|
31
|
+
integrity="{{ site.third_party_libraries.bootstrap-table.integrity.css }}"
|
|
32
|
+
crossorigin="anonymous"
|
|
33
|
+
>
|
|
34
|
+
{% endif %}
|
|
35
|
+
|
|
36
|
+
<!-- Fonts & Icons -->
|
|
37
|
+
<link defer rel="stylesheet" href="{{ '/assets/css/academicons.min.css' | relative_url | bust_file_cache }}">
|
|
38
|
+
<link defer rel="stylesheet" href="{{ '/assets/css/scholar-icons.css' | relative_url | bust_file_cache }}">
|
|
39
|
+
<link
|
|
40
|
+
defer
|
|
41
|
+
rel="stylesheet"
|
|
42
|
+
type="text/css"
|
|
43
|
+
href="{{ site.third_party_libraries.google_fonts.url.fonts }}"
|
|
44
|
+
>
|
|
45
|
+
|
|
46
|
+
<!-- Code Syntax Highlighting -->
|
|
47
|
+
<link
|
|
48
|
+
defer
|
|
49
|
+
rel="stylesheet"
|
|
50
|
+
href="{{ '/assets/css/jekyll-pygments-themes-github.css' | relative_url | bust_file_cache }}"
|
|
51
|
+
media=""
|
|
52
|
+
id="highlight_theme_light"
|
|
53
|
+
>
|
|
54
|
+
|
|
55
|
+
<!-- Styles -->
|
|
56
|
+
|
|
57
|
+
{% if page.pseudocode %}
|
|
58
|
+
<!-- pseudocode -->
|
|
59
|
+
<link
|
|
60
|
+
defer
|
|
61
|
+
rel="stylesheet"
|
|
62
|
+
href="{{ site.third_party_libraries.pseudocode.url.css }}"
|
|
63
|
+
integrity="{{ site.third_party_libraries.pseudocode.integrity.css }}"
|
|
64
|
+
crossorigin="anonymous"
|
|
65
|
+
>
|
|
66
|
+
{% endif %}
|
|
67
|
+
|
|
68
|
+
{% if site.icon.size <= 4 %}
|
|
69
|
+
<link
|
|
70
|
+
rel="shortcut icon"
|
|
71
|
+
href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 100 100%22><text y=%22.9em%22 font-size=%2290%22>{{ site.icon }}</text></svg>"
|
|
72
|
+
>
|
|
73
|
+
{% elsif site.icon != blank %}
|
|
74
|
+
<link rel="shortcut icon" href="{{ site.icon | prepend: '/assets/img/' | relative_url | bust_file_cache}}">
|
|
75
|
+
{% endif %}
|
|
76
|
+
<link rel="stylesheet" href="{{ '/assets/css/main.css' | relative_url | bust_css_cache }}">
|
|
77
|
+
{% if page.layout == 'cv' and site.plugins contains 'al_folio_cv' and site.al_folio.features.cv.enabled != false %}
|
|
78
|
+
<link rel="stylesheet" href="{{ '/assets/css/al-folio-cv.css' | relative_url | bust_file_cache }}">
|
|
79
|
+
{% endif %}
|
|
80
|
+
<link rel="canonical" href="{{ page.url | replace:'index.html','' | absolute_url }}">
|
|
81
|
+
|
|
82
|
+
{% if site.enable_darkmode %}
|
|
83
|
+
<!-- Dark Mode -->
|
|
84
|
+
<script src="{{ '/assets/js/theme.js' | relative_url | bust_file_cache }}"></script>
|
|
85
|
+
<link
|
|
86
|
+
defer
|
|
87
|
+
rel="stylesheet"
|
|
88
|
+
href="{{ '/assets/css/jekyll-pygments-themes-native.css' | relative_url | bust_file_cache }}"
|
|
89
|
+
media="none"
|
|
90
|
+
id="highlight_theme_dark"
|
|
91
|
+
>
|
|
92
|
+
<script>
|
|
93
|
+
initTheme();
|
|
94
|
+
</script>
|
|
95
|
+
{% endif %}
|
|
96
|
+
|
|
97
|
+
{% if page.map %}
|
|
98
|
+
<!-- GeoJSON support via Leaflet -->
|
|
99
|
+
<link
|
|
100
|
+
defer
|
|
101
|
+
rel="stylesheet"
|
|
102
|
+
href="{{ site.third_party_libraries.leaflet.url.css }}"
|
|
103
|
+
integrity="{{ site.third_party_libraries.leaflet.integrity.css }}"
|
|
104
|
+
crossorigin="anonymous"
|
|
105
|
+
>
|
|
106
|
+
{% endif %}
|
|
107
|
+
|
|
108
|
+
{% if page.code_diff %}
|
|
109
|
+
<!-- diff2html -->
|
|
110
|
+
<link
|
|
111
|
+
defer
|
|
112
|
+
rel="stylesheet"
|
|
113
|
+
href="{{ site.third_party_libraries.highlightjs.url.css.light }}"
|
|
114
|
+
integrity="{{ site.third_party_libraries.highlightjs.integrity.css.light }}"
|
|
115
|
+
crossorigin="anonymous"
|
|
116
|
+
media="screen and (prefers-color-scheme: light)"
|
|
117
|
+
>
|
|
118
|
+
<link
|
|
119
|
+
defer
|
|
120
|
+
rel="stylesheet"
|
|
121
|
+
href="{{ site.third_party_libraries.highlightjs.url.css.dark }}"
|
|
122
|
+
integrity="{{ site.third_party_libraries.highlightjs.integrity.css.dark }}"
|
|
123
|
+
crossorigin="anonymous"
|
|
124
|
+
media="screen and (prefers-color-scheme: dark)"
|
|
125
|
+
>
|
|
126
|
+
<link
|
|
127
|
+
defer
|
|
128
|
+
rel="stylesheet"
|
|
129
|
+
href="{{ site.third_party_libraries.diff2html.url.css }}"
|
|
130
|
+
integrity="{{ site.third_party_libraries.diff2html.integrity.css }}"
|
|
131
|
+
crossorigin="anonymous"
|
|
132
|
+
>
|
|
133
|
+
{% endif %}
|
|
134
|
+
|
|
135
|
+
{% if site.plugins contains 'al_img_tools' %}
|
|
136
|
+
<!-- Image Features -->
|
|
137
|
+
{% include plugins/al_img_tools_styles.liquid %}
|
|
138
|
+
{% endif %}
|
|
139
|
+
|
|
140
|
+
{% if site.plugins contains 'al_math' %}
|
|
141
|
+
{% include plugins/al_math_styles.liquid %}
|
|
142
|
+
{% endif %}
|
|
143
|
+
|
|
144
|
+
{% if site.enable_cookie_consent and site.plugins contains 'al_cookie' %}
|
|
145
|
+
<!-- Cookie Consent -->
|
|
146
|
+
{% include plugins/al_cookie_styles.liquid %}
|
|
147
|
+
{% endif %}
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
<!-- Metadata, OpenGraph and Schema.org -->
|
|
2
|
+
{% include metadata.liquid %}
|
|
3
|
+
|
|
4
|
+
<!-- Security: Content Security Policy -->
|
|
5
|
+
<!-- Permissive CSP suitable for academic websites. Allows external images, videos, and common embed services. -->
|
|
6
|
+
<!-- To customize for your needs, see: https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP -->
|
|
7
|
+
<meta
|
|
8
|
+
http-equiv="Content-Security-Policy"
|
|
9
|
+
content="default-src 'self'; script-src 'self' 'unsafe-inline' https:; style-src 'self' 'unsafe-inline' https:; img-src 'self' data: https:; font-src 'self' data: https:; media-src 'self' https:; frame-src 'self' https:; connect-src 'self' https:;"
|
|
10
|
+
>
|
|
11
|
+
<style>
|
|
12
|
+
:root {
|
|
13
|
+
--max-content-width: {{ site.max_width | default: '930px' }};
|
|
14
|
+
}
|
|
15
|
+
</style>
|
|
16
|
+
|
|
17
|
+
<!-- Tailwind-first core styles -->
|
|
18
|
+
<link rel="stylesheet" href="{{ '/assets/css/tailwind.css' | relative_url | bust_file_cache }}">
|
|
19
|
+
|
|
20
|
+
{% if site.al_folio.compat.bootstrap.enabled %}
|
|
21
|
+
<!-- Optional Bootstrap compatibility layer -->
|
|
22
|
+
<link rel="stylesheet" href="{{ '/assets/css/bootstrap-compat.css' | relative_url | bust_file_cache }}">
|
|
23
|
+
{% endif %}
|
|
24
|
+
|
|
25
|
+
{% if page.pretty_table and site.al_folio.compat.bootstrap.enabled %}
|
|
26
|
+
<!-- Bootstrap Table -->
|
|
27
|
+
<link
|
|
28
|
+
defer
|
|
29
|
+
rel="stylesheet"
|
|
30
|
+
href="{{ site.third_party_libraries.bootstrap-table.url.css }}"
|
|
31
|
+
integrity="{{ site.third_party_libraries.bootstrap-table.integrity.css }}"
|
|
32
|
+
crossorigin="anonymous"
|
|
33
|
+
>
|
|
34
|
+
{% endif %}
|
|
35
|
+
|
|
36
|
+
<!-- Fonts & Icons -->
|
|
37
|
+
<link defer rel="stylesheet" href="{{ '/assets/css/academicons.min.css' | relative_url | bust_file_cache }}">
|
|
38
|
+
<link defer rel="stylesheet" href="{{ '/assets/css/scholar-icons.css' | relative_url | bust_file_cache }}">
|
|
39
|
+
<link
|
|
40
|
+
defer
|
|
41
|
+
rel="stylesheet"
|
|
42
|
+
type="text/css"
|
|
43
|
+
href="{{ site.third_party_libraries.google_fonts.url.fonts }}"
|
|
44
|
+
>
|
|
45
|
+
|
|
46
|
+
<!-- Code Syntax Highlighting -->
|
|
47
|
+
<link
|
|
48
|
+
defer
|
|
49
|
+
rel="stylesheet"
|
|
50
|
+
href="{{ '/assets/css/jekyll-pygments-themes-github.css' | relative_url | bust_file_cache }}"
|
|
51
|
+
media=""
|
|
52
|
+
id="highlight_theme_light"
|
|
53
|
+
>
|
|
54
|
+
|
|
55
|
+
<!-- Styles -->
|
|
56
|
+
|
|
57
|
+
{% if page.pseudocode %}
|
|
58
|
+
<!-- pseudocode -->
|
|
59
|
+
<link
|
|
60
|
+
defer
|
|
61
|
+
rel="stylesheet"
|
|
62
|
+
href="{{ site.third_party_libraries.pseudocode.url.css }}"
|
|
63
|
+
integrity="{{ site.third_party_libraries.pseudocode.integrity.css }}"
|
|
64
|
+
crossorigin="anonymous"
|
|
65
|
+
>
|
|
66
|
+
{% endif %}
|
|
67
|
+
|
|
68
|
+
{% if site.icon.size <= 4 %}
|
|
69
|
+
<link
|
|
70
|
+
rel="shortcut icon"
|
|
71
|
+
href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 100 100%22><text y=%22.9em%22 font-size=%2290%22>{{ site.icon }}</text></svg>"
|
|
72
|
+
>
|
|
73
|
+
{% elsif site.icon != blank %}
|
|
74
|
+
<link rel="shortcut icon" href="{{ site.icon | prepend: '/assets/img/' | relative_url | bust_file_cache}}">
|
|
75
|
+
{% endif %}
|
|
76
|
+
<link rel="stylesheet" href="{{ '/assets/css/main.css' | relative_url | bust_css_cache }}">
|
|
77
|
+
{% if page.layout == 'cv' and site.plugins contains 'al_folio_cv' and site.al_folio.features.cv.enabled != false %}
|
|
78
|
+
<link rel="stylesheet" href="{{ '/assets/css/al-folio-cv.css' | relative_url | bust_file_cache }}">
|
|
79
|
+
{% endif %}
|
|
80
|
+
<link rel="canonical" href="{{ page.url | replace:'index.html','' | absolute_url }}">
|
|
81
|
+
|
|
82
|
+
{% if site.enable_darkmode %}
|
|
83
|
+
<!-- Dark Mode -->
|
|
84
|
+
<script src="{{ '/assets/js/theme.js' | relative_url | bust_file_cache }}"></script>
|
|
85
|
+
<link
|
|
86
|
+
defer
|
|
87
|
+
rel="stylesheet"
|
|
88
|
+
href="{{ '/assets/css/jekyll-pygments-themes-native.css' | relative_url | bust_file_cache }}"
|
|
89
|
+
media="none"
|
|
90
|
+
id="highlight_theme_dark"
|
|
91
|
+
>
|
|
92
|
+
<script>
|
|
93
|
+
initTheme();
|
|
94
|
+
</script>
|
|
95
|
+
{% endif %}
|
|
96
|
+
|
|
97
|
+
{% if page.map %}
|
|
98
|
+
<!-- GeoJSON support via Leaflet -->
|
|
99
|
+
<link
|
|
100
|
+
defer
|
|
101
|
+
rel="stylesheet"
|
|
102
|
+
href="{{ site.third_party_libraries.leaflet.url.css }}"
|
|
103
|
+
integrity="{{ site.third_party_libraries.leaflet.integrity.css }}"
|
|
104
|
+
crossorigin="anonymous"
|
|
105
|
+
>
|
|
106
|
+
{% endif %}
|
|
107
|
+
|
|
108
|
+
{% if page.code_diff %}
|
|
109
|
+
<!-- diff2html -->
|
|
110
|
+
<link
|
|
111
|
+
defer
|
|
112
|
+
rel="stylesheet"
|
|
113
|
+
href="{{ site.third_party_libraries.highlightjs.url.css.light }}"
|
|
114
|
+
integrity="{{ site.third_party_libraries.highlightjs.integrity.css.light }}"
|
|
115
|
+
crossorigin="anonymous"
|
|
116
|
+
media="screen and (prefers-color-scheme: light)"
|
|
117
|
+
>
|
|
118
|
+
<link
|
|
119
|
+
defer
|
|
120
|
+
rel="stylesheet"
|
|
121
|
+
href="{{ site.third_party_libraries.highlightjs.url.css.dark }}"
|
|
122
|
+
integrity="{{ site.third_party_libraries.highlightjs.integrity.css.dark }}"
|
|
123
|
+
crossorigin="anonymous"
|
|
124
|
+
media="screen and (prefers-color-scheme: dark)"
|
|
125
|
+
>
|
|
126
|
+
<link
|
|
127
|
+
defer
|
|
128
|
+
rel="stylesheet"
|
|
129
|
+
href="{{ site.third_party_libraries.diff2html.url.css }}"
|
|
130
|
+
integrity="{{ site.third_party_libraries.diff2html.integrity.css }}"
|
|
131
|
+
crossorigin="anonymous"
|
|
132
|
+
>
|
|
133
|
+
{% endif %}
|
|
134
|
+
|
|
135
|
+
{% if site.plugins contains 'al_img_tools' %}
|
|
136
|
+
<!-- Image Features -->
|
|
137
|
+
{% include plugins/al_img_tools_styles.liquid %}
|
|
138
|
+
{% endif %}
|
|
139
|
+
|
|
140
|
+
{% if site.plugins contains 'al_math' %}
|
|
141
|
+
{% include plugins/al_math_styles.liquid %}
|
|
142
|
+
{% endif %}
|
|
143
|
+
|
|
144
|
+
{% if site.enable_cookie_consent and site.plugins contains 'al_cookie' %}
|
|
145
|
+
<!-- Cookie Consent -->
|
|
146
|
+
{% include plugins/al_cookie_styles.liquid %}
|
|
147
|
+
{% endif %}
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
<header>
|
|
2
|
+
<!-- Nav Bar -->
|
|
3
|
+
<nav id="navbar" class="navbar navbar-light navbar-expand-sm {% if site.navbar_fixed %}fixed-top{% else %}sticky-top{% endif %}" role="navigation">
|
|
4
|
+
<div class="container">
|
|
5
|
+
{% if page.permalink != '/' %}
|
|
6
|
+
<a class="navbar-brand title font-weight-lighter" href="{{ site.baseurl }}/">
|
|
7
|
+
{% if site.title == 'blank' %}
|
|
8
|
+
{% if site.first_name %}
|
|
9
|
+
<span class="font-weight-bold">
|
|
10
|
+
{{- site.first_name -}}
|
|
11
|
+
</span>
|
|
12
|
+
{% endif %}
|
|
13
|
+
{% if site.middle_name %}
|
|
14
|
+
{{- site.middle_name -}}
|
|
15
|
+
{% endif %}
|
|
16
|
+
{% if site.last_name %}
|
|
17
|
+
{{- site.last_name -}}
|
|
18
|
+
{% endif %}
|
|
19
|
+
{% else %}
|
|
20
|
+
{{- site.title -}}
|
|
21
|
+
{% endif %}
|
|
22
|
+
</a>
|
|
23
|
+
{% elsif site.enable_navbar_social %}
|
|
24
|
+
<!-- Social Icons -->
|
|
25
|
+
<div class="navbar-brand social">{% social_links %}</div>
|
|
26
|
+
{% endif %}
|
|
27
|
+
<!-- Navbar Toggle -->
|
|
28
|
+
<button
|
|
29
|
+
class="navbar-toggler collapsed ml-auto"
|
|
30
|
+
type="button"
|
|
31
|
+
data-nav-toggle="navbarNav"
|
|
32
|
+
aria-controls="navbarNav"
|
|
33
|
+
aria-expanded="false"
|
|
34
|
+
aria-label="Toggle navigation"
|
|
35
|
+
>
|
|
36
|
+
<span class="sr-only">Toggle navigation</span>
|
|
37
|
+
<span class="icon-bar top-bar"></span>
|
|
38
|
+
<span class="icon-bar middle-bar"></span>
|
|
39
|
+
<span class="icon-bar bottom-bar"></span>
|
|
40
|
+
</button>
|
|
41
|
+
|
|
42
|
+
<div class="collapse navbar-collapse text-right" id="navbarNav">
|
|
43
|
+
<ul class="navbar-nav ml-auto flex-nowrap">
|
|
44
|
+
{% for page in site.pages %}
|
|
45
|
+
{% if page.permalink == '/' %} {% assign about_title = page.title %} {% endif %}
|
|
46
|
+
{% endfor %}
|
|
47
|
+
|
|
48
|
+
<!-- About -->
|
|
49
|
+
<li class="nav-item {% if page.permalink == '/' %}active{% endif %}">
|
|
50
|
+
<a class="nav-link" href="{{ '/' | relative_url }}">
|
|
51
|
+
{{- about_title }}
|
|
52
|
+
{% if page.permalink == '/' %}
|
|
53
|
+
<span class="sr-only">(current)</span>
|
|
54
|
+
{% endif %}
|
|
55
|
+
</a>
|
|
56
|
+
</li>
|
|
57
|
+
|
|
58
|
+
<!-- Other pages -->
|
|
59
|
+
{% assign sorted_pages = site.pages | sort: 'nav_order' %}
|
|
60
|
+
{% for p in sorted_pages %}
|
|
61
|
+
{% if p.nav and p.autogen == null %}
|
|
62
|
+
{% if p.dropdown %}
|
|
63
|
+
{% assign has_active_child = false %}
|
|
64
|
+
{% for child in p.children %}
|
|
65
|
+
{% if page.title == child.title %}
|
|
66
|
+
{% assign has_active_child = true %}
|
|
67
|
+
{% endif %}
|
|
68
|
+
{% endfor %}
|
|
69
|
+
<li class="nav-item dropdown {% if page.title == p.title or has_active_child %}active{% endif %}">
|
|
70
|
+
<a
|
|
71
|
+
class="nav-link dropdown-toggle"
|
|
72
|
+
href="#"
|
|
73
|
+
id="navbarDropdown"
|
|
74
|
+
role="button"
|
|
75
|
+
data-nav-dropdown-toggle="true"
|
|
76
|
+
aria-haspopup="true"
|
|
77
|
+
aria-expanded="false"
|
|
78
|
+
>
|
|
79
|
+
{{- p.title }}
|
|
80
|
+
{% if page.title == p.title or has_active_child %}
|
|
81
|
+
<span class="sr-only">(current)</span>
|
|
82
|
+
{% endif %}
|
|
83
|
+
</a>
|
|
84
|
+
<div class="dropdown-menu dropdown-menu-right" aria-labelledby="navbarDropdown">
|
|
85
|
+
{% for child in p.children %}
|
|
86
|
+
{% if child.title == 'divider' %}
|
|
87
|
+
<div class="dropdown-divider"></div>
|
|
88
|
+
{% else %}
|
|
89
|
+
<a
|
|
90
|
+
class="dropdown-item {% if page.title == child.title %}active{% endif %}"
|
|
91
|
+
href="{% if child.permalink contains '://' %}{{ child.permalink }}{% else %}{{ child.permalink | relative_url }}{% endif %}"
|
|
92
|
+
>
|
|
93
|
+
{{- child.title -}}
|
|
94
|
+
</a>
|
|
95
|
+
{% endif %}
|
|
96
|
+
{% endfor %}
|
|
97
|
+
</div>
|
|
98
|
+
</li>
|
|
99
|
+
{% else %}
|
|
100
|
+
{% assign parent_link = p.permalink | remove: 'index.html' %}
|
|
101
|
+
<li class="nav-item {% if page.url contains parent_link %}active{% endif %}">
|
|
102
|
+
{%- if p.permalink contains '://' -%}
|
|
103
|
+
{%- assign url = p.permalink -%}
|
|
104
|
+
{%- elsif p.permalink contains '/blog/' -%}
|
|
105
|
+
{%- assign url = '/blog/' -%}
|
|
106
|
+
{%- else -%}
|
|
107
|
+
{%- assign url = p.url -%}
|
|
108
|
+
{%- endif %}
|
|
109
|
+
<a class="nav-link" href="{{ url | relative_url }}">
|
|
110
|
+
{{- p.title }}
|
|
111
|
+
{% if page.url contains p.url %}
|
|
112
|
+
<span class="sr-only">(current)</span>
|
|
113
|
+
{% endif %}
|
|
114
|
+
</a>
|
|
115
|
+
</li>
|
|
116
|
+
{% endif %}
|
|
117
|
+
{% endif %}
|
|
118
|
+
{% endfor %}
|
|
119
|
+
{% if site.search_enabled %}
|
|
120
|
+
<!-- Search -->
|
|
121
|
+
<li class="nav-item">
|
|
122
|
+
<button id="search-toggle" title="Search" onclick="openSearchModal()">
|
|
123
|
+
<span class="nav-link">ctrl k <i class="fa-solid fa-magnifying-glass"></i></span>
|
|
124
|
+
</button>
|
|
125
|
+
</li>
|
|
126
|
+
{% endif %}
|
|
127
|
+
{% if site.enable_darkmode %}
|
|
128
|
+
<!-- Toogle theme mode -->
|
|
129
|
+
<li class="toggle-container">
|
|
130
|
+
<button id="light-toggle" title="Change theme">
|
|
131
|
+
<i class="fa-half-sun-moon" id="light-toggle-system"></i>
|
|
132
|
+
<i class="fa-solid fa-moon" id="light-toggle-dark"></i>
|
|
133
|
+
<i class="fa-solid fa-sun" id="light-toggle-light"></i>
|
|
134
|
+
</button>
|
|
135
|
+
</li>
|
|
136
|
+
{% endif %}
|
|
137
|
+
</ul>
|
|
138
|
+
</div>
|
|
139
|
+
</div>
|
|
140
|
+
</nav>
|
|
141
|
+
{% if site.enable_progressbar %}
|
|
142
|
+
<!-- Scrolling Progress Bar -->
|
|
143
|
+
<progress id="progress" value="0">
|
|
144
|
+
<div class="progress-container">
|
|
145
|
+
<span class="progress-bar"></span>
|
|
146
|
+
</div>
|
|
147
|
+
</progress>
|
|
148
|
+
{% endif %}
|
|
149
|
+
</header>
|