format code with prettier.io (#2048)
summary: - adds prettier formatter configuration - formats the entire repo using prettier, ignoring minified files (`*.min.css`) and heavy generated html - changes extensions of all `.html` files to `.liquid`, which is more correct and necessary for prettier to work correctly - replaces "%-" and "-%" with just "%" — manual liquid formatting using minus signs is superfluous since we are compressing and minifying the code anyway - adds CI action for running prettier check on PR and pushes to master
This commit is contained in:
parent
60a09ed25c
commit
beb6f27d59
|
|
@ -1,7 +1,5 @@
|
||||||
{
|
{
|
||||||
"files": [
|
"files": ["README.md"],
|
||||||
"README.md"
|
|
||||||
],
|
|
||||||
"imageSize": 100,
|
"imageSize": 100,
|
||||||
"commit": false,
|
"commit": false,
|
||||||
"contributorsPerLine": 7,
|
"contributorsPerLine": 7,
|
||||||
|
|
@ -18,37 +16,28 @@
|
||||||
"name": "Maruan",
|
"name": "Maruan",
|
||||||
"avatar_url": "https://avatars.githubusercontent.com/u/2126561?v=4",
|
"avatar_url": "https://avatars.githubusercontent.com/u/2126561?v=4",
|
||||||
"profile": "http://maruan.alshedivat.com",
|
"profile": "http://maruan.alshedivat.com",
|
||||||
"contributions": [
|
"contributions": ["design", "code"]
|
||||||
"design",
|
|
||||||
"code"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"login": "rohandebsarkar",
|
"login": "rohandebsarkar",
|
||||||
"name": "Rohan Deb Sarkar",
|
"name": "Rohan Deb Sarkar",
|
||||||
"avatar_url": "https://avatars.githubusercontent.com/u/50144004?v=4",
|
"avatar_url": "https://avatars.githubusercontent.com/u/50144004?v=4",
|
||||||
"profile": "http://rohandebsarkar.github.io",
|
"profile": "http://rohandebsarkar.github.io",
|
||||||
"contributions": [
|
"contributions": ["code"]
|
||||||
"code"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"login": "pourmand1376",
|
"login": "pourmand1376",
|
||||||
"name": "Amir Pourmand",
|
"name": "Amir Pourmand",
|
||||||
"avatar_url": "https://avatars.githubusercontent.com/u/32064808?v=4",
|
"avatar_url": "https://avatars.githubusercontent.com/u/32064808?v=4",
|
||||||
"profile": "https://amirpourmand.ir",
|
"profile": "https://amirpourmand.ir",
|
||||||
"contributions": [
|
"contributions": ["code"]
|
||||||
"code"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"login": "george-gca",
|
"login": "george-gca",
|
||||||
"name": "George",
|
"name": "George",
|
||||||
"avatar_url": "https://avatars.githubusercontent.com/u/31376482?v=4",
|
"avatar_url": "https://avatars.githubusercontent.com/u/31376482?v=4",
|
||||||
"profile": "https://george-gca.github.io/",
|
"profile": "https://george-gca.github.io/",
|
||||||
"contributions": [
|
"contributions": ["code"]
|
||||||
"code"
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"commitConvention": "angular"
|
"commitConvention": "angular"
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,13 @@
|
||||||
---
|
---
|
||||||
name: Bug report
|
name: Bug report
|
||||||
about: Create a report to help us improve
|
about: Create a report to help us improve
|
||||||
title: ''
|
title: ""
|
||||||
labels: bug
|
labels: bug
|
||||||
assignees: ''
|
assignees: ""
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
**Acknowledge the following**
|
**Acknowledge the following**
|
||||||
|
|
||||||
- [ ] I carefully read and followed the [Getting Started](https://github.com/alshedivat/al-folio#getting-started) guide.
|
- [ ] I carefully read and followed the [Getting Started](https://github.com/alshedivat/al-folio#getting-started) guide.
|
||||||
- [ ] I read through [FAQ](https://github.com/alshedivat/al-folio#faq) and searched through the [past issues](https://github.com/alshedivat/al-folio/issues), none of which addressed my issue.
|
- [ ] I read through [FAQ](https://github.com/alshedivat/al-folio#faq) and searched through the [past issues](https://github.com/alshedivat/al-folio/issues), none of which addressed my issue.
|
||||||
- [ ] The issue I am raising is a potential bug in al-folio and not just a usage question. <br> [For usage questions, please post in the [Discussions](https://github.com/alshedivat/al-folio/discussions) instead of raising an issue.]
|
- [ ] The issue I am raising is a potential bug in al-folio and not just a usage question. <br> [For usage questions, please post in the [Discussions](https://github.com/alshedivat/al-folio/discussions) instead of raising an issue.]
|
||||||
|
|
@ -17,6 +17,7 @@ A clear and concise description of what the bug is.
|
||||||
|
|
||||||
**To Reproduce**
|
**To Reproduce**
|
||||||
Steps to reproduce the behavior:
|
Steps to reproduce the behavior:
|
||||||
|
|
||||||
1. Go to '...'
|
1. Go to '...'
|
||||||
2. Click on '....'
|
2. Click on '....'
|
||||||
3. Scroll down to '....'
|
3. Scroll down to '....'
|
||||||
|
|
@ -29,9 +30,10 @@ A clear and concise description of what you expected to happen.
|
||||||
If applicable, add screenshots to help explain your problem.
|
If applicable, add screenshots to help explain your problem.
|
||||||
|
|
||||||
**System (please complete the following information):**
|
**System (please complete the following information):**
|
||||||
- OS: [e.g. iOS]
|
|
||||||
- Browser (and its version) [e.g. chrome, safari]
|
- OS: [e.g. iOS]
|
||||||
- Jekyll version [e.g. 3.8.7]
|
- Browser (and its version) [e.g. chrome, safari]
|
||||||
|
- Jekyll version [e.g. 3.8.7]
|
||||||
- Ruby version [e.g. 2.6.5]
|
- Ruby version [e.g. 2.6.5]
|
||||||
|
|
||||||
**Additional context**
|
**Additional context**
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,9 @@
|
||||||
---
|
---
|
||||||
name: Feature request
|
name: Feature request
|
||||||
about: Suggest an idea for this project
|
about: Suggest an idea for this project
|
||||||
title: ''
|
title: ""
|
||||||
labels: enhancement
|
labels: enhancement
|
||||||
assignees: ''
|
assignees: ""
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
**Is your feature request related to a problem? Please describe.**
|
**Is your feature request related to a problem? Please describe.**
|
||||||
|
|
|
||||||
|
|
@ -3,43 +3,39 @@ name: Docker Image CI (Upload Tag)
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
tags:
|
tags:
|
||||||
- 'v*'
|
- "v*"
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
|
|
||||||
build:
|
build:
|
||||||
|
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
- name: Set up QEMU
|
- name: Set up QEMU
|
||||||
uses: docker/setup-qemu-action@v2
|
uses: docker/setup-qemu-action@v2
|
||||||
|
|
||||||
- name: Buildx
|
- name: Buildx
|
||||||
uses: docker/setup-buildx-action@v2
|
uses: docker/setup-buildx-action@v2
|
||||||
|
|
||||||
-
|
- name: Docker meta
|
||||||
name: Docker meta
|
id: meta
|
||||||
id: meta
|
uses: docker/metadata-action@v4
|
||||||
uses: docker/metadata-action@v4
|
with:
|
||||||
with:
|
images: amirpourmand/al-folio
|
||||||
images: amirpourmand/al-folio
|
|
||||||
|
|
||||||
- name: Login
|
- name: Login
|
||||||
uses: docker/login-action@v2
|
uses: docker/login-action@v2
|
||||||
with:
|
with:
|
||||||
username: ${{ secrets.DOCKER_USERNAME }}
|
username: ${{ secrets.DOCKER_USERNAME }}
|
||||||
password: ${{ secrets.DOCKER_PASSWORD }}
|
password: ${{ secrets.DOCKER_PASSWORD }}
|
||||||
|
|
||||||
- name: Build and push
|
|
||||||
uses: docker/build-push-action@v3
|
|
||||||
with:
|
|
||||||
context: .
|
|
||||||
platforms: linux/amd64,linux/arm64/v8
|
|
||||||
push: ${{ github.event_name != 'pull_request' }}
|
|
||||||
tags: ${{ steps.meta.outputs.tags }}
|
|
||||||
labels: ${{ steps.meta.outputs.labels }}
|
|
||||||
|
|
||||||
|
- name: Build and push
|
||||||
|
uses: docker/build-push-action@v3
|
||||||
|
with:
|
||||||
|
context: .
|
||||||
|
platforms: linux/amd64,linux/arm64/v8
|
||||||
|
push: ${{ github.event_name != 'pull_request' }}
|
||||||
|
tags: ${{ steps.meta.outputs.tags }}
|
||||||
|
labels: ${{ steps.meta.outputs.labels }}
|
||||||
|
|
|
||||||
|
|
@ -2,35 +2,33 @@ name: Docker Image CI
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches: [ master ]
|
branches: [master]
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
|
|
||||||
build:
|
build:
|
||||||
|
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
if: github.repository_owner == 'alshedivat'
|
if: github.repository_owner == 'alshedivat'
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
- name: Set up QEMU
|
- name: Set up QEMU
|
||||||
uses: docker/setup-qemu-action@v2
|
uses: docker/setup-qemu-action@v2
|
||||||
|
|
||||||
- name: Buildx
|
- name: Buildx
|
||||||
uses: docker/setup-buildx-action@v2
|
uses: docker/setup-buildx-action@v2
|
||||||
|
|
||||||
- name: Login
|
- name: Login
|
||||||
uses: docker/login-action@v2
|
uses: docker/login-action@v2
|
||||||
with:
|
with:
|
||||||
username: ${{ secrets.DOCKER_USERNAME }}
|
username: ${{ secrets.DOCKER_USERNAME }}
|
||||||
password: ${{ secrets.DOCKER_PASSWORD }}
|
password: ${{ secrets.DOCKER_PASSWORD }}
|
||||||
|
|
||||||
- name: Build and push
|
- name: Build and push
|
||||||
uses: docker/build-push-action@v4
|
uses: docker/build-push-action@v4
|
||||||
with:
|
with:
|
||||||
context: .
|
context: .
|
||||||
push: true
|
push: true
|
||||||
platforms: linux/amd64,linux/arm64/v8
|
platforms: linux/amd64,linux/arm64/v8
|
||||||
tags: amirpourmand/al-folio
|
tags: amirpourmand/al-folio
|
||||||
|
|
|
||||||
|
|
@ -19,31 +19,30 @@ jobs:
|
||||||
# available images: https://github.com/actions/runner-images#available-images
|
# available images: https://github.com/actions/runner-images#available-images
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout 🛎️
|
- name: Checkout 🛎️
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
- name: Setup Ruby
|
- name: Setup Ruby
|
||||||
uses: ruby/setup-ruby@v1
|
uses: ruby/setup-ruby@v1
|
||||||
with:
|
with:
|
||||||
ruby-version: '3.2.2'
|
ruby-version: "3.2.2"
|
||||||
bundler-cache: true
|
bundler-cache: true
|
||||||
- name: Update _config.yml ⚙️
|
- name: Update _config.yml ⚙️
|
||||||
uses: fjogeleit/yaml-update-action@v0.13.1
|
uses: fjogeleit/yaml-update-action@v0.13.1
|
||||||
with:
|
with:
|
||||||
commitChange: false
|
commitChange: false
|
||||||
valueFile: '_config.yml'
|
valueFile: "_config.yml"
|
||||||
propertyPath: 'giscus.repo'
|
propertyPath: "giscus.repo"
|
||||||
value: ${{ github.repository }}
|
value: ${{ github.repository }}
|
||||||
- name: Install and Build 🔧
|
- name: Install and Build 🔧
|
||||||
run: |
|
run: |
|
||||||
pip3 install --upgrade jupyter
|
pip3 install --upgrade jupyter
|
||||||
npm install -g mermaid.cli
|
npm install -g mermaid.cli
|
||||||
npm install -g purgecss
|
npm install -g purgecss
|
||||||
export JEKYLL_ENV=production
|
export JEKYLL_ENV=production
|
||||||
bundle exec jekyll build --lsi
|
bundle exec jekyll build --lsi
|
||||||
purgecss -c purgecss.config.js
|
purgecss -c purgecss.config.js
|
||||||
- name: Deploy 🚀
|
- name: Deploy 🚀
|
||||||
if: github.event_name != 'pull_request'
|
if: github.event_name != 'pull_request'
|
||||||
uses: JamesIves/github-pages-deploy-action@v4
|
uses: JamesIves/github-pages-deploy-action@v4
|
||||||
with:
|
with:
|
||||||
folder: _site
|
folder: _site
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -22,30 +22,30 @@ jobs:
|
||||||
working-directory: ${{ github.workspace }}
|
working-directory: ${{ github.workspace }}
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
- name: Login
|
- name: Login
|
||||||
uses: docker/login-action@v2
|
uses: docker/login-action@v2
|
||||||
with:
|
with:
|
||||||
username: ${{ secrets.DOCKER_USERNAME }}
|
username: ${{ secrets.DOCKER_USERNAME }}
|
||||||
password: ${{ secrets.DOCKER_PASSWORD }}
|
password: ${{ secrets.DOCKER_PASSWORD }}
|
||||||
|
|
||||||
- name: update docker-compose
|
- name: update docker-compose
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
sed -i "s|\.:|${{ github.workspace }}:|g" ${{ github.workspace }}/docker-compose.yml
|
sed -i "s|\.:|${{ github.workspace }}:|g" ${{ github.workspace }}/docker-compose.yml
|
||||||
cat ${{ github.workspace }}/docker-compose.yml
|
cat ${{ github.workspace }}/docker-compose.yml
|
||||||
|
|
||||||
- uses: kitabisa/docker-slim-action@v1.0.3
|
- uses: kitabisa/docker-slim-action@v1.0.3
|
||||||
env:
|
env:
|
||||||
DSLIM_PULL: true
|
DSLIM_PULL: true
|
||||||
DSLIM_COMPOSE_FILE: ${{ github.workspace }}/docker-compose.yml
|
DSLIM_COMPOSE_FILE: ${{ github.workspace }}/docker-compose.yml
|
||||||
DSLIM_TARGET_COMPOSE_SVC: jekyll
|
DSLIM_TARGET_COMPOSE_SVC: jekyll
|
||||||
DSLIM_CONTINUE_AFTER: signal
|
DSLIM_CONTINUE_AFTER: signal
|
||||||
with:
|
with:
|
||||||
target: amirpourmand/al-folio
|
target: amirpourmand/al-folio
|
||||||
tag: "slim"
|
tag: "slim"
|
||||||
|
|
||||||
# Push to the registry
|
# Push to the registry
|
||||||
- run: docker image push amirpourmand/al-folio:slim
|
- run: docker image push amirpourmand/al-folio:slim
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,26 @@
|
||||||
|
name: prettier
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
- main
|
||||||
|
pull_request:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
- main
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
check:
|
||||||
|
# available images: https://github.com/actions/runner-images#available-images
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout 🛎️
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
- name: Setup Node.js ⚙️
|
||||||
|
uses: actions/setup-node@v4
|
||||||
|
- name: Install Prettier 💾
|
||||||
|
run: npm install --save-dev --save-exact prettier @shopify/prettier-plugin-liquid
|
||||||
|
- name: Prettier Check 🔎
|
||||||
|
run: npx prettier . --check
|
||||||
|
|
@ -7,5 +7,6 @@ _site
|
||||||
.ruby-version
|
.ruby-version
|
||||||
.tweet-cache
|
.tweet-cache
|
||||||
Gemfile.lock
|
Gemfile.lock
|
||||||
|
node_modules/
|
||||||
vendor
|
vendor
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,10 @@
|
||||||
# See https://pre-commit.com for more information
|
# See https://pre-commit.com for more information
|
||||||
# See https://pre-commit.com/hooks.html for more hooks
|
# See https://pre-commit.com/hooks.html for more hooks
|
||||||
repos:
|
repos:
|
||||||
- repo: https://github.com/pre-commit/pre-commit-hooks
|
- repo: https://github.com/pre-commit/pre-commit-hooks
|
||||||
rev: v4.3.0
|
rev: v4.3.0
|
||||||
hooks:
|
hooks:
|
||||||
- id: trailing-whitespace
|
- id: trailing-whitespace
|
||||||
- id: end-of-file-fixer
|
- id: end-of-file-fixer
|
||||||
- id: check-yaml
|
- id: check-yaml
|
||||||
- id: check-added-large-files
|
- id: check-added-large-files
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
*.min.css
|
||||||
|
assets/css/main.scss
|
||||||
|
assets/plotly/demo.html
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
plugins: ["@shopify/prettier-plugin-liquid"]
|
||||||
|
printWidth: 150
|
||||||
|
trailingComma: "es5"
|
||||||
|
|
@ -5,5 +5,4 @@ title: "Page not found"
|
||||||
description: "Looks like there has been a mistake. Nothing exists here."
|
description: "Looks like there has been a mistake. Nothing exists here."
|
||||||
redirect: true
|
redirect: true
|
||||||
---
|
---
|
||||||
|
|
||||||
<p>You will be redirected to the main page within 3 seconds. If not redirected, please go back to the <a href="{{ site.baseurl }}/">home page</a>.</p>
|
<p>You will be redirected to the main page within 3 seconds. If not redirected, please go back to the <a href="{{ site.baseurl }}/">home page</a>.</p>
|
||||||
|
|
@ -1,25 +1,26 @@
|
||||||
# Contributing to al-folio
|
# Contributing to al-folio
|
||||||
|
|
||||||
Thank you for considering to contribute to al-folio!
|
Thank you for considering to contribute to al-folio!
|
||||||
|
|
||||||
|
|
||||||
## Pull Requests
|
## Pull Requests
|
||||||
|
|
||||||
We welcome your pull requests (PRs).
|
We welcome your pull requests (PRs).
|
||||||
For minor fixes (e.g., documentation improvements), feel free to submit a PR directly.
|
For minor fixes (e.g., documentation improvements), feel free to submit a PR directly.
|
||||||
If you would like to implement a new feature or a bug, please make sure you (or someone else) has opened an appropriate issue first; in your PR, please mention the issue it addresses.
|
If you would like to implement a new feature or a bug, please make sure you (or someone else) has opened an appropriate issue first; in your PR, please mention the issue it addresses.
|
||||||
|
|
||||||
|
|
||||||
## Issues
|
## Issues
|
||||||
|
|
||||||
We use GitHub issues to track bugs and feature requests.
|
We use GitHub issues to track bugs and feature requests.
|
||||||
Before submitting an issue, please make sure:
|
Before submitting an issue, please make sure:
|
||||||
|
|
||||||
1. You have read [the FAQ section](https://github.com/alshedivat/al-folio#faq) of the README and your question is NOT addressed there.
|
1. You have read [the FAQ section](https://github.com/alshedivat/al-folio#faq) of the README and your question is NOT addressed there.
|
||||||
2. You have done your best to ensure that your issue is NOT a duplicate of one of [the previous issues](https://github.com/alshedivat/al-folio/issues).
|
2. You have done your best to ensure that your issue is NOT a duplicate of one of [the previous issues](https://github.com/alshedivat/al-folio/issues).
|
||||||
3. Your issue is either a bug (unexpected/undesirable behavior) or a feature request.
|
3. Your issue is either a bug (unexpected/undesirable behavior) or a feature request.
|
||||||
If it is just a question, please ask it in the [Discussions](https://github.com/alshedivat/al-folio/discussions) forum.
|
If it is just a question, please ask it in the [Discussions](https://github.com/alshedivat/al-folio/discussions) forum.
|
||||||
|
|
||||||
When submitting an issue, please make sure to use the appropriate template.
|
When submitting an issue, please make sure to use the appropriate template.
|
||||||
|
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
By contributing to al-folio, you agree that your contributions will be licensed
|
By contributing to al-folio, you agree that your contributions will be licensed
|
||||||
under the LICENSE file in the root directory of the source tree.
|
under the LICENSE file in the root directory of the source tree.
|
||||||
|
|
|
||||||
34
CUSTOMIZE.md
34
CUSTOMIZE.md
|
|
@ -36,7 +36,7 @@ The project is structured as follows, focusing on the main components that you w
|
||||||
|
|
||||||
## Configuration
|
## Configuration
|
||||||
|
|
||||||
The configuration file [_config.yml](_config.yml) contains the main configuration of the website. Most of the settings is self-explanatory and we also tried to add as much comments as possible. If you have any questions, please check if it was not already answered in the [FAQ](FAQ.md).
|
The configuration file [\_config.yml](_config.yml) contains the main configuration of the website. Most of the settings is self-explanatory and we also tried to add as much comments as possible. If you have any questions, please check if it was not already answered in the [FAQ](FAQ.md).
|
||||||
|
|
||||||
> Note that the `url` and `baseurl` settings are used to generate the links of the website, as explained in the [install instructions](INSTALL.md).
|
> Note that the `url` and `baseurl` settings are used to generate the links of the website, as explained in the [install instructions](INSTALL.md).
|
||||||
|
|
||||||
|
|
@ -44,47 +44,47 @@ All changes made to this file are only visible after you rebuild the website. Th
|
||||||
|
|
||||||
## Modifying the CV information
|
## Modifying the CV information
|
||||||
|
|
||||||
There are currently 2 different ways of generating the CV page content. The first one is by using a json file located in [assets/json/resume.json](assets/json/resume.json). It is a [known standard](https://jsonresume.org/) for creating a CV programmatically. The second one, currently used as a fallback when the json file is not found, is by using a yml file located in [_data/cv.yml](_data/cv.yml). This was the original way of creating the CV page content and since it is more human readable than a json file we decided to keep it as an option.
|
There are currently 2 different ways of generating the CV page content. The first one is by using a json file located in [assets/json/resume.json](assets/json/resume.json). It is a [known standard](https://jsonresume.org/) for creating a CV programmatically. The second one, currently used as a fallback when the json file is not found, is by using a yml file located in [\_data/cv.yml](_data/cv.yml). This was the original way of creating the CV page content and since it is more human readable than a json file we decided to keep it as an option.
|
||||||
|
|
||||||
What this means is, if there is no resume data defined in [_config.yml](_config.yml) and loaded via a json file, it will load the contents of [_data/cv.yml](_data/cv.yml). If you want to use the [_data/cv.yml](_data/cv.yml) file as the source of your CV, you must delete the [assets/json/resume.json](assets/json/resume.json) file.
|
What this means is, if there is no resume data defined in [\_config.yml](_config.yml) and loaded via a json file, it will load the contents of [\_data/cv.yml](_data/cv.yml). If you want to use the [\_data/cv.yml](_data/cv.yml) file as the source of your CV, you must delete the [assets/json/resume.json](assets/json/resume.json) file.
|
||||||
|
|
||||||
## Modifying the user and repository information
|
## Modifying the user and repository information
|
||||||
|
|
||||||
The user and repository information is defined in [_data/repositories.yml](_data/repositories.yml). You can add as many users and repositories as you want. Both informations are used in the `repositories` section.
|
The user and repository information is defined in [\_data/repositories.yml](_data/repositories.yml). You can add as many users and repositories as you want. Both informations are used in the `repositories` section.
|
||||||
|
|
||||||
## Creating new pages
|
## Creating new pages
|
||||||
|
|
||||||
You can create new pages by adding new Markdown files in the [_pages](_pages/) directory. The easiest way to do this is to copy an existing page and modify it. You can choose the layout of the page in the [frontmatter](https://jekyllrb.com/docs/front-matter/) of the Markdown file. You can also add new layouts in the [_layouts](_layouts/) directory if you feel the need for it.
|
You can create new pages by adding new Markdown files in the [\_pages](_pages/) directory. The easiest way to do this is to copy an existing page and modify it. You can choose the layout of the page in the [frontmatter](https://jekyllrb.com/docs/front-matter/) of the Markdown file. You can also add new layouts in the [\_layouts](_layouts/) directory if you feel the need for it.
|
||||||
|
|
||||||
## Creating new blog posts
|
## Creating new blog posts
|
||||||
|
|
||||||
To create a new blog post, you can add a new Markdown file in the [_posts](_posts/) directory. The name of the file must follow the format `YYYY-MM-DD-title.md`. The easiest way to do this is to copy an existing blog post and modify it. Note that some blog posts have optional fields in the [frontmatter](https://jekyllrb.com/docs/front-matter/) that are used to enable specific behaviors or functions.
|
To create a new blog post, you can add a new Markdown file in the [\_posts](_posts/) directory. The name of the file must follow the format `YYYY-MM-DD-title.md`. The easiest way to do this is to copy an existing blog post and modify it. Note that some blog posts have optional fields in the [frontmatter](https://jekyllrb.com/docs/front-matter/) that are used to enable specific behaviors or functions.
|
||||||
|
|
||||||
If you want to create blog posts that are not ready to be published, but you want to track it with git, you can create a [_drafts](https://jekyllrb.com/docs/posts/#drafts) directory and store them there.
|
If you want to create blog posts that are not ready to be published, but you want to track it with git, you can create a [\_drafts](https://jekyllrb.com/docs/posts/#drafts) directory and store them there.
|
||||||
|
|
||||||
## Creating new projects
|
## Creating new projects
|
||||||
|
|
||||||
You can create new projects by adding new Markdown files in the [_projects](_projects/) directory. The easiest way to do this is to copy an existing project and modify it.
|
You can create new projects by adding new Markdown files in the [\_projects](_projects/) directory. The easiest way to do this is to copy an existing project and modify it.
|
||||||
|
|
||||||
## Adding some news
|
## Adding some news
|
||||||
|
|
||||||
You can add news in the about page by adding new Markdown files in the [_news](_news/) directory. There are currently two types of news: inline news and news with a link. News with a link take you to a new page while inline news are displayed directly in the about page. The easiest way to create yours is to copy an existing news and modify it.
|
You can add news in the about page by adding new Markdown files in the [\_news](_news/) directory. There are currently two types of news: inline news and news with a link. News with a link take you to a new page while inline news are displayed directly in the about page. The easiest way to create yours is to copy an existing news and modify it.
|
||||||
|
|
||||||
## Adding Collections
|
## Adding Collections
|
||||||
|
|
||||||
This Jekyll theme implements `collections` to let you break up your work into categories. The theme comes with two default collections: `news` and `projects`. Items from the `news` collection are automatically displayed on the home page. Items from the `projects` collection are displayed on a responsive grid on projects page.
|
This Jekyll theme implements `collections` to let you break up your work into categories. The theme comes with two default collections: `news` and `projects`. Items from the `news` collection are automatically displayed on the home page. Items from the `projects` collection are displayed on a responsive grid on projects page.
|
||||||
|
|
||||||
You can easily create your own collections, apps, short stories, courses, or whatever your creative work is. To do this, edit the collections in the [_config.yml](_config.yml) file, create a corresponding folder, and create a landing page for your collection, similar to [_pages/projects.md](_pages/projects.md).
|
You can easily create your own collections, apps, short stories, courses, or whatever your creative work is. To do this, edit the collections in the [\_config.yml](_config.yml) file, create a corresponding folder, and create a landing page for your collection, similar to [\_pages/projects.md](_pages/projects.md).
|
||||||
|
|
||||||
## Adding a new publication
|
## Adding a new publication
|
||||||
|
|
||||||
To add publications create a new entry in the [_bibliography/papers.bib](_bibliography/papers.bib) file. You can find the BibTeX entry of a publication in Google Scholar by clicking on the quotation marks below the publication title, then clicking on "BibTeX", or also in the conference page itself. By default, the publications will be sorted by year and the most recent will be displayed first. You can change this behavior and more in the `Jekyll Scholar` section in [_config.yml](_config.yml) file.
|
To add publications create a new entry in the [\_bibliography/papers.bib](_bibliography/papers.bib) file. You can find the BibTeX entry of a publication in Google Scholar by clicking on the quotation marks below the publication title, then clicking on "BibTeX", or also in the conference page itself. By default, the publications will be sorted by year and the most recent will be displayed first. You can change this behavior and more in the `Jekyll Scholar` section in [\_config.yml](_config.yml) file.
|
||||||
|
|
||||||
You can add extra information to a publication, like a PDF file in the `assets/pdfs/` directory and add the path to the PDF file in the BibTeX entry with the `pdf` field. Some of the supported fields are: `abstract`, `altmetric`, `arxiv`, `bibtex_show`, `blog`, `code`, `dimensions`, `doi`, `eprint`, `html`, `isbn`, `pdf`, `pmid`, `poster`, `slides`, `supp`, `video`, and `website`.
|
You can add extra information to a publication, like a PDF file in the `assets/pdfs/` directory and add the path to the PDF file in the BibTeX entry with the `pdf` field. Some of the supported fields are: `abstract`, `altmetric`, `arxiv`, `bibtex_show`, `blog`, `code`, `dimensions`, `doi`, `eprint`, `html`, `isbn`, `pdf`, `pmid`, `poster`, `slides`, `supp`, `video`, and `website`.
|
||||||
|
|
||||||
### Author annotation
|
### Author annotation
|
||||||
|
|
||||||
In publications, the author entry for yourself is identified by string array `scholar:last_name` and string array `scholar:first_name` in [_config.yml](_config.yml). For example, if you have the following entry in your [_config.yml](_config.yml):
|
In publications, the author entry for yourself is identified by string array `scholar:last_name` and string array `scholar:first_name` in [\_config.yml](_config.yml). For example, if you have the following entry in your [\_config.yml](_config.yml):
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
scholar:
|
scholar:
|
||||||
|
|
@ -92,7 +92,7 @@ scholar:
|
||||||
first_name: [Albert, A.]
|
first_name: [Albert, A.]
|
||||||
```
|
```
|
||||||
|
|
||||||
If the entry matches one form of the last names and the first names, it will be underlined. Keep meta-information about your co-authors in [_data/coauthors.yml](_data/coauthors.yml) and Jekyll will insert links to their webpages automatically. The co-author data format is as follows,
|
If the entry matches one form of the last names and the first names, it will be underlined. Keep meta-information about your co-authors in [\_data/coauthors.yml](_data/coauthors.yml) and Jekyll will insert links to their webpages automatically. The co-author data format is as follows,
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
"Adams":
|
"Adams":
|
||||||
|
|
@ -121,7 +121,7 @@ If the entry matches one of the combinations of the last names and the first nam
|
||||||
|
|
||||||
There are several custom bibtex keywords that you can use to affect how the entries are displayed on the webpage:
|
There are several custom bibtex keywords that you can use to affect how the entries are displayed on the webpage:
|
||||||
|
|
||||||
- `abbr`: Adds an abbreviation to the left of the entry. You can add links to these by creating a venue.yaml-file in the _data folder and adding entries that match.
|
- `abbr`: Adds an abbreviation to the left of the entry. You can add links to these by creating a venue.yaml-file in the \_data folder and adding entries that match.
|
||||||
- `abstract`: Adds an "Abs" button that expands a hidden text field when clicked to show the abstract text
|
- `abstract`: Adds an "Abs" button that expands a hidden text field when clicked to show the abstract text
|
||||||
- `altmetric`: Adds an [Altmetric](https://www.altmetric.com/) badge (Note: if DOI is provided just use `true`, otherwise only add the altmetric identifier here - the link is generated automatically)
|
- `altmetric`: Adds an [Altmetric](https://www.altmetric.com/) badge (Note: if DOI is provided just use `true`, otherwise only add the altmetric identifier here - the link is generated automatically)
|
||||||
- `arxiv`: Adds a link to the Arxiv website (Note: only add the arxiv identifier here - the link is generated automatically)
|
- `arxiv`: Adds a link to the Arxiv website (Note: only add the arxiv identifier here - the link is generated automatically)
|
||||||
|
|
@ -136,12 +136,12 @@ There are several custom bibtex keywords that you can use to affect how the entr
|
||||||
- `supp`: Adds a "Supp" button to a specified file (if a full link is not specified, the file will be assumed to be placed in the /assets/pdf/ directory)
|
- `supp`: Adds a "Supp" button to a specified file (if a full link is not specified, the file will be assumed to be placed in the /assets/pdf/ directory)
|
||||||
- `website`: Adds a "Website" button redirecting to the specified link
|
- `website`: Adds a "Website" button redirecting to the specified link
|
||||||
|
|
||||||
You can implement your own buttons by editing the [_layouts/bib.html](_layouts/bib.html) file.
|
You can implement your own buttons by editing the [\_layouts/bib.html](_layouts/bib.html) file.
|
||||||
|
|
||||||
## Changing theme color
|
## Changing theme color
|
||||||
|
|
||||||
A variety of beautiful theme colors have been selected for you to choose from. The default is purple, but you can quickly change it by editing the `--global-theme-color` variable in the [_sass/_themes.scss](_sass/_themes.scss) file. Other color variables are listed there as well. The stock theme color options available can be found at [_sass/_variables.scss](_sass/_variables.scss). You can also add your own colors to this file assigning each a name for ease of use across the template.
|
A variety of beautiful theme colors have been selected for you to choose from. The default is purple, but you can quickly change it by editing the `--global-theme-color` variable in the [\_sass/\_themes.scss](_sass/_themes.scss) file. Other color variables are listed there as well. The stock theme color options available can be found at [\_sass/\_variables.scss](_sass/_variables.scss). You can also add your own colors to this file assigning each a name for ease of use across the template.
|
||||||
|
|
||||||
## Adding social media information
|
## Adding social media information
|
||||||
|
|
||||||
You can add your social media links by adding the specified information at the `Social integration` section in the [_config.yml](_config.yml) file. This information will appear at the bottom of the `About` page.
|
You can add your social media links by adding the specified information at the `Social integration` section in the [\_config.yml](_config.yml) file. This information will appear at the bottom of the `About` page.
|
||||||
|
|
|
||||||
|
|
@ -55,13 +55,13 @@ $ docker compose up --build
|
||||||
If you want to use a specific docker version, you can do so by changing `latest` tag to `your_version` in `docker-compose.yaml`. For example, you might have created your website on `v0.10.0` and you want to stick with that.
|
If you want to use a specific docker version, you can do so by changing `latest` tag to `your_version` in `docker-compose.yaml`. For example, you might have created your website on `v0.10.0` and you want to stick with that.
|
||||||
|
|
||||||
- Beta
|
- Beta
|
||||||
You can also change the docker image tag to slim! It is a slimmed docker image with a size of below 100MBs (same functionality).
|
You can also change the docker image tag to slim! It is a slimmed docker image with a size of below 100MBs (same functionality).
|
||||||
|
|
||||||
## Local Setup (Legacy)
|
## Local Setup (Legacy)
|
||||||
|
|
||||||
For a hands-on walkthrough of running al-folio locally without using Docker, check out [this cool blog post](https://george-gca.github.io/blog/2022/running-local-al-folio/) by one of the community members!
|
For a hands-on walkthrough of running al-folio locally without using Docker, check out [this cool blog post](https://george-gca.github.io/blog/2022/running-local-al-folio/) by one of the community members!
|
||||||
|
|
||||||
Assuming you have [Ruby](https://www.ruby-lang.org/en/downloads/) and [Bundler](https://bundler.io/) installed on your system (*hint: for ease of managing ruby gems, consider using [rbenv](https://github.com/rbenv/rbenv)*), and also [Python](https://www.python.org/) and [pip](https://pypi.org/project/pip/) (*hint: for ease of managing python packages, consider using a virtual environment, like [venv](https://docs.python.org/pt-br/3/library/venv.html) or [conda](https://docs.conda.io/en/latest/)*).
|
Assuming you have [Ruby](https://www.ruby-lang.org/en/downloads/) and [Bundler](https://bundler.io/) installed on your system (_hint: for ease of managing ruby gems, consider using [rbenv](https://github.com/rbenv/rbenv)_), and also [Python](https://www.python.org/) and [pip](https://pypi.org/project/pip/) (_hint: for ease of managing python packages, consider using a virtual environment, like [venv](https://docs.python.org/pt-br/3/library/venv.html) or [conda](https://docs.conda.io/en/latest/)_).
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ bundle install
|
$ bundle install
|
||||||
|
|
@ -170,9 +170,9 @@ Then go to Actions -> New workflow -> set up a workflow yourself, setup the foll
|
||||||
```yaml
|
```yaml
|
||||||
name: Sync from template
|
name: Sync from template
|
||||||
on:
|
on:
|
||||||
# cronjob trigger
|
# cronjob trigger
|
||||||
schedule:
|
schedule:
|
||||||
- cron: "0 0 1 * *"
|
- cron: "0 0 1 * *"
|
||||||
# manual trigger
|
# manual trigger
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
jobs:
|
jobs:
|
||||||
|
|
|
||||||
39
README.md
39
README.md
|
|
@ -232,9 +232,9 @@ This template has a built-in light/dark mode. It detects the user preferred colo
|
||||||
|
|
||||||
### CV
|
### CV
|
||||||
|
|
||||||
There are currently 2 different ways of generating the CV page content. The first one is by using a json file located in [assets/json/resume.json](assets/json/resume.json). It is a [known standard](https://jsonresume.org/) for creating a CV programmatically. The second one, currently used as a fallback when the json file is not found, is by using a yml file located in [_data/cv.yml](_data/cv.yml). This was the original way of creating the CV page content and since it is more human readable than a json file we decided to keep it as an option.
|
There are currently 2 different ways of generating the CV page content. The first one is by using a json file located in [assets/json/resume.json](assets/json/resume.json). It is a [known standard](https://jsonresume.org/) for creating a CV programmatically. The second one, currently used as a fallback when the json file is not found, is by using a yml file located in [\_data/cv.yml](_data/cv.yml). This was the original way of creating the CV page content and since it is more human readable than a json file we decided to keep it as an option.
|
||||||
|
|
||||||
What this means is, if there is no resume data defined in [_config.yml](_config.yml) and loaded via a json file, it will load the contents of [_data/cv.yml](_data/cv.yml) as fallback.
|
What this means is, if there is no resume data defined in [\_config.yml](_config.yml) and loaded via a json file, it will load the contents of [\_data/cv.yml](_data/cv.yml) as fallback.
|
||||||
|
|
||||||
[](https://alshedivat.github.io/al-folio/cv/)
|
[](https://alshedivat.github.io/al-folio/cv/)
|
||||||
|
|
||||||
|
|
@ -250,7 +250,7 @@ You can create a people page if you want to feature more than one person. Each p
|
||||||
|
|
||||||
### Publications
|
### Publications
|
||||||
|
|
||||||
Your publications' page is generated automatically from your BibTex bibliography. Simply edit [_bibliography/papers.bib](_bibliography/papers.bib). You can also add new `*.bib` files and customize the look of your publications however you like by editing [_pages/publications.md](_pages/publications.md). By default, the publications will be sorted by year and the most recent will be displayed first. You can change this behavior and more in the `Jekyll Scholar` section in [_config.yml](_config.yml) file.
|
Your publications' page is generated automatically from your BibTex bibliography. Simply edit [\_bibliography/papers.bib](_bibliography/papers.bib). You can also add new `*.bib` files and customize the look of your publications however you like by editing [\_pages/publications.md](_pages/publications.md). By default, the publications will be sorted by year and the most recent will be displayed first. You can change this behavior and more in the `Jekyll Scholar` section in [\_config.yml](_config.yml) file.
|
||||||
|
|
||||||
You can add extra information to a publication, like a PDF file in the [assets/pdf/](assets/pdf/) directory and add the path to the PDF file in the BibTeX entry with the `pdf` field. Some of the supported fields are: `abstract`, `altmetric`, `arxiv`, `bibtex_show`, `blog`, `code`, `dimensions`, `doi`, `eprint`, `html`, `isbn`, `pdf`, `pmid`, `poster`, `slides`, `supp`, `video`, and `website`.
|
You can add extra information to a publication, like a PDF file in the [assets/pdf/](assets/pdf/) directory and add the path to the PDF file in the BibTeX entry with the `pdf` field. Some of the supported fields are: `abstract`, `altmetric`, `arxiv`, `bibtex_show`, `blog`, `code`, `dimensions`, `doi`, `eprint`, `html`, `isbn`, `pdf`, `pmid`, `poster`, `slides`, `supp`, `video`, and `website`.
|
||||||
|
|
||||||
|
|
@ -264,7 +264,7 @@ This Jekyll theme implements `collections` to let you break up your work into ca
|
||||||
|
|
||||||
[](https://alshedivat.github.io/al-folio/projects/)
|
[](https://alshedivat.github.io/al-folio/projects/)
|
||||||
|
|
||||||
You can easily create your own collections, apps, short stories, courses, or whatever your creative work is. To do this, edit the collections in the [_config.yml](_config.yml) file, create a corresponding folder, and create a landing page for your collection, similar to `_pages/projects.md`.
|
You can easily create your own collections, apps, short stories, courses, or whatever your creative work is. To do this, edit the collections in the [\_config.yml](_config.yml) file, create a corresponding folder, and create a landing page for your collection, similar to `_pages/projects.md`.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
@ -317,30 +317,23 @@ You may also use the following codes for displaying this in any other pages.
|
||||||
<!-- code for GitHub users -->
|
<!-- code for GitHub users -->
|
||||||
{% if site.data.repositories.github_users %}
|
{% if site.data.repositories.github_users %}
|
||||||
<div class="repositories d-flex flex-wrap flex-md-row flex-column justify-content-between align-items-center">
|
<div class="repositories d-flex flex-wrap flex-md-row flex-column justify-content-between align-items-center">
|
||||||
{% for user in site.data.repositories.github_users %}
|
{% for user in site.data.repositories.github_users %} {% include repository/repo_user.html username=user %} {% endfor %}
|
||||||
{% include repository/repo_user.html username=user %}
|
|
||||||
{% endfor %}
|
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<!-- code for GitHub trophies -->
|
<!-- code for GitHub trophies -->
|
||||||
{% if site.repo_trophies.enabled %}
|
{% if site.repo_trophies.enabled %} {% for user in site.data.repositories.github_users %} {% if site.data.repositories.github_users.size > 1 %}
|
||||||
{% for user in site.data.repositories.github_users %}
|
<h4>{{ user }}</h4>
|
||||||
{% if site.data.repositories.github_users.size > 1 %}
|
|
||||||
<h4>{{ user }}</h4>
|
|
||||||
{% endif %}
|
|
||||||
<div class="repositories d-flex flex-wrap flex-md-row flex-column justify-content-between align-items-center">
|
|
||||||
{% include repository/repo_trophies.html username=user %}
|
|
||||||
</div>
|
|
||||||
{% endfor %}
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
<div class="repositories d-flex flex-wrap flex-md-row flex-column justify-content-between align-items-center">
|
||||||
|
{% include repository/repo_trophies.html username=user %}
|
||||||
|
</div>
|
||||||
|
{% endfor %} {% endif %}
|
||||||
|
|
||||||
<!-- code for GitHub repositories -->
|
<!-- code for GitHub repositories -->
|
||||||
{% if site.data.repositories.github_repos %}
|
{% if site.data.repositories.github_repos %}
|
||||||
<div class="repositories d-flex flex-wrap flex-md-row flex-column justify-content-between align-items-center">
|
<div class="repositories d-flex flex-wrap flex-md-row flex-column justify-content-between align-items-center">
|
||||||
{% for repo in site.data.repositories.github_repos %}
|
{% for repo in site.data.repositories.github_repos %} {% include repository/repo.html repository=repo %} {% endfor %}
|
||||||
{% include repository/repo.html repository=repo %}
|
|
||||||
{% endfor %}
|
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
```
|
```
|
||||||
|
|
@ -349,15 +342,15 @@ You may also use the following codes for displaying this in any other pages.
|
||||||
|
|
||||||
#### Theming
|
#### Theming
|
||||||
|
|
||||||
A variety of beautiful theme colors have been selected for you to choose from. The default is purple, but you can quickly change it by editing the `--global-theme-color` variable in the `_sass/_themes.scss` file. Other color variables are listed there as well. The stock theme color options available can be found at [_sass/_variables.scss](_sass/_variables.scss). You can also add your own colors to this file assigning each a name for ease of use across the template.
|
A variety of beautiful theme colors have been selected for you to choose from. The default is purple, but you can quickly change it by editing the `--global-theme-color` variable in the `_sass/_themes.scss` file. Other color variables are listed there as well. The stock theme color options available can be found at [\_sass/\_variables.scss](_sass/_variables.scss). You can also add your own colors to this file assigning each a name for ease of use across the template.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
#### Social media previews
|
#### Social media previews
|
||||||
|
|
||||||
**al-folio** supports preview images on social media. To enable this functionality you will need to set `serve_og_meta` to `true` in your [_config.yml](_config.yml). Once you have done so, all your site's pages will include Open Graph data in the HTML head element.
|
**al-folio** supports preview images on social media. To enable this functionality you will need to set `serve_og_meta` to `true` in your [\_config.yml](_config.yml). Once you have done so, all your site's pages will include Open Graph data in the HTML head element.
|
||||||
|
|
||||||
You will then need to configure what image to display in your site's social media previews. This can be configured on a per-page basis, by setting the `og_image` page variable. If for an individual page this variable is not set, then the theme will fall back to a site-wide `og_image` variable, configurable in your [_config.yml](_config.yml). In both the page-specific and site-wide cases, the `og_image` variable needs to hold the URL for the image you wish to display in social media previews.
|
You will then need to configure what image to display in your site's social media previews. This can be configured on a per-page basis, by setting the `og_image` page variable. If for an individual page this variable is not set, then the theme will fall back to a site-wide `og_image` variable, configurable in your [\_config.yml](_config.yml). In both the page-specific and site-wide cases, the `og_image` variable needs to hold the URL for the image you wish to display in social media previews.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
@ -369,7 +362,7 @@ It generates an Atom (RSS-like) feed of your posts, useful for Atom and RSS read
|
||||||
|
|
||||||
#### Related posts
|
#### Related posts
|
||||||
|
|
||||||
By default, there will be a related posts section on the bottom of the blog posts. These are generated by selecting the `max_related` most recent posts that share at least `min_common_tags` tags with the current post. If you do not want to display related posts on a specific post, simply add `related_posts: false` to the front matter of the post. If you want to disable it for all posts, simply set `enabled` to false in the `related_blog_posts` section in [_config.yml](_config.yml).
|
By default, there will be a related posts section on the bottom of the blog posts. These are generated by selecting the `max_related` most recent posts that share at least `min_common_tags` tags with the current post. If you do not want to display related posts on a specific post, simply add `related_posts: false` to the front matter of the post. If you want to disable it for all posts, simply set `enabled` to false in the `related_blog_posts` section in [\_config.yml](_config.yml).
|
||||||
|
|
||||||
## FAQ
|
## FAQ
|
||||||
|
|
||||||
|
|
|
||||||
91
_config.yml
91
_config.yml
|
|
@ -13,27 +13,26 @@ footer_text: >
|
||||||
Powered by <a href="https://jekyllrb.com/" target="_blank">Jekyll</a> with <a href="https://github.com/alshedivat/al-folio">al-folio</a> theme.
|
Powered by <a href="https://jekyllrb.com/" target="_blank">Jekyll</a> with <a href="https://github.com/alshedivat/al-folio">al-folio</a> theme.
|
||||||
Hosted by <a href="https://pages.github.com/" target="_blank">GitHub Pages</a>.
|
Hosted by <a href="https://pages.github.com/" target="_blank">GitHub Pages</a>.
|
||||||
Photos from <a href="https://unsplash.com" target="_blank">Unsplash</a>.
|
Photos from <a href="https://unsplash.com" target="_blank">Unsplash</a>.
|
||||||
keywords: jekyll, jekyll-theme, academic-website, portfolio-website # add your own keywords or leave empty
|
keywords: jekyll, jekyll-theme, academic-website, portfolio-website # add your own keywords or leave empty
|
||||||
|
|
||||||
lang: en # the language of your site (for example: en, fr, cn, ru, etc.)
|
lang: en # the language of your site (for example: en, fr, cn, ru, etc.)
|
||||||
icon: ⚛️ # the emoji used as the favicon (alternatively, provide image name in /assets/img/)
|
icon: ⚛️ # the emoji used as the favicon (alternatively, provide image name in /assets/img/)
|
||||||
|
|
||||||
url: https://alshedivat.github.io # the base hostname & protocol for your site
|
url: https://alshedivat.github.io # the base hostname & protocol for your site
|
||||||
baseurl: /al-folio # the subpath of your site, e.g. /blog/. Leave blank for root
|
baseurl: /al-folio # the subpath of your site, e.g. /blog/. Leave blank for root
|
||||||
last_updated: false # set to true if you want to display last updated in the footer
|
last_updated: false # set to true if you want to display last updated in the footer
|
||||||
impressum_path: # set to path to include impressum link in the footer, use the same path as permalink in a page, helps to conform with EU GDPR
|
impressum_path: # set to path to include impressum link in the footer, use the same path as permalink in a page, helps to conform with EU GDPR
|
||||||
|
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
# Theme
|
# Theme
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
|
|
||||||
# repo color theme
|
# repo color theme
|
||||||
repo_theme_light: default # https://github.com/anuraghazra/github-readme-stats/blob/master/themes/README.md
|
repo_theme_light: default # https://github.com/anuraghazra/github-readme-stats/blob/master/themes/README.md
|
||||||
repo_theme_dark: dark # https://github.com/anuraghazra/github-readme-stats/blob/master/themes/README.md
|
repo_theme_dark: dark # https://github.com/anuraghazra/github-readme-stats/blob/master/themes/README.md
|
||||||
repo_trophies:
|
repo_trophies:
|
||||||
enabled: true
|
enabled: true
|
||||||
theme_light: flat # https://github.com/ryo-ma/github-profile-trophy
|
theme_light: flat # https://github.com/ryo-ma/github-profile-trophy
|
||||||
theme_dark: gitdimmed # https://github.com/ryo-ma/github-profile-trophy
|
theme_dark: gitdimmed # https://github.com/ryo-ma/github-profile-trophy
|
||||||
|
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
# RSS Feed
|
# RSS Feed
|
||||||
|
|
@ -113,12 +112,12 @@ contact_note: >
|
||||||
|
|
||||||
# For Google Analytics, see https://support.google.com/analytics/answer/10447272?hl=en&ref_topic=14088998&sjid=5129943941510317771-SA#zippy=%2Cgoogle-sites
|
# For Google Analytics, see https://support.google.com/analytics/answer/10447272?hl=en&ref_topic=14088998&sjid=5129943941510317771-SA#zippy=%2Cgoogle-sites
|
||||||
# and follow the instructions for Google Sites. You will need to create a Google Analytics property and copy the Google tag ID.
|
# and follow the instructions for Google Sites. You will need to create a Google Analytics property and copy the Google tag ID.
|
||||||
google_analytics: # your Google Analytics measurement ID (format: G-XXXXXXXXXX)
|
google_analytics: # your Google Analytics measurement ID (format: G-XXXXXXXXXX)
|
||||||
cronitor_analytics: # cronitor RUM analytics site ID (format: XXXXXXXXX)
|
cronitor_analytics: # cronitor RUM analytics site ID (format: XXXXXXXXX)
|
||||||
|
|
||||||
# For Google Search Console, see https://support.google.com/webmasters/answer/9008080?hl=en#meta_tag_verification&zippy=%2Chtml-tag
|
# For Google Search Console, see https://support.google.com/webmasters/answer/9008080?hl=en#meta_tag_verification&zippy=%2Chtml-tag
|
||||||
google_site_verification: # your google-site-verification ID (Google Search Console)
|
google_site_verification: # your google-site-verification ID (Google Search Console)
|
||||||
bing_site_verification: # out your bing-site-verification ID (Bing Webmaster)
|
bing_site_verification: # out your bing-site-verification ID (Bing Webmaster)
|
||||||
|
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
# Blog
|
# Blog
|
||||||
|
|
@ -139,15 +138,15 @@ related_blog_posts:
|
||||||
# Giscus comments (RECOMMENDED)
|
# Giscus comments (RECOMMENDED)
|
||||||
# Follow instructions on https://giscus.app/ to setup for your repo to fill out the information below.
|
# Follow instructions on https://giscus.app/ to setup for your repo to fill out the information below.
|
||||||
giscus:
|
giscus:
|
||||||
repo: # <your-github-user-name>/<your-github-repo-name>
|
repo: # <your-github-user-name>/<your-github-repo-name>
|
||||||
repo_id: # leave empty or specify your repo_id (see https://giscus.app/)
|
repo_id: # leave empty or specify your repo_id (see https://giscus.app/)
|
||||||
category: Comments # name of the category under which discussions will be created
|
category: Comments # name of the category under which discussions will be created
|
||||||
category_id: # leave empty or specify your category_id (see https://giscus.app/)
|
category_id: # leave empty or specify your category_id (see https://giscus.app/)
|
||||||
mapping: title # identify discussions by post title
|
mapping: title # identify discussions by post title
|
||||||
strict: 1 # use strict identification mode
|
strict: 1 # use strict identification mode
|
||||||
reactions_enabled: 1 # enable (1) or disable (0) emoji reactions
|
reactions_enabled: 1 # enable (1) or disable (0) emoji reactions
|
||||||
input_position: bottom # whether to display input form below (bottom) or above (top) the comments
|
input_position: bottom # whether to display input form below (bottom) or above (top) the comments
|
||||||
theme: preferred_color_scheme # name of the color scheme (preferred works well with al-folio light/dark mode)
|
theme: preferred_color_scheme # name of the color scheme (preferred works well with al-folio light/dark mode)
|
||||||
emit_metadata: 0
|
emit_metadata: 0
|
||||||
lang: en
|
lang: en
|
||||||
|
|
||||||
|
|
@ -196,7 +195,7 @@ highlighter: rouge
|
||||||
kramdown:
|
kramdown:
|
||||||
input: GFM
|
input: GFM
|
||||||
syntax_highlighter_opts:
|
syntax_highlighter_opts:
|
||||||
css_class: 'highlight'
|
css_class: "highlight"
|
||||||
span:
|
span:
|
||||||
line_numbers: false
|
line_numbers: false
|
||||||
block:
|
block:
|
||||||
|
|
@ -204,7 +203,7 @@ kramdown:
|
||||||
start_line: 1
|
start_line: 1
|
||||||
|
|
||||||
# Includes & excludes
|
# Includes & excludes
|
||||||
include: ['_pages']
|
include: ["_pages"]
|
||||||
exclude:
|
exclude:
|
||||||
- bin
|
- bin
|
||||||
- Gemfile
|
- Gemfile
|
||||||
|
|
@ -247,7 +246,7 @@ sass:
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
|
|
||||||
jekyll-minifier:
|
jekyll-minifier:
|
||||||
exclude: ['robots.txt']
|
exclude: ["robots.txt"]
|
||||||
uglifier_args:
|
uglifier_args:
|
||||||
harmony: true
|
harmony: true
|
||||||
|
|
||||||
|
|
@ -262,19 +261,18 @@ jekyll-archives:
|
||||||
tag: archive-tag
|
tag: archive-tag
|
||||||
category: archive-category
|
category: archive-category
|
||||||
permalinks:
|
permalinks:
|
||||||
year: '/blog/:year/'
|
year: "/blog/:year/"
|
||||||
tag: '/blog/tag/:name/'
|
tag: "/blog/tag/:name/"
|
||||||
category: '/blog/category/:name/'
|
category: "/blog/category/:name/"
|
||||||
|
|
||||||
display_tags: ['formatting', 'images', 'links', 'math', 'code'] # these tags will be displayed on the front page of your blog
|
display_tags: ["formatting", "images", "links", "math", "code"] # these tags will be displayed on the front page of your blog
|
||||||
display_categories: ['blockquotes'] # these categories will be displayed on the front page of your blog
|
display_categories: ["blockquotes"] # these categories will be displayed on the front page of your blog
|
||||||
|
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
# Jekyll Scholar
|
# Jekyll Scholar
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
|
|
||||||
scholar:
|
scholar:
|
||||||
|
|
||||||
last_name: [Einstein]
|
last_name: [Einstein]
|
||||||
first_name: [Albert, A.]
|
first_name: [Albert, A.]
|
||||||
|
|
||||||
|
|
@ -306,11 +304,12 @@ enable_publication_badges:
|
||||||
dimensions: true # Dimensions badge (https://badge.dimensions.ai/)
|
dimensions: true # Dimensions badge (https://badge.dimensions.ai/)
|
||||||
|
|
||||||
# Filter out certain bibtex entry keywords used internally from the bib output
|
# Filter out certain bibtex entry keywords used internally from the bib output
|
||||||
filtered_bibtex_keywords: [abbr, abstract, altmetric, arxiv, bibtex_show, blog, code, html, pdf, poster, preview, selected, slides, supp, video, website]
|
filtered_bibtex_keywords:
|
||||||
|
[abbr, abstract, altmetric, arxiv, bibtex_show, blog, code, html, pdf, poster, preview, selected, slides, supp, video, website]
|
||||||
|
|
||||||
# Maximum number of authors to be shown for each publication (more authors are visible on click)
|
# Maximum number of authors to be shown for each publication (more authors are visible on click)
|
||||||
max_author_limit: 3 # leave blank to always show all authors
|
max_author_limit: 3 # leave blank to always show all authors
|
||||||
more_authors_animation_delay: 10 # more authors are revealed on click using animation; smaller delay means faster animation
|
more_authors_animation_delay: 10 # more authors are revealed on click using animation; smaller delay means faster animation
|
||||||
|
|
||||||
# Enables publication thumbnails. If disabled, none of the publications will display thumbnails, even if specified in the bib entry.
|
# Enables publication thumbnails. If disabled, none of the publications will display thumbnails, even if specified in the bib entry.
|
||||||
enable_publication_thumbnails: true
|
enable_publication_thumbnails: true
|
||||||
|
|
@ -326,7 +325,6 @@ external_links:
|
||||||
target: _blank
|
target: _blank
|
||||||
exclude:
|
exclude:
|
||||||
|
|
||||||
|
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
# Responsive WebP Images
|
# Responsive WebP Images
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
|
|
@ -350,23 +348,22 @@ imagemagick:
|
||||||
output_formats:
|
output_formats:
|
||||||
webp: "-quality 85"
|
webp: "-quality 85"
|
||||||
|
|
||||||
|
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
# Optional Features
|
# Optional Features
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
|
|
||||||
enable_google_analytics: false # enables google analytics
|
enable_google_analytics: false # enables google analytics
|
||||||
enable_cronitor_analytics: false # enables cronitor RUM analytics
|
enable_cronitor_analytics: false # enables cronitor RUM analytics
|
||||||
enable_google_verification: false # enables google site verification
|
enable_google_verification: false # enables google site verification
|
||||||
enable_bing_verification: false # enables bing site verification
|
enable_bing_verification: false # enables bing site verification
|
||||||
enable_masonry: true # enables automatic project cards arrangement
|
enable_masonry: true # enables automatic project cards arrangement
|
||||||
enable_math: true # enables math typesetting (uses MathJax)
|
enable_math: true # enables math typesetting (uses MathJax)
|
||||||
enable_tooltips: false # enables automatic tooltip links generated for each section titles on pages and posts
|
enable_tooltips: false # enables automatic tooltip links generated for each section titles on pages and posts
|
||||||
enable_darkmode: true # enables switching between light/dark modes
|
enable_darkmode: true # enables switching between light/dark modes
|
||||||
enable_navbar_social: false # enables displaying social links in the navbar on the about page
|
enable_navbar_social: false # enables displaying social links in the navbar on the about page
|
||||||
enable_project_categories: true # enables categorization of projects into multiple categories
|
enable_project_categories: true # enables categorization of projects into multiple categories
|
||||||
enable_medium_zoom: true # enables image zoom feature (as on medium.com)
|
enable_medium_zoom: true # enables image zoom feature (as on medium.com)
|
||||||
enable_progressbar: true # enables a horizontal progress bar linked to the vertical scroll position
|
enable_progressbar: true # enables a horizontal progress bar linked to the vertical scroll position
|
||||||
|
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
# Library versions
|
# Library versions
|
||||||
|
|
|
||||||
|
|
@ -1,16 +0,0 @@
|
||||||
<figure>
|
|
||||||
|
|
||||||
<audio
|
|
||||||
src="{% if include.cache_bust %}{{ include.path | relative_url | bust_file_cache }}{% else %}{{ include.path | relative_url }}{% endif %}"
|
|
||||||
{% if include.class %}class="{{ include.class }}"{% endif %}
|
|
||||||
{% if include.alt %}alt="{{ include.alt }}"{% endif %}
|
|
||||||
{% if include.title %}title="{{ include.title }}"{% endif %}
|
|
||||||
{% if include.autoplay %}autoplay{% endif %}
|
|
||||||
{% if include.controls %}controls{% endif %}
|
|
||||||
{% if include.loop %}loop{% endif %}
|
|
||||||
{% if include.muted %}muted{% endif %}
|
|
||||||
/>
|
|
||||||
|
|
||||||
{%- if include.caption -%}<figcaption class="caption">{{ include.caption }}</figcaption>{%- endif %}
|
|
||||||
|
|
||||||
</figure>
|
|
||||||
|
|
@ -0,0 +1,30 @@
|
||||||
|
<figure>
|
||||||
|
<audio
|
||||||
|
src="{% if include.cache_bust %}{{ include.path | relative_url | bust_file_cache }}{% else %}{{ include.path | relative_url }}{% endif %}"
|
||||||
|
{% if include.class %}
|
||||||
|
class="{{ include.class }}"
|
||||||
|
{% endif %}
|
||||||
|
{% if include.alt %}
|
||||||
|
alt="{{ include.alt }}"
|
||||||
|
{% endif %}
|
||||||
|
{% if include.title %}
|
||||||
|
title="{{ include.title }}"
|
||||||
|
{% endif %}
|
||||||
|
{% if include.autoplay %}
|
||||||
|
autoplay
|
||||||
|
{% endif %}
|
||||||
|
{% if include.controls %}
|
||||||
|
controls
|
||||||
|
{% endif %}
|
||||||
|
{% if include.loop %}
|
||||||
|
loop
|
||||||
|
{% endif %}
|
||||||
|
{% if include.muted %}
|
||||||
|
muted
|
||||||
|
{% endif %}
|
||||||
|
/>
|
||||||
|
|
||||||
|
{% if include.caption %}
|
||||||
|
<figcaption class="caption">{{ include.caption }}</figcaption>
|
||||||
|
{% endif %}
|
||||||
|
</figure>
|
||||||
|
|
@ -1,5 +0,0 @@
|
||||||
<ul class="card-text font-weight-light list-group list-group-flush">
|
|
||||||
{% for content in entry.contents %}
|
|
||||||
<li class="list-group-item">{{ content }}</li>
|
|
||||||
{% endfor %}
|
|
||||||
</ul>
|
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
<ul class="card-text font-weight-light list-group list-group-flush">
|
||||||
|
{% for content in entry.contents %}
|
||||||
|
<li class="list-group-item">{{ content }}</li>
|
||||||
|
{% endfor %}
|
||||||
|
</ul>
|
||||||
|
|
@ -1,43 +0,0 @@
|
||||||
<div class="list-groups">
|
|
||||||
{% for content in entry.contents %}
|
|
||||||
<div class="list-group col-md-6">
|
|
||||||
<table class="table-cv list-group-table">
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
{% if content.icon %}
|
|
||||||
<td class="list-group-category-icon"><i class="{{ content.icon }}"></i></td>
|
|
||||||
{% else %}
|
|
||||||
<td class="list-group-category-icon"></td>
|
|
||||||
{% endif %}
|
|
||||||
<!-- Calculate colspan number for category title -->
|
|
||||||
{% assign i = 1 %}
|
|
||||||
{% for item in content.items %}
|
|
||||||
{% assign i = i | plus:1 %}
|
|
||||||
{% endfor %}
|
|
||||||
<td colspan="{{ i }}" class="list-group-category">{{ content.category }}</td>
|
|
||||||
</tr>
|
|
||||||
{% for item in content.items %}
|
|
||||||
<tr>
|
|
||||||
<td></td>
|
|
||||||
<td class="list-group-name"><b>{{ item.name }}</b></td>
|
|
||||||
{% if item.level %}
|
|
||||||
<td class="list-group-level">{{ item.level }}</td>
|
|
||||||
{% endif %}
|
|
||||||
{% if item.school %}
|
|
||||||
<td class="list-group-school">{{ item.school }}
|
|
||||||
{% endif %}
|
|
||||||
{% if item.time %}
|
|
||||||
<br><span class="list-group-time">{{ item.time }}</span></td>
|
|
||||||
{% else %}
|
|
||||||
</td>
|
|
||||||
{% endif %}
|
|
||||||
{% if item.link %}
|
|
||||||
<td class="list-group-link"><a href="{{ item.link }}" target="_blank" class="btncv z-depth-0">{% if item.linkname %}{{ item.linkname }}{% else %}DOC{% endif %}</a></td>
|
|
||||||
{% endif %}
|
|
||||||
</tr>
|
|
||||||
{% endfor %}
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
{% endfor %}
|
|
||||||
</div>
|
|
||||||
|
|
@ -0,0 +1,51 @@
|
||||||
|
<div class="list-groups">
|
||||||
|
{% for content in entry.contents %}
|
||||||
|
<div class="list-group col-md-6">
|
||||||
|
<table class="table-cv list-group-table">
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
{% if content.icon %}
|
||||||
|
<td class="list-group-category-icon"><i class="{{ content.icon }}"></i></td>
|
||||||
|
{% else %}
|
||||||
|
<td class="list-group-category-icon"></td>
|
||||||
|
{% endif %}
|
||||||
|
<!-- Calculate colspan number for category title -->
|
||||||
|
{% assign i = 1 %}
|
||||||
|
{% for item in content.items %}
|
||||||
|
{% assign i = i | plus: 1 %}
|
||||||
|
{% endfor %}
|
||||||
|
<td colspan="{{ i }}" class="list-group-category">{{ content.category }}</td>
|
||||||
|
</tr>
|
||||||
|
{% for item in content.items %}
|
||||||
|
<tr>
|
||||||
|
<td></td>
|
||||||
|
<td class="list-group-name">
|
||||||
|
<b>{{ item.name }}</b>
|
||||||
|
</td>
|
||||||
|
{% if item.level %}
|
||||||
|
<td class="list-group-level">{{ item.level }}</td>
|
||||||
|
{% endif %}
|
||||||
|
{% if item.school %}
|
||||||
|
<td class="list-group-school">{{ item.school }}
|
||||||
|
{% endif %}
|
||||||
|
{% if item.time %}
|
||||||
|
<br>
|
||||||
|
<span class="list-group-time">{{ item.time }}</span>
|
||||||
|
</td>
|
||||||
|
{% else %}
|
||||||
|
</td>
|
||||||
|
{% endif %}
|
||||||
|
{% if item.link %}
|
||||||
|
<td class="list-group-link">
|
||||||
|
<a href="{{ item.link }}" target="_blank" class="btncv z-depth-0">
|
||||||
|
{% if item.linkname %}{{ item.linkname }}{% else %}DOC{% endif %}
|
||||||
|
</a>
|
||||||
|
</td>
|
||||||
|
{% endif %}
|
||||||
|
</tr>
|
||||||
|
{% endfor %}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
{% endfor %}
|
||||||
|
</div>
|
||||||
|
|
@ -1,27 +1,29 @@
|
||||||
<table class="table table-cv table-sm table-borderless table-responsive">
|
<table class="table table-cv table-sm table-borderless table-responsive">
|
||||||
{% for content in entry.contents %}
|
{% for content in entry.contents %}
|
||||||
<tr>
|
<tr>
|
||||||
<td class="p-1 pr-2 font-weight-bold"><b>{{ content.name }}</b></td>
|
<td class="p-1 pr-2 font-weight-bold">
|
||||||
{% if content.value %}
|
<b>{{ content.name }}</b>
|
||||||
|
</td>
|
||||||
|
{% if content.value %}
|
||||||
<td class="p-1 pl-2 font-weight-light text">{{ content.value }}</td>
|
<td class="p-1 pl-2 font-weight-light text">{{ content.value }}</td>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if content.links %}
|
{% if content.links %}
|
||||||
<td class="p-1 pl-2 font-weight-light text">
|
<td class="p-1 pl-2 font-weight-light text">
|
||||||
<div class="container-pdf">
|
<div class="container-pdf">
|
||||||
{% for item in content.links %}
|
{% for item in content.links %}
|
||||||
{% if item.link %}
|
{% if item.link %}
|
||||||
<div class="container-link-button">
|
<div class="container-link-button">
|
||||||
{% if item.name %}
|
{% if item.name %}
|
||||||
<a href="{{ item.link }}" target="_blank" class="btncv z-depth-0">{{ item.name}}</a>
|
<a href="{{ item.link }}" target="_blank" class="btncv z-depth-0">{{ item.name }}</a>
|
||||||
{% else %}
|
{% else %}
|
||||||
<a href="{{ item.link }}" target="_blank" class="btncv z-depth-0">doc</a>
|
<a href="{{ item.link }}" target="_blank" class="btncv z-depth-0">doc</a>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</tr>
|
</tr>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</table>
|
</table>
|
||||||
|
|
@ -1,14 +1,16 @@
|
||||||
<ul class="card-text font-weight-light list-group list-group-flush">
|
<ul class="card-text font-weight-light list-group list-group-flush">
|
||||||
{% for content in entry.contents %}
|
{% for content in entry.contents %}
|
||||||
<li class="list-group-item">
|
<li class="list-group-item">
|
||||||
<h5 class="font-italic">{{ content.title }}</h5>
|
<h5 class="font-italic">{{ content.title }}</h5>
|
||||||
{% if content.items %}
|
{% if content.items %}
|
||||||
<ul class="subitems">
|
<ul class="subitems">
|
||||||
{% for subitem in content.items %}
|
{% for subitem in content.items %}
|
||||||
<li><span class="subitem">{{ subitem }}</span></li>
|
<li>
|
||||||
|
<span class="subitem">{{ subitem }}</span>
|
||||||
|
</li>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</ul>
|
</ul>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</li>
|
</li>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</ul>
|
</ul>
|
||||||
|
|
@ -1,106 +0,0 @@
|
||||||
<ul class="card-text font-weight-light list-group list-group-flush">
|
|
||||||
{% for content in entry.contents %}
|
|
||||||
<li class="list-group-item">
|
|
||||||
<div class="row">
|
|
||||||
{% if content.year %}
|
|
||||||
<div class="col-xs-2 cl-sm-2 col-md-2 text-center" style="width: 75px;">
|
|
||||||
<table class="table-cv">
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
<span class="badge font-weight-bold danger-color-dark text-uppercase align-middle" style="min-width: 75px;">{{ content.year }}</span>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
{% if content.location %}
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
<p class="location"><i class="fa-solid fa-location-dot iconlocation"></i> {{ content.location }}</p>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
{% endif %}
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
{% endif %}
|
|
||||||
<div class="col-xs-10 cl-sm-10 col-md-10 mt-2 mt-md-0">
|
|
||||||
{% if content.title %}
|
|
||||||
<h6 class="title font-weight-bold ml-1 ml-md-4">{{content.title}}</h6>
|
|
||||||
{% endif %}
|
|
||||||
{% if content.department or content.institution %}
|
|
||||||
<table class="table-cv ml-1 ml-md-4 institution">
|
|
||||||
<tbody>
|
|
||||||
{% if content.institution %}
|
|
||||||
<tr>
|
|
||||||
<td style="vertical-align: top; text-align: center;" class="institution"><i class="fa-solid fa-building-columns iconinstitution"></i></td>
|
|
||||||
<td class="institution">{{content.institution}}</td>
|
|
||||||
</tr>
|
|
||||||
{% endif %}
|
|
||||||
{% if content.department %}
|
|
||||||
<tr>
|
|
||||||
<td style="vertical-align: top; text-align: center;" class="department"><i class="fa-regular fa-circle-dot icondepartment"></i></td>
|
|
||||||
<td class="department">{{content.department}}</td>
|
|
||||||
</tr>
|
|
||||||
{% endif %}
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
{% endif %}
|
|
||||||
{% if content.maindescription %}
|
|
||||||
<div class="ml-1 ml-md-4 ">{{ content.maindescription }}</div>
|
|
||||||
{% endif %}
|
|
||||||
{% if content.description %}
|
|
||||||
<ul class="items">
|
|
||||||
{% for item in content.description %}
|
|
||||||
<li>
|
|
||||||
{% if item.contents %}
|
|
||||||
<span class="item-title">{{ item.title }}</span>
|
|
||||||
<ul class="subitems">
|
|
||||||
{% for subitem in item.contents %}
|
|
||||||
<li><span class="subitem">{{ subitem }}</span></li>
|
|
||||||
{% endfor %}
|
|
||||||
</ul>
|
|
||||||
{% else %}
|
|
||||||
<span class="item">{{ item }}</span>
|
|
||||||
{% endif %}
|
|
||||||
</li>
|
|
||||||
{% endfor %}
|
|
||||||
</ul>
|
|
||||||
{% endif %}
|
|
||||||
{% if content.items %}
|
|
||||||
<ul class="items">
|
|
||||||
{% for item in content.items %}
|
|
||||||
<li>
|
|
||||||
{% if item.contents %}
|
|
||||||
<span class="item-title">{{ item.title }}</span>
|
|
||||||
<ul class="subitems">
|
|
||||||
{% for subitem in item.contents %}
|
|
||||||
<li><span class="subitem">{{ subitem }}</span></li>
|
|
||||||
{% endfor %}
|
|
||||||
</ul>
|
|
||||||
{% else %}
|
|
||||||
<span class="item">{{ item }}</span>
|
|
||||||
{% endif %}
|
|
||||||
</li>
|
|
||||||
{% endfor %}
|
|
||||||
</ul>
|
|
||||||
{% endif %}
|
|
||||||
{% if content.linkitems %}
|
|
||||||
<div class="container-links ml-1 ml-md-4">
|
|
||||||
{% for item in content.linkitems %}
|
|
||||||
{% if item.link %}
|
|
||||||
<div class="container-link-button">
|
|
||||||
{% if item.linkname %}
|
|
||||||
<a href="{{ item.link }}" target="_blank" class="btncv z-depth-0">{{ item.linkname}}</a>
|
|
||||||
{% else %}
|
|
||||||
<a href="{{ item.link }}" target="_blank" class="btncv z-depth-0">doc</a>
|
|
||||||
{% endif %}
|
|
||||||
</div>
|
|
||||||
{% endif %}
|
|
||||||
{% endfor %}
|
|
||||||
</div>
|
|
||||||
{% endif %}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</li>
|
|
||||||
{% endfor %}
|
|
||||||
</ul>
|
|
||||||
|
|
@ -0,0 +1,118 @@
|
||||||
|
<ul class="card-text font-weight-light list-group list-group-flush">
|
||||||
|
{% for content in entry.contents %}
|
||||||
|
<li class="list-group-item">
|
||||||
|
<div class="row">
|
||||||
|
{% if content.year %}
|
||||||
|
<div class="col-xs-2 cl-sm-2 col-md-2 text-center" style="width: 75px">
|
||||||
|
<table class="table-cv">
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<span class="badge font-weight-bold danger-color-dark text-uppercase align-middle" style="min-width: 75px">
|
||||||
|
{{- content.year -}}
|
||||||
|
</span>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
{% if content.location %}
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<p class="location">
|
||||||
|
<i class="fa-solid fa-location-dot iconlocation"></i>
|
||||||
|
{{ content.location }}
|
||||||
|
</p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
{% endif %}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
<div class="col-xs-10 cl-sm-10 col-md-10 mt-2 mt-md-0">
|
||||||
|
{% if content.title %}
|
||||||
|
<h6 class="title font-weight-bold ml-1 ml-md-4">{{ content.title }}</h6>
|
||||||
|
{% endif %}
|
||||||
|
{% if content.department or content.institution %}
|
||||||
|
<table class="table-cv ml-1 ml-md-4 institution">
|
||||||
|
<tbody>
|
||||||
|
{% if content.institution %}
|
||||||
|
<tr>
|
||||||
|
<td style="vertical-align: top; text-align: center" class="institution">
|
||||||
|
<i class="fa-solid fa-building-columns iconinstitution"></i>
|
||||||
|
</td>
|
||||||
|
<td class="institution">{{ content.institution }}</td>
|
||||||
|
</tr>
|
||||||
|
{% endif %}
|
||||||
|
{% if content.department %}
|
||||||
|
<tr>
|
||||||
|
<td style="vertical-align: top; text-align: center" class="department">
|
||||||
|
<i class="fa-regular fa-circle-dot icondepartment"></i>
|
||||||
|
</td>
|
||||||
|
<td class="department">{{ content.department }}</td>
|
||||||
|
</tr>
|
||||||
|
{% endif %}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
{% endif %}
|
||||||
|
{% if content.maindescription %}
|
||||||
|
<div class="ml-1 ml-md-4">{{ content.maindescription }}</div>
|
||||||
|
{% endif %}
|
||||||
|
{% if content.description %}
|
||||||
|
<ul class="items">
|
||||||
|
{% for item in content.description %}
|
||||||
|
<li>
|
||||||
|
{% if item.contents %}
|
||||||
|
<span class="item-title">{{ item.title }}</span>
|
||||||
|
<ul class="subitems">
|
||||||
|
{% for subitem in item.contents %}
|
||||||
|
<li>
|
||||||
|
<span class="subitem">{{ subitem }}</span>
|
||||||
|
</li>
|
||||||
|
{% endfor %}
|
||||||
|
</ul>
|
||||||
|
{% else %}
|
||||||
|
<span class="item">{{ item }}</span>
|
||||||
|
{% endif %}
|
||||||
|
</li>
|
||||||
|
{% endfor %}
|
||||||
|
</ul>
|
||||||
|
{% endif %}
|
||||||
|
{% if content.items %}
|
||||||
|
<ul class="items">
|
||||||
|
{% for item in content.items %}
|
||||||
|
<li>
|
||||||
|
{% if item.contents %}
|
||||||
|
<span class="item-title">{{ item.title }}</span>
|
||||||
|
<ul class="subitems">
|
||||||
|
{% for subitem in item.contents %}
|
||||||
|
<li>
|
||||||
|
<span class="subitem">{{ subitem }}</span>
|
||||||
|
</li>
|
||||||
|
{% endfor %}
|
||||||
|
</ul>
|
||||||
|
{% else %}
|
||||||
|
<span class="item">{{ item }}</span>
|
||||||
|
{% endif %}
|
||||||
|
</li>
|
||||||
|
{% endfor %}
|
||||||
|
</ul>
|
||||||
|
{% endif %}
|
||||||
|
{% if content.linkitems %}
|
||||||
|
<div class="container-links ml-1 ml-md-4">
|
||||||
|
{% for item in content.linkitems %}
|
||||||
|
{% if item.link %}
|
||||||
|
<div class="container-link-button">
|
||||||
|
{% if item.linkname %}
|
||||||
|
<a href="{{ item.link }}" target="_blank" class="btncv z-depth-0">{{ item.linkname }}</a>
|
||||||
|
{% else %}
|
||||||
|
<a href="{{ item.link }}" target="_blank" class="btncv z-depth-0">doc</a>
|
||||||
|
{% endif %}
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
{% endfor %}
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
{% endfor %}
|
||||||
|
</ul>
|
||||||
|
|
@ -1,13 +0,0 @@
|
||||||
<div id="disqus_thread" style="max-width: {{ site.max_width }}; margin: 0 auto;">
|
|
||||||
<script type="text/javascript">
|
|
||||||
var disqus_shortname = '{{ site.disqus_shortname }}';
|
|
||||||
var disqus_identifier = '{{ page.id }}';
|
|
||||||
var disqus_title = {{ page.title | jsonify }};
|
|
||||||
(function() {
|
|
||||||
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
|
|
||||||
dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
|
|
||||||
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
|
|
||||||
})();
|
|
||||||
</script>
|
|
||||||
<noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
|
|
||||||
</div>
|
|
||||||
|
|
@ -0,0 +1,13 @@
|
||||||
|
<div id="disqus_thread" style="max-width: {{ site.max_width }}; margin: 0 auto;">
|
||||||
|
<script type="text/javascript">
|
||||||
|
var disqus_shortname = '{{ site.disqus_shortname }}';
|
||||||
|
var disqus_identifier = '{{ page.id }}';
|
||||||
|
var disqus_title = {{ page.title | jsonify }};
|
||||||
|
(function() {
|
||||||
|
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
|
||||||
|
dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
|
||||||
|
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
|
||||||
|
})();
|
||||||
|
</script>
|
||||||
|
<noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
|
||||||
|
</div>
|
||||||
|
|
@ -1,34 +0,0 @@
|
||||||
{%- assign img_path = include.path | remove: ".jpg" | remove: ".jpeg" | remove: ".png" | remove: ".tiff" | remove: ".gif" -%}
|
|
||||||
|
|
||||||
<figure>
|
|
||||||
<picture>
|
|
||||||
<!-- Auto scaling with imagemagick -->
|
|
||||||
<!-- See https://www.debugbear.com/blog/responsive-images#w-descriptors-and-the-sizes-attribute and
|
|
||||||
https://developer.mozilla.org/en-US/docs/Learn/HTML/Multimedia_and_embedding/Responsive_images for info on defining 'sizes' for responsive images-->
|
|
||||||
{% if site.imagemagick.enabled %}
|
|
||||||
<source class = "responsive-img-srcset" srcset="
|
|
||||||
{% for i in site.imagemagick.widths -%}
|
|
||||||
{{ img_path | relative_url }}-{{ i }}.webp {{i}}w,
|
|
||||||
{% endfor -%}"
|
|
||||||
{% if include.sizes %} sizes="{{include.sizes}}" {% else %} sizes="95vw" {% endif %}
|
|
||||||
type="image/webp"/>
|
|
||||||
{% endif %}
|
|
||||||
<img
|
|
||||||
src="{% if include.cache_bust %}{{ include.path | relative_url | bust_file_cache }}{% else %}{{ include.path | relative_url }}{% endif %}"
|
|
||||||
{% if include.class %}class="{{ include.class }}"{% endif %}
|
|
||||||
{% if include.width %}width="{{ include.width }}"{% else %}width="100%"{% endif %}
|
|
||||||
{% if include.height %}height="{{ include.height }}"{% else %}height="auto"{% endif %}
|
|
||||||
{% if include.min-width %}min-width="{{ include.min-width }}"{% endif %}
|
|
||||||
{% if include.min-height %}min-height="{{ include.min-height }}"{% endif %}
|
|
||||||
{% if include.max-width %}max-width="{{ include.max-width }}"{% endif %}
|
|
||||||
{% if include.max-height %}max-height="{{ include.max-height }}"{% endif %}
|
|
||||||
{% if include.alt %}alt="{{ include.alt }}"{% endif %}
|
|
||||||
{% if include.title %}title="{{ include.title }}"{% endif %}
|
|
||||||
{% if include.zoomable %}data-zoomable{% endif %}
|
|
||||||
onerror="this.onerror=null; $('.responsive-img-srcset').remove();"
|
|
||||||
/>
|
|
||||||
</picture>
|
|
||||||
|
|
||||||
{%- if include.caption -%}<figcaption class="caption">{{ include.caption }}</figcaption>{%- endif %}
|
|
||||||
|
|
||||||
</figure>
|
|
||||||
|
|
@ -0,0 +1,65 @@
|
||||||
|
{% assign img_path = include.path | remove: '.jpg' | remove: '.jpeg' | remove: '.png' | remove: '.tiff' | remove: '.gif' %}
|
||||||
|
|
||||||
|
<figure>
|
||||||
|
<picture>
|
||||||
|
<!-- Auto scaling with imagemagick -->
|
||||||
|
<!--
|
||||||
|
See https://www.debugbear.com/blog/responsive-images#w-descriptors-and-the-sizes-attribute and
|
||||||
|
https://developer.mozilla.org/en-US/docs/Learn/HTML/Multimedia_and_embedding/Responsive_images for info on defining 'sizes' for responsive images
|
||||||
|
-->
|
||||||
|
{% if site.imagemagick.enabled %}
|
||||||
|
<source
|
||||||
|
class="responsive-img-srcset"
|
||||||
|
srcset="{% for i in site.imagemagick.widths %}{{ img_path | relative_url }}-{{ i }}.webp {{i}}w,{% endfor %}"
|
||||||
|
{% if include.sizes %}
|
||||||
|
sizes="{{include.sizes}}"
|
||||||
|
{% else %}
|
||||||
|
sizes="95vw"
|
||||||
|
{% endif %}
|
||||||
|
type="image/webp"
|
||||||
|
>
|
||||||
|
{% endif %}
|
||||||
|
<img
|
||||||
|
src="{% if include.cache_bust %}{{ include.path | relative_url | bust_file_cache }}{% else %}{{ include.path | relative_url }}{% endif %}"
|
||||||
|
{% if include.class %}
|
||||||
|
class="{{ include.class }}"
|
||||||
|
{% endif %}
|
||||||
|
{% if include.width %}
|
||||||
|
width="{{ include.width }}"
|
||||||
|
{% else %}
|
||||||
|
width="100%"
|
||||||
|
{% endif %}
|
||||||
|
{% if include.height %}
|
||||||
|
height="{{ include.height }}"
|
||||||
|
{% else %}
|
||||||
|
height="auto"
|
||||||
|
{% endif %}
|
||||||
|
{% if include['min-width'] %}
|
||||||
|
min-width="{{ include.min-width }}"
|
||||||
|
{% endif %}
|
||||||
|
{% if include['min-height'] %}
|
||||||
|
min-height="{{ include.min-height }}"
|
||||||
|
{% endif %}
|
||||||
|
{% if include['max-width'] %}
|
||||||
|
max-width="{{ include.max-width }}"
|
||||||
|
{% endif %}
|
||||||
|
{% if include['max-height'] %}
|
||||||
|
max-height="{{ include.max-height }}"
|
||||||
|
{% endif %}
|
||||||
|
{% if include.alt %}
|
||||||
|
alt="{{ include.alt }}"
|
||||||
|
{% endif %}
|
||||||
|
{% if include.title %}
|
||||||
|
title="{{ include.title }}"
|
||||||
|
{% endif %}
|
||||||
|
{% if include.zoomable %}
|
||||||
|
data-zoomable
|
||||||
|
{% endif %}
|
||||||
|
onerror="this.onerror=null; $('.responsive-img-srcset').remove();"
|
||||||
|
>
|
||||||
|
</picture>
|
||||||
|
|
||||||
|
{% if include.caption %}
|
||||||
|
<figcaption class="caption">{{ include.caption }}</figcaption>
|
||||||
|
{% endif %}
|
||||||
|
</figure>
|
||||||
|
|
@ -1,25 +0,0 @@
|
||||||
{% if site.footer_fixed %}
|
|
||||||
<footer class="fixed-bottom">
|
|
||||||
<div class="container mt-0">
|
|
||||||
© Copyright {{ site.time | date: '%Y' }} {{ site.first_name }} {{ site.middle_name }} {{ site.last_name }}. {{ site.footer_text }}
|
|
||||||
{%- if site.impressum_path -%}
|
|
||||||
<a href="{{ site.url }}{{ site.baseurl }}{{ site.impressum_path }}">Impressum</a>.
|
|
||||||
{%- endif -%}
|
|
||||||
{%- if site.last_updated -%}
|
|
||||||
Last updated: {{ "now" | date: '%B %d, %Y' }}.
|
|
||||||
{%- endif %}
|
|
||||||
</div>
|
|
||||||
</footer>
|
|
||||||
{%- else -%}
|
|
||||||
<footer class="sticky-bottom mt-5">
|
|
||||||
<div class="container">
|
|
||||||
© Copyright {{ site.time | date: '%Y' }} {{ site.first_name }} {{ site.middle_name }} {{ site.last_name }}. {{ site.footer_text }}
|
|
||||||
{%- if site.impressum_path -%}
|
|
||||||
<a href="{{ site.url }}{{ site.baseurl }}{{ site.impressum_path }}">Impressum</a>.
|
|
||||||
{%- endif -%}
|
|
||||||
{%- if site.last_updated -%}
|
|
||||||
Last updated: {{ "now" | date: '%B %d, %Y' }}.
|
|
||||||
{%- endif %}
|
|
||||||
</div>
|
|
||||||
</footer>
|
|
||||||
{%- endif %}
|
|
||||||
|
|
@ -0,0 +1,31 @@
|
||||||
|
{% if site.footer_fixed %}
|
||||||
|
<footer class="fixed-bottom">
|
||||||
|
<div class="container mt-0">
|
||||||
|
© Copyright {{ site.time | date: '%Y' }}
|
||||||
|
{{ site.first_name }}
|
||||||
|
{{ site.middle_name }}
|
||||||
|
{{ site.last_name }}. {{ site.footer_text }}
|
||||||
|
{% if site.impressum_path %}
|
||||||
|
<a href="{{ site.url }}{{ site.baseurl }}{{ site.impressum_path }}">Impressum</a>.
|
||||||
|
{% endif %}
|
||||||
|
{% if site.last_updated %}
|
||||||
|
Last updated: {{ 'now' | date: '%B %d, %Y' }}.
|
||||||
|
{% endif %}
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
{% else %}
|
||||||
|
<footer class="sticky-bottom mt-5">
|
||||||
|
<div class="container">
|
||||||
|
© Copyright {{ site.time | date: '%Y' }}
|
||||||
|
{{ site.first_name }}
|
||||||
|
{{ site.middle_name }}
|
||||||
|
{{ site.last_name }}. {{ site.footer_text }}
|
||||||
|
{% if site.impressum_path %}
|
||||||
|
<a href="{{ site.url }}{{ site.baseurl }}{{ site.impressum_path }}">Impressum</a>.
|
||||||
|
{% endif %}
|
||||||
|
{% if site.last_updated %}
|
||||||
|
Last updated: {{ 'now' | date: '%B %d, %Y' }}.
|
||||||
|
{% endif %}
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
{% endif %}
|
||||||
|
|
@ -1,36 +0,0 @@
|
||||||
<div id="giscus_thread" style="max-width: {{ site.max_width }}; margin: 0 auto;">
|
|
||||||
{%- if site.giscus.repo -%}
|
|
||||||
<script>
|
|
||||||
let giscusTheme = localStorage.getItem("theme");
|
|
||||||
let giscusAttributes = {
|
|
||||||
"src": "https://giscus.app/client.js",
|
|
||||||
"data-repo": "{{ site.giscus.repo }}",
|
|
||||||
"data-repo-id": "{{ site.giscus.repo_id }}",
|
|
||||||
"data-category": "{{ site.giscus.category }}",
|
|
||||||
"data-category-id": "{{ site.giscus.category_id }}",
|
|
||||||
"data-mapping": "{{ site.giscus.mapping }}",
|
|
||||||
"data-strict": "{{ site.giscus.strict }}",
|
|
||||||
"data-reactions-enabled": "{{ site.giscus.reactions_enabled }}",
|
|
||||||
"data-emit-metadata": "{{ site.giscus.emit_metadata }}",
|
|
||||||
"data-input-position": "{{ site.giscus.input_position }}",
|
|
||||||
"data-theme": giscusTheme,
|
|
||||||
"data-lang": "{{ site.giscus.lang }}",
|
|
||||||
"crossorigin": "anonymous",
|
|
||||||
"async": "",
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
let giscusScript = document.createElement("script");
|
|
||||||
Object.entries(giscusAttributes).forEach(([key, value]) => giscusScript.setAttribute(key, value));
|
|
||||||
document.getElementById("giscus_thread").appendChild(giscusScript);
|
|
||||||
</script>
|
|
||||||
<noscript>Please enable JavaScript to view the <a href="http://giscus.app/?ref_noscript">comments powered by giscus.</a></noscript>
|
|
||||||
{%- else -%}
|
|
||||||
{% capture giscus_warning %}
|
|
||||||
> ##### giscus comments misconfigured
|
|
||||||
> Please follow instructions at [http://giscus.app](http://giscus.app) and update your giscus configuration.
|
|
||||||
{: .block-danger }
|
|
||||||
{% endcapture %}
|
|
||||||
{{ giscus_warning | markdownify }}
|
|
||||||
{%- endif -%}
|
|
||||||
</div>
|
|
||||||
|
|
@ -0,0 +1,32 @@
|
||||||
|
<div id="giscus_thread" style="max-width: {{ site.max_width }}; margin: 0 auto;">
|
||||||
|
{% if site.giscus.repo %}
|
||||||
|
<script>
|
||||||
|
let giscusTheme = localStorage.getItem('theme');
|
||||||
|
let giscusAttributes = {
|
||||||
|
src: 'https://giscus.app/client.js',
|
||||||
|
'data-repo': '{{ site.giscus.repo }}',
|
||||||
|
'data-repo-id': '{{ site.giscus.repo_id }}',
|
||||||
|
'data-category': '{{ site.giscus.category }}',
|
||||||
|
'data-category-id': '{{ site.giscus.category_id }}',
|
||||||
|
'data-mapping': '{{ site.giscus.mapping }}',
|
||||||
|
'data-strict': '{{ site.giscus.strict }}',
|
||||||
|
'data-reactions-enabled': '{{ site.giscus.reactions_enabled }}',
|
||||||
|
'data-emit-metadata': '{{ site.giscus.emit_metadata }}',
|
||||||
|
'data-input-position': '{{ site.giscus.input_position }}',
|
||||||
|
'data-theme': giscusTheme,
|
||||||
|
'data-lang': '{{ site.giscus.lang }}',
|
||||||
|
crossorigin: 'anonymous',
|
||||||
|
async: '',
|
||||||
|
};
|
||||||
|
|
||||||
|
let giscusScript = document.createElement('script');
|
||||||
|
Object.entries(giscusAttributes).forEach(([key, value]) => giscusScript.setAttribute(key, value));
|
||||||
|
document.getElementById('giscus_thread').appendChild(giscusScript);
|
||||||
|
</script>
|
||||||
|
<noscript>Please enable JavaScript to view the <a href="http://giscus.app/?ref_noscript">comments powered by giscus.</a></noscript>
|
||||||
|
{% else %}
|
||||||
|
{% capture giscus_warning %} > ##### giscus comments misconfigured > Please follow instructions at
|
||||||
|
[http://giscus.app](http://giscus.app) and update your giscus configuration. {: .block-danger } {% endcapture %}
|
||||||
|
{{ giscus_warning | markdownify }}
|
||||||
|
{% endif %}
|
||||||
|
</div>
|
||||||
|
|
@ -1,42 +0,0 @@
|
||||||
<!-- Metadata, OpenGraph and Schema.org -->
|
|
||||||
{% include metadata.html %}
|
|
||||||
|
|
||||||
<!-- Bootstrap & MDB -->
|
|
||||||
<link rel="stylesheet" href="{{ '/assets/css/bootstrap.min.css' | relative_url | bust_file_cache }}">
|
|
||||||
<!-- <link rel="stylesheet" href="{{ '/assets/css/mdb.min.css' | relative_url | bust_file_cache }}"> -->
|
|
||||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/mdbootstrap@{{ site.mdb.version }}/css/mdb.min.css" integrity="{{ site.mdb.integrity.css }}" crossorigin="anonymous" />
|
|
||||||
|
|
||||||
<!-- Bootstrap Table -->
|
|
||||||
<link defer rel="stylesheet" href="https://unpkg.com/bootstrap-table@{{ site.bootstrap-table.version }}/dist/bootstrap-table.min.css">
|
|
||||||
|
|
||||||
<!-- Fonts & Icons -->
|
|
||||||
<link rel="stylesheet" href="{{ '/assets/css/academicons.min.css' | relative_url | bust_file_cache }}">
|
|
||||||
<link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700|Roboto+Slab:100,300,400,500,700|Material+Icons">
|
|
||||||
|
|
||||||
<!-- Code Syntax Highlighting -->
|
|
||||||
<link rel="stylesheet" href="{{ '/assets/css/jekyll-pygments-themes-github.css' | relative_url | bust_file_cache }}" media="" id="highlight_theme_light" />
|
|
||||||
|
|
||||||
{% if page.toc and page.toc.sidebar %}
|
|
||||||
<!-- Sidebar Table of Contents -->
|
|
||||||
<link href="{{ '/assets/css/bootstrap-toc.min.css' | relative_url | bust_file_cache }}" rel="stylesheet" />
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% if page.tikzjax %}
|
|
||||||
<link defer rel="stylesheet" type="text/css" href="https://tikzjax.com/v1/fonts.css">
|
|
||||||
<script defer src="https://tikzjax.com/v1/tikzjax.js"></script>
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
<!-- Styles -->
|
|
||||||
{% if site.icon.size <= 4 %}
|
|
||||||
<link rel="shortcut icon" 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>">
|
|
||||||
{% elsif site.icon != blank %}
|
|
||||||
<link rel="shortcut icon" href="{{ site.icon | prepend: '/assets/img/' | relative_url | bust_file_cache}}"/>
|
|
||||||
{% endif %}
|
|
||||||
<link rel="stylesheet" href="{{ '/assets/css/main.css' | relative_url | bust_css_cache }}">
|
|
||||||
<link rel="canonical" href="{{ page.url | replace:'index.html','' | absolute_url }}">
|
|
||||||
|
|
||||||
<!-- Dark Mode -->
|
|
||||||
{% if site.enable_darkmode %}
|
|
||||||
<link rel="stylesheet" href="{{ '/assets/css/jekyll-pygments-themes-native.css' | relative_url | bust_file_cache }}" media="none" id="highlight_theme_dark" />
|
|
||||||
<script src="{{ '/assets/js/theme.js' | relative_url | bust_file_cache }}"></script>
|
|
||||||
{% endif %}
|
|
||||||
|
|
@ -0,0 +1,63 @@
|
||||||
|
<!-- Metadata, OpenGraph and Schema.org -->
|
||||||
|
{% include metadata.liquid %}
|
||||||
|
|
||||||
|
<!-- Bootstrap & MDB -->
|
||||||
|
<link rel="stylesheet" href="{{ '/assets/css/bootstrap.min.css' | relative_url | bust_file_cache }}">
|
||||||
|
<!-- <link rel="stylesheet" href="{{ '/assets/css/mdb.min.css' | relative_url | bust_file_cache }}"> -->
|
||||||
|
<link
|
||||||
|
rel="stylesheet"
|
||||||
|
href="https://cdn.jsdelivr.net/npm/mdbootstrap@{{ site.mdb.version }}/css/mdb.min.css"
|
||||||
|
integrity="{{ site.mdb.integrity.css }}"
|
||||||
|
crossorigin="anonymous"
|
||||||
|
>
|
||||||
|
|
||||||
|
<!-- Bootstrap Table -->
|
||||||
|
<link defer rel="stylesheet" href="https://unpkg.com/bootstrap-table@{{ site.bootstrap-table.version }}/dist/bootstrap-table.min.css">
|
||||||
|
|
||||||
|
<!-- Fonts & Icons -->
|
||||||
|
<link rel="stylesheet" href="{{ '/assets/css/academicons.min.css' | relative_url | bust_file_cache }}">
|
||||||
|
<link
|
||||||
|
rel="stylesheet"
|
||||||
|
type="text/css"
|
||||||
|
href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700|Roboto+Slab:100,300,400,500,700|Material+Icons"
|
||||||
|
>
|
||||||
|
|
||||||
|
<!-- Code Syntax Highlighting -->
|
||||||
|
<link
|
||||||
|
rel="stylesheet"
|
||||||
|
href="{{ '/assets/css/jekyll-pygments-themes-github.css' | relative_url | bust_file_cache }}"
|
||||||
|
media=""
|
||||||
|
id="highlight_theme_light"
|
||||||
|
>
|
||||||
|
|
||||||
|
{% if page.toc and page.toc.sidebar %}
|
||||||
|
<!-- Sidebar Table of Contents -->
|
||||||
|
<link href="{{ '/assets/css/bootstrap-toc.min.css' | relative_url | bust_file_cache }}" rel="stylesheet">
|
||||||
|
{% endif %}
|
||||||
|
{% if page.tikzjax %}
|
||||||
|
<link defer rel="stylesheet" type="text/css" href="https://tikzjax.com/v1/fonts.css">
|
||||||
|
<script defer src="https://tikzjax.com/v1/tikzjax.js"></script>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
<!-- Styles -->
|
||||||
|
{% if site.icon.size <= 4 %}
|
||||||
|
<link
|
||||||
|
rel="shortcut icon"
|
||||||
|
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>"
|
||||||
|
>
|
||||||
|
{% elsif site.icon != blank %}
|
||||||
|
<link rel="shortcut icon" href="{{ site.icon | prepend: '/assets/img/' | relative_url | bust_file_cache}}">
|
||||||
|
{% endif %}
|
||||||
|
<link rel="stylesheet" href="{{ '/assets/css/main.css' | relative_url | bust_css_cache }}">
|
||||||
|
<link rel="canonical" href="{{ page.url | replace:'index.html','' | absolute_url }}">
|
||||||
|
|
||||||
|
<!-- Dark Mode -->
|
||||||
|
{% if site.enable_darkmode %}
|
||||||
|
<link
|
||||||
|
rel="stylesheet"
|
||||||
|
href="{{ '/assets/css/jekyll-pygments-themes-native.css' | relative_url | bust_file_cache }}"
|
||||||
|
media="none"
|
||||||
|
id="highlight_theme_dark"
|
||||||
|
>
|
||||||
|
<script src="{{ '/assets/js/theme.js' | relative_url | bust_file_cache }}"></script>
|
||||||
|
{% endif %}
|
||||||
|
|
@ -1,120 +0,0 @@
|
||||||
|
|
||||||
<header>
|
|
||||||
|
|
||||||
<!-- Nav Bar -->
|
|
||||||
<nav id="navbar" class="navbar navbar-light navbar-expand-sm {% if site.navbar_fixed %}fixed-top{% else %}sticky-top{% endif %}">
|
|
||||||
<div class="container">
|
|
||||||
{% if page.permalink != '/' -%}
|
|
||||||
<a class="navbar-brand title font-weight-lighter" href="{{ site.baseurl }}/">
|
|
||||||
{%- if site.title == "blank" -%}
|
|
||||||
{%- if site.first_name -%}
|
|
||||||
<span class="font-weight-bold">{{- site.first_name -}} </span>
|
|
||||||
{%- endif -%}
|
|
||||||
{%- if site.middle_name -%}
|
|
||||||
{{- site.middle_name -}}
|
|
||||||
{%- endif -%}
|
|
||||||
{%- if site.last_name -%}
|
|
||||||
{{- site.last_name -}}
|
|
||||||
{%- endif -%}
|
|
||||||
{%- else -%}
|
|
||||||
{{- site.title -}}
|
|
||||||
{%- endif -%}
|
|
||||||
</a>
|
|
||||||
{%- elsif site.enable_navbar_social -%}
|
|
||||||
<!-- Social Icons -->
|
|
||||||
<div class="navbar-brand social">
|
|
||||||
{% include social.html %}
|
|
||||||
</div>
|
|
||||||
{% endif %}
|
|
||||||
<!-- Navbar Toggle -->
|
|
||||||
<button class="navbar-toggler collapsed ml-auto" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
|
|
||||||
<span class="sr-only">Toggle navigation</span>
|
|
||||||
<span class="icon-bar top-bar"></span>
|
|
||||||
<span class="icon-bar middle-bar"></span>
|
|
||||||
<span class="icon-bar bottom-bar"></span>
|
|
||||||
</button>
|
|
||||||
|
|
||||||
<div class="collapse navbar-collapse text-right" id="navbarNav">
|
|
||||||
<ul class="navbar-nav ml-auto flex-nowrap">
|
|
||||||
|
|
||||||
{%- for page in site.pages -%}
|
|
||||||
{% if page.permalink == '/' %}
|
|
||||||
{% assign about_title = page.title %}
|
|
||||||
{% endif %}
|
|
||||||
{% endfor %}
|
|
||||||
|
|
||||||
<!-- About -->
|
|
||||||
<li class="nav-item {% if page.permalink == '/' %}active{% endif %}">
|
|
||||||
<a class="nav-link" href="{{ '/' | relative_url }}">{{ about_title }}
|
|
||||||
{%- if page.permalink == '/' -%}
|
|
||||||
<span class="sr-only">(current)</span>
|
|
||||||
{%- endif -%}
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
<!-- Other pages -->
|
|
||||||
{%- assign sorted_pages = site.pages | sort: "nav_order" -%}
|
|
||||||
{%- for p in sorted_pages -%}
|
|
||||||
{%- if p.nav and p.autogen == nil -%}
|
|
||||||
{%- if p.dropdown %}
|
|
||||||
{%- assign has_active_child = false -%}
|
|
||||||
{%- for child in p.children -%}
|
|
||||||
{%- if page.title == child.title -%}
|
|
||||||
{%- assign has_active_child = true -%}
|
|
||||||
{%- endif -%}
|
|
||||||
{%- endfor -%}
|
|
||||||
<li class="nav-item dropdown {% if page.title == p.title or has_active_child %}active{% endif %}">
|
|
||||||
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">{{ p.title }}
|
|
||||||
{%- if page.title == p.title or has_active_child -%}
|
|
||||||
<span class="sr-only">(current)</span>
|
|
||||||
{%- endif -%}
|
|
||||||
</a>
|
|
||||||
<div class="dropdown-menu dropdown-menu-right" aria-labelledby="navbarDropdown">
|
|
||||||
{%- for child in p.children -%}
|
|
||||||
{%- if child.title == 'divider' %}
|
|
||||||
<div class="dropdown-divider"></div>
|
|
||||||
{%- else %}
|
|
||||||
<a class="dropdown-item {% if page.title == child.title %}active{% endif %}" href="{{ child.permalink | relative_url }}">{{ child.title }}</a>
|
|
||||||
{%- endif -%}
|
|
||||||
{% endfor %}
|
|
||||||
</div>
|
|
||||||
</li>
|
|
||||||
{%- else %}
|
|
||||||
<li class="nav-item {% if page.url contains p.permalink %}active{% endif %}">
|
|
||||||
{%- if p.permalink contains '/blog/' %}
|
|
||||||
{%- assign url = '/blog/' -%}
|
|
||||||
{%- else -%}
|
|
||||||
{%- assign url = p.url -%}
|
|
||||||
{%- endif -%}
|
|
||||||
<a class="nav-link" href="{{ url | relative_url }}">{{ p.title }}
|
|
||||||
{%- if page.url contains p.url -%}
|
|
||||||
<span class="sr-only">(current)</span>
|
|
||||||
{%- endif -%}
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
{%- endif -%}
|
|
||||||
{%- endif -%}
|
|
||||||
{% endfor -%}
|
|
||||||
{%- if site.enable_darkmode %}
|
|
||||||
|
|
||||||
<!-- Toogle theme mode -->
|
|
||||||
<li class="toggle-container">
|
|
||||||
<button id="light-toggle" title="Change theme">
|
|
||||||
<i class="fa-solid fa-moon"></i>
|
|
||||||
<i class="fa-solid fa-sun"></i>
|
|
||||||
</button>
|
|
||||||
</li>
|
|
||||||
{%- endif %}
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</nav>
|
|
||||||
{% if site.enable_progressbar %}
|
|
||||||
<!-- Scrolling Progress Bar -->
|
|
||||||
<progress id="progress" value="0">
|
|
||||||
<div class="progress-container">
|
|
||||||
<span class="progress-bar"></span>
|
|
||||||
</div>
|
|
||||||
</progress>
|
|
||||||
{%- endif %}
|
|
||||||
</header>
|
|
||||||
|
|
@ -0,0 +1,133 @@
|
||||||
|
<header>
|
||||||
|
<!-- Nav Bar -->
|
||||||
|
<nav id="navbar" class="navbar navbar-light navbar-expand-sm {% if site.navbar_fixed %}fixed-top{% else %}sticky-top{% endif %}">
|
||||||
|
<div class="container">
|
||||||
|
{% if page.permalink != '/' %}
|
||||||
|
<a class="navbar-brand title font-weight-lighter" href="{{ site.baseurl }}/">
|
||||||
|
{% if site.title == 'blank' %}
|
||||||
|
{% if site.first_name %}
|
||||||
|
<span class="font-weight-bold">
|
||||||
|
{{- site.first_name -}}
|
||||||
|
</span
|
||||||
|
>
|
||||||
|
{% endif %}
|
||||||
|
{% if site.middle_name %}
|
||||||
|
{{- site.middle_name -}}
|
||||||
|
|
||||||
|
{% endif %}
|
||||||
|
{% if site.last_name %}
|
||||||
|
{{- site.last_name -}}
|
||||||
|
{% endif %}
|
||||||
|
{% else %}
|
||||||
|
{{- site.title -}}
|
||||||
|
{% endif %}
|
||||||
|
</a>
|
||||||
|
{% elsif site.enable_navbar_social %}
|
||||||
|
<!-- Social Icons -->
|
||||||
|
<div class="navbar-brand social">{% include social.liquid %}</div>
|
||||||
|
{% endif %}
|
||||||
|
<!-- Navbar Toggle -->
|
||||||
|
<button
|
||||||
|
class="navbar-toggler collapsed ml-auto"
|
||||||
|
type="button"
|
||||||
|
data-toggle="collapse"
|
||||||
|
data-target="#navbarNav"
|
||||||
|
aria-controls="navbarNav"
|
||||||
|
aria-expanded="false"
|
||||||
|
aria-label="Toggle navigation"
|
||||||
|
>
|
||||||
|
<span class="sr-only">Toggle navigation</span>
|
||||||
|
<span class="icon-bar top-bar"></span>
|
||||||
|
<span class="icon-bar middle-bar"></span>
|
||||||
|
<span class="icon-bar bottom-bar"></span>
|
||||||
|
</button>
|
||||||
|
|
||||||
|
<div class="collapse navbar-collapse text-right" id="navbarNav">
|
||||||
|
<ul class="navbar-nav ml-auto flex-nowrap">
|
||||||
|
{% for page in site.pages %}
|
||||||
|
{% if page.permalink == '/' %} {% assign about_title = page.title %} {% endif %}
|
||||||
|
{% endfor %}
|
||||||
|
|
||||||
|
<!-- About -->
|
||||||
|
<li class="nav-item {% if page.permalink == '/' %}active{% endif %}">
|
||||||
|
<a class="nav-link" href="{{ '/' | relative_url }}">
|
||||||
|
{{- about_title }}
|
||||||
|
{% if page.permalink == '/' %}
|
||||||
|
<span class="sr-only">(current)</span>
|
||||||
|
{% endif %}
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<!-- Other pages -->
|
||||||
|
{% assign sorted_pages = site.pages | sort: 'nav_order' %}
|
||||||
|
{% for p in sorted_pages %}
|
||||||
|
{% if p.nav and p.autogen == null %}
|
||||||
|
{% if p.dropdown %}
|
||||||
|
{% assign has_active_child = false %}
|
||||||
|
{% for child in p.children %}
|
||||||
|
{% if page.title == child.title %}
|
||||||
|
{% assign has_active_child = true %}
|
||||||
|
{% endif %}
|
||||||
|
{% endfor %}
|
||||||
|
<li class="nav-item dropdown {% if page.title == p.title or has_active_child %}active{% endif %}">
|
||||||
|
<a
|
||||||
|
class="nav-link dropdown-toggle"
|
||||||
|
href="#"
|
||||||
|
id="navbarDropdown"
|
||||||
|
role="button"
|
||||||
|
data-toggle="dropdown"
|
||||||
|
aria-haspopup="true"
|
||||||
|
aria-expanded="false"
|
||||||
|
>
|
||||||
|
{{- p.title }}
|
||||||
|
{% if page.title == p.title or has_active_child %}
|
||||||
|
<span class="sr-only">(current)</span>
|
||||||
|
{% endif %}
|
||||||
|
</a>
|
||||||
|
<div class="dropdown-menu dropdown-menu-right" aria-labelledby="navbarDropdown">
|
||||||
|
{% for child in p.children %}
|
||||||
|
{% if child.title == 'divider' %}
|
||||||
|
<div class="dropdown-divider"></div>
|
||||||
|
{% else %}
|
||||||
|
<a class="dropdown-item {% if page.title == child.title %}active{% endif %}" href="{{ child.permalink | relative_url }}">
|
||||||
|
{{- child.title -}}
|
||||||
|
</a>
|
||||||
|
{% endif %}
|
||||||
|
{% endfor %}
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
{% else %}
|
||||||
|
<li class="nav-item {% if page.url contains p.permalink %}active{% endif %}">
|
||||||
|
{% if p.permalink contains '/blog/' %}{% assign url = '/blog/' %} {% else %}{% assign url = p.url %}{% endif %}
|
||||||
|
<a class="nav-link" href="{{ url | relative_url }}">
|
||||||
|
{{- p.title }}
|
||||||
|
{% if page.url contains p.url %}
|
||||||
|
<span class="sr-only">(current)</span>
|
||||||
|
{% endif %}
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
{% endif %}
|
||||||
|
{% endif %}
|
||||||
|
{% endfor %}
|
||||||
|
{% if site.enable_darkmode %}
|
||||||
|
<!-- Toogle theme mode -->
|
||||||
|
<li class="toggle-container">
|
||||||
|
<button id="light-toggle" title="Change theme">
|
||||||
|
<i class="fa-solid fa-moon"></i>
|
||||||
|
<i class="fa-solid fa-sun"></i>
|
||||||
|
</button>
|
||||||
|
</li>
|
||||||
|
{% endif %}
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
{% if site.enable_progressbar %}
|
||||||
|
<!-- Scrolling Progress Bar -->
|
||||||
|
<progress id="progress" value="0">
|
||||||
|
<div class="progress-container">
|
||||||
|
<span class="progress-bar"></span>
|
||||||
|
</div>
|
||||||
|
</progress>
|
||||||
|
{% endif %}
|
||||||
|
</header>
|
||||||
|
|
@ -1,35 +0,0 @@
|
||||||
|
|
||||||
<div class="news">
|
|
||||||
{% if site.latest_posts != blank -%}
|
|
||||||
{%- assign latest_posts_size = site.posts | size -%}
|
|
||||||
<div class="table-responsive" {% if site.latest_posts.scrollable and latest_posts_size > 3 %}style="max-height: 60vw"{% endif %}>
|
|
||||||
<table class="table table-sm table-borderless">
|
|
||||||
{%- assign latest_posts = site.posts -%}
|
|
||||||
{% if site.latest_posts.limit %}
|
|
||||||
{% assign latest_posts_limit = site.latest_posts.limit %}
|
|
||||||
{% else %}
|
|
||||||
{% assign latest_posts_limit = latest_posts_size %}
|
|
||||||
{% endif %}
|
|
||||||
{% for item in latest_posts limit: latest_posts_limit %}
|
|
||||||
<tr>
|
|
||||||
<th scope="row" style="width: 20%">{{ item.date | date: "%b %-d, %Y" }}</th>
|
|
||||||
<td>
|
|
||||||
{% if item.redirect == blank %}
|
|
||||||
<a class="news-title" href="{{ item.url | relative_url }}">{{ item.title }}</a>
|
|
||||||
{% elsif item.redirect contains '://' %}
|
|
||||||
<a class="news-title" href="{{ item.redirect }}" target="_blank">{{ item.title }}</a>
|
|
||||||
<svg width="2rem" height="2rem" viewBox="0 0 40 40" xmlns="http://www.w3.org/2000/svg">
|
|
||||||
<path d="M17 13.5v6H5v-12h6m3-3h6v6m0-6-9 9" class="icon_svg-stroke" stroke="#999" stroke-width="1.5" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path>
|
|
||||||
</svg>
|
|
||||||
{% else %}
|
|
||||||
<a class="news-title" href="{{ item.redirect | relative_url }}">{{ item.title }}</a>
|
|
||||||
{% endif %}
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
{%- endfor %}
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
{%- else -%}
|
|
||||||
<p>No posts so far...</p>
|
|
||||||
{%- endif %}
|
|
||||||
</div>
|
|
||||||
|
|
@ -0,0 +1,48 @@
|
||||||
|
<div class="news">
|
||||||
|
{% if site.latest_posts != blank %}
|
||||||
|
{% assign latest_posts_size = site.posts | size %}
|
||||||
|
<div
|
||||||
|
class="table-responsive"
|
||||||
|
{% if site.latest_posts.scrollable and latest_posts_size > 3 %}
|
||||||
|
style="max-height: 60vw"
|
||||||
|
{% endif %}
|
||||||
|
>
|
||||||
|
<table class="table table-sm table-borderless">
|
||||||
|
{% assign latest_posts = site.posts %}
|
||||||
|
{% if site.latest_posts.limit %}
|
||||||
|
{% assign latest_posts_limit = site.latest_posts.limit %}
|
||||||
|
{% else %}
|
||||||
|
{% assign latest_posts_limit = latest_posts_size %}
|
||||||
|
{% endif %}
|
||||||
|
{% for item in latest_posts limit: latest_posts_limit %}
|
||||||
|
<tr>
|
||||||
|
<th scope="row" style="width: 20%">{{ item.date | date: '%b %d, %Y' }}</th>
|
||||||
|
<td>
|
||||||
|
{% if item.redirect == blank %}
|
||||||
|
<a class="news-title" href="{{ item.url | relative_url }}">{{ item.title }}</a>
|
||||||
|
{% elsif item.redirect contains '://' %}
|
||||||
|
<a class="news-title" href="{{ item.redirect }}" target="_blank">{{ item.title }}</a>
|
||||||
|
<svg width="2rem" height="2rem" viewBox="0 0 40 40" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path
|
||||||
|
d="M17 13.5v6H5v-12h6m3-3h6v6m0-6-9 9"
|
||||||
|
class="icon_svg-stroke"
|
||||||
|
stroke="#999"
|
||||||
|
stroke-width="1.5"
|
||||||
|
fill="none"
|
||||||
|
fill-rule="evenodd"
|
||||||
|
stroke-linecap="round"
|
||||||
|
stroke-linejoin="round"
|
||||||
|
></path>
|
||||||
|
</svg>
|
||||||
|
{% else %}
|
||||||
|
<a class="news-title" href="{{ item.redirect | relative_url }}">{{ item.title }}</a>
|
||||||
|
{% endif %}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
{% endfor %}
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
{% else %}
|
||||||
|
<p>No posts so far...</p>
|
||||||
|
{% endif %}
|
||||||
|
</div>
|
||||||
|
|
@ -1,239 +0,0 @@
|
||||||
{% if site.enable_google_verification or site.enable_bing_verification %}
|
|
||||||
<!-- Website verification -->
|
|
||||||
{% if site.enable_google_verification -%}
|
|
||||||
<meta name="google-site-verification" content="{{ site.google_site_verification }}" />
|
|
||||||
{%- endif -%}
|
|
||||||
{% if site.enable_bing_verification -%}
|
|
||||||
<meta name="msvalidate.01" content="{{ site.bing_site_verification }}" />
|
|
||||||
{%- endif -%}
|
|
||||||
<!-- Avoid warning on Google Chrome
|
|
||||||
Error with Permissions-Policy header: Origin trial controlled feature not enabled: 'interest-cohort'.
|
|
||||||
see https://stackoverflow.com/a/75119417
|
|
||||||
-->
|
|
||||||
<meta http-equiv="Permissions-Policy" content="interest-cohort=()" />
|
|
||||||
{%- endif %}
|
|
||||||
|
|
||||||
<!-- Standard metadata -->
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
||||||
<title>
|
|
||||||
{%- if site.title == "blank" -%}
|
|
||||||
{%- capture title -%}{{ site.first_name }} {{ site.middle_name }} {{ site.last_name }}{%- endcapture -%}
|
|
||||||
{%- else -%}
|
|
||||||
{%- capture title -%}{{ site.title }}{%- endcapture -%}
|
|
||||||
{%- endif -%}
|
|
||||||
{% if page.url == '/blog/index.html' %}
|
|
||||||
{{ page.title }} | {{ title }}
|
|
||||||
{%- elsif page.title != "blank" and page.url != "/" -%}
|
|
||||||
{%- if page.title == nil or page.title == "" -%}
|
|
||||||
{{ page.date | date: "%Y" }} | {{ title }}
|
|
||||||
{%- else -%}
|
|
||||||
{{ page.title }} | {{ title }}
|
|
||||||
{%- endif -%}
|
|
||||||
{%- else -%}
|
|
||||||
{{ title }}
|
|
||||||
{%- endif -%}
|
|
||||||
</title>
|
|
||||||
<meta name="author" content="{{ site.first_name }} {{ site.middle_name }} {{ site.last_name }}" />
|
|
||||||
<meta name="description" content="{%- if page.description -%}{{ page.description }}{%- else -%}{{ site.description }}{%- endif -%}" />
|
|
||||||
{%- if page.keywords or site.keywords %}
|
|
||||||
<meta name="keywords" content="{%- if page.keywords -%}{{ page.keywords }}{%- else -%}{{ site.keywords }}{%- endif -%}" />
|
|
||||||
{%- endif %}
|
|
||||||
|
|
||||||
{%- assign is_blog_post = false -%}
|
|
||||||
{%- if page.url != '/blog/index.html' and page.url contains '/blog/' -%}
|
|
||||||
{%- unless page.url contains '/tag/' or page.url contains '/category/' -%}
|
|
||||||
{%- assign is_blog_post = true -%}
|
|
||||||
{%- endunless -%}
|
|
||||||
{%- endif -%}
|
|
||||||
|
|
||||||
{%- if site.serve_og_meta %}
|
|
||||||
<!-- OpenGraph -->
|
|
||||||
<meta property="og:site_name" content="{{ title }}" />
|
|
||||||
<meta property="og:type" content="{%- if is_blog_post -%}article{%- else -%}website{%- endif -%}" />
|
|
||||||
<meta property="og:title" content="{%- if page.title -%}{{ title }} | {{ page.title }}{%- else -%}{{ title }}{%- endif -%}" />
|
|
||||||
<meta property="og:url" content="{{ page.url | prepend: site.baseurl | prepend: site.url | remove_first: 'index.html' }}" />
|
|
||||||
<meta property="og:description" content="{%- if page.description -%}{{ page.description }}{%- else -%}{{ site.description }}{%- endif -%}" />
|
|
||||||
{% if page.og_image or site.og_image -%}
|
|
||||||
<meta property="og:image" content="{%- if page.og_image -%}{{ page.og_image }}{%- else -%}{{ site.og_image }}{%- endif -%}" />
|
|
||||||
{%- endif %}
|
|
||||||
<meta property="og:locale" content="{{ site.lang }}" />
|
|
||||||
|
|
||||||
<!-- Twitter card -->
|
|
||||||
<meta name="twitter:card" content="summary" />
|
|
||||||
<meta name="twitter:title" content="{%- if page.title -%}{{ page.title }}{%- else -%}{{ title }}{%- endif -%}" />
|
|
||||||
<meta name="twitter:description" content="{%- if page.description -%}{{ page.description }}{%- else -%}{{ site.description }}{%- endif -%}" />
|
|
||||||
{% if page.og_image or site.og_image -%}
|
|
||||||
<meta name="twitter:image" content="{%- if page.og_image -%}{{ page.og_image }}{%- else -%}{{ site.og_image }}{%- endif -%}" />
|
|
||||||
{%- endif %}
|
|
||||||
{% if site.x_username -%}
|
|
||||||
<meta name="twitter:site" content="@{{ site.x_username }}" />
|
|
||||||
<meta name="twitter:creator" content="@{{ site.x_username }}" />
|
|
||||||
{%- endif %}
|
|
||||||
{%- endif %}
|
|
||||||
|
|
||||||
{%- if site.serve_schema_org %}
|
|
||||||
|
|
||||||
<!-- Schema.org -->
|
|
||||||
{%- comment -%} Social links generator for "sameAs schema" {%- endcomment %}
|
|
||||||
{% assign sameaslinks = "" | split: "," %}
|
|
||||||
{%- if site.orcid_id -%}
|
|
||||||
{%- capture link -%}https://orcid.org/{{ site.orcid_id }}{%- endcapture -%}
|
|
||||||
{%- assign sameaslinks = sameaslinks | push: link -%}
|
|
||||||
{%- endif -%}
|
|
||||||
{%- if site.scholar_userid -%}
|
|
||||||
{%- capture link -%}https://scholar.google.com/citations?user={{ site.scholar_userid }}{%- endcapture -%}
|
|
||||||
{%- assign sameaslinks = sameaslinks | push: link -%}
|
|
||||||
{%- endif -%}
|
|
||||||
{%- if site.semanticscholar_id -%}
|
|
||||||
{%- capture link -%}https://www.semanticscholar.org/author/{{ site.semanticscholar_id }}{%- endcapture -%}
|
|
||||||
{%- assign sameaslinks = sameaslinks | push: link -%}
|
|
||||||
{%- endif -%}
|
|
||||||
{%- if site.publons_id -%}
|
|
||||||
{%- capture link -%}https://publons.com/a/{{ site.publons_id }}/{%- endcapture -%}
|
|
||||||
{%- assign sameaslinks = sameaslinks | push: link -%}
|
|
||||||
{%- endif -%}
|
|
||||||
{%- if site.lattes_id -%}
|
|
||||||
{%- capture link -%}http://lattes.cnpq.br/{{ site.lattes_id }}{%- endcapture -%}
|
|
||||||
{%- assign sameaslinks = sameaslinks | push: link -%}
|
|
||||||
{%- endif -%}
|
|
||||||
{%- if site.osf_id -%}
|
|
||||||
{%- capture link -%}https://osf.io/{{ site.osf_id }}/{%- endcapture -%}
|
|
||||||
{%- assign sameaslinks = sameaslinks | push: link -%}
|
|
||||||
{%- endif -%}
|
|
||||||
{%- if site.research_gate_profile -%}
|
|
||||||
{%- capture link -%}https://www.researchgate.net/profile/{{site.research_gate_profile}}{%- endcapture -%}
|
|
||||||
{%- assign sameaslinks = sameaslinks | push: link -%}
|
|
||||||
{%- endif -%}
|
|
||||||
{%- if site.scopus_id -%}
|
|
||||||
{%- capture link -%}https://www.scopus.com/authid/detail.uri?authorId={{site.scopus_id}}{%- endcapture -%}
|
|
||||||
{%- assign sameaslinks = sameaslinks | push: link -%}
|
|
||||||
{%- endif -%}
|
|
||||||
{%- if site.github_username -%}
|
|
||||||
{%- capture link -%}https://github.com/{{ site.github_username }}{%- endcapture -%}
|
|
||||||
{%- assign sameaslinks = sameaslinks | push: link -%}
|
|
||||||
{%- endif -%}
|
|
||||||
{%- if site.telegram_username -%}
|
|
||||||
{%- capture link -%}https://telegram.me/{{ site.telegram_username }}{%- endcapture -%}
|
|
||||||
{%- assign sameaslinks = sameaslinks | push: link -%}
|
|
||||||
{%- endif -%}
|
|
||||||
{%- if site.linkedin_username -%}
|
|
||||||
{%- capture link -%}https://www.linkedin.com/in/{{ site.linkedin_username }}{%- endcapture -%}
|
|
||||||
{%- assign sameaslinks = sameaslinks | push: link -%}
|
|
||||||
{%- endif -%}
|
|
||||||
{%- if site.x_username -%}
|
|
||||||
{%- capture link -%}https://twitter.com/{{ site.x_username }}{%- endcapture -%}
|
|
||||||
{%- assign sameaslinks = sameaslinks | push: link -%}
|
|
||||||
{%- endif -%}
|
|
||||||
{%- if site.mastodon_username -%}
|
|
||||||
{%- capture link -%}https://{{ site.mastodon_username }}{%- endcapture -%}
|
|
||||||
{%- assign sameaslinks = sameaslinks | push: link -%}
|
|
||||||
{%- endif -%}
|
|
||||||
{%- if site.medium_username -%}
|
|
||||||
{%- capture link -%}https://medium.com/@{{ site.medium_username }}{%- endcapture -%}
|
|
||||||
{%- assign sameaslinks = sameaslinks | push: link -%}
|
|
||||||
{%- endif -%}
|
|
||||||
{%- if site.quora_username -%}
|
|
||||||
{%- capture link -%}https://www.quora.com/profile/{{ site.quora_username }}{%- endcapture -%}
|
|
||||||
{%- assign sameaslinks = sameaslinks | push: link -%}
|
|
||||||
{%- endif -%}
|
|
||||||
{%- if site.blogger_url -%}
|
|
||||||
{%- capture link -%}{{ site.blogger_url }}{%- endcapture -%}
|
|
||||||
{%- assign sameaslinks = sameaslinks | push: link -%}
|
|
||||||
{%- endif -%}
|
|
||||||
{%- if site.work_url -%}
|
|
||||||
{%- capture link -%}{{ site.work_url }}{%- endcapture -%}
|
|
||||||
{%- assign sameaslinks = sameaslinks | push: link -%}
|
|
||||||
{%- endif -%}
|
|
||||||
{%- if site.wikidata_id -%}
|
|
||||||
{%- capture link -%}https://www.wikidata.org/wiki/{{ site.wikidata_id }}{%- endcapture -%}
|
|
||||||
{%- assign sameaslinks = sameaslinks | push: link -%}
|
|
||||||
{%- endif -%}
|
|
||||||
{%- if site.wikipedia_id -%}
|
|
||||||
{%- capture link -%}https://wikipedia.org/wiki/User:{{ site.wikipedia_id }}{%- endcapture -%}
|
|
||||||
{%- assign sameaslinks = sameaslinks | push: link -%}
|
|
||||||
{%- endif -%}
|
|
||||||
{%- if site.strava_userid -%}
|
|
||||||
{%- capture link -%}https://www.strava.com/athletes/{{ site.strava_userid }}{%- endcapture -%}
|
|
||||||
{%- assign sameaslinks = sameaslinks | push: link -%}
|
|
||||||
{%- endif -%}
|
|
||||||
{%- if site.keybase_username -%}
|
|
||||||
{%- capture link -%}https://keybase.io/{{ site.keybase_username }}{%- endcapture -%}
|
|
||||||
{%- assign sameaslinks = sameaslinks | push: link -%}
|
|
||||||
{%- endif -%}
|
|
||||||
{%- if site.gitlab_username -%}
|
|
||||||
{%- capture link -%}https://gitlab.com/{{ site.gitlab_username }}{%- endcapture -%}
|
|
||||||
{%- assign sameaslinks = sameaslinks | push: link -%}
|
|
||||||
{%- endif -%}
|
|
||||||
{%- if site.dblp_url -%}
|
|
||||||
{%- capture link -%}{{ site.dblp_url }}{%- endcapture -%}
|
|
||||||
{%- assign sameaslinks = sameaslinks | push: link -%}
|
|
||||||
{%- endif -%}
|
|
||||||
{%- if site.stackoverflow_id -%}
|
|
||||||
{%- capture link -%}https://stackoverflow.com/users/{{ site.stackoverflow_id }}{%- endcapture -%}
|
|
||||||
{%- assign sameaslinks = sameaslinks | push: link -%}
|
|
||||||
{%- endif -%}
|
|
||||||
{%- if site.kaggle_id -%}
|
|
||||||
{%- capture link -%}https://www.kaggle.com/{{ site.kaggle_id }}{%- endcapture -%}
|
|
||||||
{%- assign sameaslinks = sameaslinks | push: link -%}
|
|
||||||
{%- endif -%}
|
|
||||||
{%- if site.lastfm_id -%}
|
|
||||||
{%- capture link -%}https://www.last.fm/user/{{ site.lastfm_id }}{%- endcapture -%}
|
|
||||||
{%- assign sameaslinks = sameaslinks | push: link -%}
|
|
||||||
{%- endif -%}
|
|
||||||
{%- if site.spotify_id -%}
|
|
||||||
{%- capture link -%}https://open.spotify.com/user/{{ site.spotify_id }}{%- endcapture -%}
|
|
||||||
{%- assign sameaslinks = sameaslinks | push: link -%}
|
|
||||||
{%- endif -%}
|
|
||||||
{%- if site.pinterest_id -%}
|
|
||||||
{%- capture link -%}https://www.pinterest.com/{{ site.pinterest_id }}{%- endcapture -%}
|
|
||||||
{%- assign sameaslinks = sameaslinks | push: link -%}
|
|
||||||
{%- endif -%}
|
|
||||||
{%- if site.unsplash_id -%}
|
|
||||||
{%- capture link -%}https://unsplash.com/@{{ site.unsplash_id }}{%- endcapture -%}
|
|
||||||
{%- assign sameaslinks = sameaslinks | push: link -%}
|
|
||||||
{%- endif -%}
|
|
||||||
{%- if site.instagram_id -%}
|
|
||||||
{%- capture link -%}https://instagram.com/{{ site.instagram_id }}{%- endcapture -%}
|
|
||||||
{%- assign sameaslinks = sameaslinks | push: link -%}
|
|
||||||
{%- endif -%}
|
|
||||||
{%- if site.facebook_id -%}
|
|
||||||
{%- capture link -%}https://facebook.com/{{ site.facebook_id }}{%- endcapture -%}
|
|
||||||
{%- assign sameaslinks = sameaslinks | push: link -%}
|
|
||||||
{%- endif -%}
|
|
||||||
{%- if site.youtube_id -%}
|
|
||||||
{%- capture link -%}https://youtube.com/@{{ site.youtube_id }}{%- endcapture -%}
|
|
||||||
{%- assign sameaslinks = sameaslinks | push: link -%}
|
|
||||||
{%- endif -%}
|
|
||||||
{%- if site.discord_id -%}
|
|
||||||
{%- capture link -%}https://discord.com/users/{{ site.discord_id }}{%- endcapture -%}
|
|
||||||
{%- assign sameaslinks = sameaslinks | push: link -%}
|
|
||||||
{%- endif -%}
|
|
||||||
{%- if site.zotero_username -%}
|
|
||||||
{%- capture link -%}https://www.zotero.org/{{ site.zotero_username }}{%- endcapture -%}
|
|
||||||
{%- assign sameaslinks = sameaslinks | push: link -%}
|
|
||||||
{%- endif -%}
|
|
||||||
{%- if sameaslinks != blank -%}
|
|
||||||
{%- assign sameaslinks = sameaslinks | split: "" -%}
|
|
||||||
{%- endif -%}
|
|
||||||
|
|
||||||
<script type="application/ld+json">
|
|
||||||
{
|
|
||||||
"author":
|
|
||||||
{
|
|
||||||
"@type": "Person",
|
|
||||||
"name": "{{ site.first_name }} {{ site.middle_name }} {{ site.last_name }}"
|
|
||||||
},
|
|
||||||
"url": "{{ page.url | prepend: site.baseurl | prepend: site.url }}",
|
|
||||||
"@type": "{%- if is_blog_post -%}BlogPosting{%- else -%}WebSite{%- endif -%}",
|
|
||||||
"description": "{%- if page.description -%}{{ page.description }}{%- else if site.description -%}{{ site.description }}{%- endif -%}",
|
|
||||||
"headline": "{%- if page.title -%}{{ page.title }}{%- else -%}{{ site.title }}{%- endif -%}",
|
|
||||||
{% if sameaslinks != blank -%}
|
|
||||||
"sameAs": {{ sameaslinks }},
|
|
||||||
{%- endif %}
|
|
||||||
"name": "{{ site.first_name }} {{ site.middle_name }} {{ site.last_name }}",
|
|
||||||
"@context": "https://schema.org"
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
{%- endif %}
|
|
||||||
|
|
@ -0,0 +1,239 @@
|
||||||
|
{% if site.enable_google_verification or site.enable_bing_verification %}
|
||||||
|
<!-- Website verification -->
|
||||||
|
{% if site.enable_google_verification %}
|
||||||
|
<meta name="google-site-verification" content="{{ site.google_site_verification }}">
|
||||||
|
{% endif %}
|
||||||
|
{% if site.enable_bing_verification %}
|
||||||
|
<meta name="msvalidate.01" content="{{ site.bing_site_verification }}">
|
||||||
|
{% endif %}
|
||||||
|
<!--
|
||||||
|
Avoid warning on Google Chrome Error with Permissions-Policy header:
|
||||||
|
Origin trial controlled feature not enabled: 'interest-cohort'.
|
||||||
|
see https://stackoverflow.com/a/75119417
|
||||||
|
-->
|
||||||
|
<meta http-equiv="Permissions-Policy" content="interest-cohort=()">
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
<!-- Standard metadata -->
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
|
<title>
|
||||||
|
{% if site.title == 'blank' %}
|
||||||
|
{% capture title %}{{ site.first_name }} {{ site.middle_name }} {{ site.last_name }}{% endcapture %}
|
||||||
|
{% else %}
|
||||||
|
{% capture title %}{{ site.title }}{% endcapture %}
|
||||||
|
{% endif %}
|
||||||
|
{% if page.url == '/blog/index.html' %}
|
||||||
|
{{ page.title }} | {{ title }}
|
||||||
|
{% elsif page.title != 'blank' and page.url != '/' %}
|
||||||
|
{% if page.title == null or page.title == '' %}
|
||||||
|
{{ page.date | date: '%Y' }} | {{ title }}
|
||||||
|
{% else %}
|
||||||
|
{{ page.title }} | {{ title }}
|
||||||
|
{% endif %}
|
||||||
|
{% else %}
|
||||||
|
{{ title }}
|
||||||
|
{% endif %}
|
||||||
|
</title>
|
||||||
|
<meta name="author" content="{{ site.first_name }} {{ site.middle_name }} {{ site.last_name }}">
|
||||||
|
<meta name="description" content="{% if page.description %}{{ page.description }}{% else %}{{ site.description }}{% endif %}">
|
||||||
|
{% if page.keywords or site.keywords %}
|
||||||
|
<meta name="keywords" content="{% if page.keywords %}{{ page.keywords }}{% else %}{{ site.keywords }}{% endif %}">
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% assign is_blog_post = false %}
|
||||||
|
{% if page.url != '/blog/index.html' and page.url contains '/blog/' %}
|
||||||
|
{% unless page.url contains '/tag/' or page.url contains '/category/' %}
|
||||||
|
{% assign is_blog_post = true %}
|
||||||
|
{% endunless %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% if site.serve_og_meta %}
|
||||||
|
<!-- OpenGraph -->
|
||||||
|
<meta property="og:site_name" content="{{ title }}">
|
||||||
|
<meta property="og:type" content="{% if is_blog_post %}article{% else %}website{% endif %}">
|
||||||
|
<meta property="og:title" content="{% if page.title %}{{ title }} | {{ page.title }}{% else %}{{ title }}{% endif %}">
|
||||||
|
<meta property="og:url" content="{{ page.url | prepend: site.baseurl | prepend: site.url | remove_first: 'index.html' }}">
|
||||||
|
<meta property="og:description" content="{% if page.description %}{{ page.description }}{% else %}{{ site.description }}{% endif %}">
|
||||||
|
{% if page.og_image or site.og_image %}
|
||||||
|
<meta property="og:image" content="{% if page.og_image %}{{ page.og_image }}{% else %}{{ site.og_image }}{% endif %}">
|
||||||
|
{% endif %}
|
||||||
|
<meta property="og:locale" content="{{ site.lang }}">
|
||||||
|
|
||||||
|
<!-- Twitter card -->
|
||||||
|
<meta name="twitter:card" content="summary">
|
||||||
|
<meta name="twitter:title" content="{% if page.title %}{{ page.title }}{% else %}{{ title }}{% endif %}">
|
||||||
|
<meta name="twitter:description" content="{% if page.description %}{{ page.description }}{% else %}{{ site.description }}{% endif %}">
|
||||||
|
{% if page.og_image or site.og_image %}
|
||||||
|
<meta name="twitter:image" content="{% if page.og_image %}{{ page.og_image }}{% else %}{{ site.og_image }}{% endif %}">
|
||||||
|
{% endif %}
|
||||||
|
{% if site.x_username %}
|
||||||
|
<meta name="twitter:site" content="@{{ site.x_username }}">
|
||||||
|
<meta name="twitter:creator" content="@{{ site.x_username }}">
|
||||||
|
{% endif %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% if site.serve_schema_org %}
|
||||||
|
<!-- Schema.org -->
|
||||||
|
{% comment %} Social links generator for "sameAs schema" {% endcomment %}
|
||||||
|
{% assign sameaslinks = '' | split: ',' %}
|
||||||
|
{% if site.orcid_id %}
|
||||||
|
{% capture link %}https://orcid.org/{{ site.orcid_id }}{% endcapture %}
|
||||||
|
{% assign sameaslinks = sameaslinks | push: link %}
|
||||||
|
{% endif %}
|
||||||
|
{% if site.scholar_userid %}
|
||||||
|
{% capture link %}https://scholar.google.com/citations?user={{ site.scholar_userid }}{% endcapture %}
|
||||||
|
{% assign sameaslinks = sameaslinks | push: link %}
|
||||||
|
{% endif %}
|
||||||
|
{% if site.semanticscholar_id %}
|
||||||
|
{% capture link %}https://www.semanticscholar.org/author/{{ site.semanticscholar_id }}{% endcapture %}
|
||||||
|
{% assign sameaslinks = sameaslinks | push: link %}
|
||||||
|
{% endif %}
|
||||||
|
{% if site.publons_id %}
|
||||||
|
{% capture link %}https://publons.com/a/{{ site.publons_id }}/{% endcapture %}
|
||||||
|
{% assign sameaslinks = sameaslinks | push: link %}
|
||||||
|
{% endif %}
|
||||||
|
{% if site.lattes_id %}
|
||||||
|
{% capture link %}http://lattes.cnpq.br/{{ site.lattes_id }}{% endcapture %}
|
||||||
|
{% assign sameaslinks = sameaslinks | push: link %}
|
||||||
|
{% endif %}
|
||||||
|
{% if site.osf_id %}
|
||||||
|
{% capture link %}https://osf.io/{{ site.osf_id }}/{% endcapture %}
|
||||||
|
{% assign sameaslinks = sameaslinks | push: link %}
|
||||||
|
{% endif %}
|
||||||
|
{% if site.research_gate_profile %}
|
||||||
|
{% capture link %}https://www.researchgate.net/profile/{{site.research_gate_profile}}{% endcapture %}
|
||||||
|
{% assign sameaslinks = sameaslinks | push: link %}
|
||||||
|
{% endif %}
|
||||||
|
{% if site.scopus_id %}
|
||||||
|
{% capture link %}https://www.scopus.com/authid/detail.uri?authorId={{site.scopus_id}}{% endcapture %}
|
||||||
|
{% assign sameaslinks = sameaslinks | push: link %}
|
||||||
|
{% endif %}
|
||||||
|
{% if site.github_username %}
|
||||||
|
{% capture link %}https://github.com/{{ site.github_username }}{% endcapture %}
|
||||||
|
{% assign sameaslinks = sameaslinks | push: link %}
|
||||||
|
{% endif %}
|
||||||
|
{% if site.telegram_username %}
|
||||||
|
{% capture link %}https://telegram.me/{{ site.telegram_username }}{% endcapture %}
|
||||||
|
{% assign sameaslinks = sameaslinks | push: link %}
|
||||||
|
{% endif %}
|
||||||
|
{% if site.linkedin_username %}
|
||||||
|
{% capture link %}https://www.linkedin.com/in/{{ site.linkedin_username }}{% endcapture %}
|
||||||
|
{% assign sameaslinks = sameaslinks | push: link %}
|
||||||
|
{% endif %}
|
||||||
|
{% if site.x_username %}
|
||||||
|
{% capture link %}https://twitter.com/{{ site.x_username }}{% endcapture %}
|
||||||
|
{% assign sameaslinks = sameaslinks | push: link %}
|
||||||
|
{% endif %}
|
||||||
|
{% if site.mastodon_username %}
|
||||||
|
{% capture link %}https://{{ site.mastodon_username }}{% endcapture %}
|
||||||
|
{% assign sameaslinks = sameaslinks | push: link %}
|
||||||
|
{% endif %}
|
||||||
|
{% if site.medium_username %}
|
||||||
|
{% capture link %}https://medium.com/@{{ site.medium_username }}{% endcapture %}
|
||||||
|
{% assign sameaslinks = sameaslinks | push: link %}
|
||||||
|
{% endif %}
|
||||||
|
{% if site.quora_username %}
|
||||||
|
{% capture link %}https://www.quora.com/profile/{{ site.quora_username }}{% endcapture %}
|
||||||
|
{% assign sameaslinks = sameaslinks | push: link %}
|
||||||
|
{% endif %}
|
||||||
|
{% if site.blogger_url %}
|
||||||
|
{% capture link %}{{ site.blogger_url }}{% endcapture %}
|
||||||
|
{% assign sameaslinks = sameaslinks | push: link %}
|
||||||
|
{% endif %}
|
||||||
|
{% if site.work_url %}
|
||||||
|
{% capture link %}{{ site.work_url }}{% endcapture %}
|
||||||
|
{% assign sameaslinks = sameaslinks | push: link %}
|
||||||
|
{% endif %}
|
||||||
|
{% if site.wikidata_id %}
|
||||||
|
{% capture link %}https://www.wikidata.org/wiki/{{ site.wikidata_id }}{% endcapture %}
|
||||||
|
{% assign sameaslinks = sameaslinks | push: link %}
|
||||||
|
{% endif %}
|
||||||
|
{% if site.wikipedia_id %}
|
||||||
|
{% capture link %}https://wikipedia.org/wiki/User:{{ site.wikipedia_id }}{% endcapture %}
|
||||||
|
{% assign sameaslinks = sameaslinks | push: link %}
|
||||||
|
{% endif %}
|
||||||
|
{% if site.strava_userid %}
|
||||||
|
{% capture link %}https://www.strava.com/athletes/{{ site.strava_userid }}{% endcapture %}
|
||||||
|
{% assign sameaslinks = sameaslinks | push: link %}
|
||||||
|
{% endif %}
|
||||||
|
{% if site.keybase_username %}
|
||||||
|
{% capture link %}https://keybase.io/{{ site.keybase_username }}{% endcapture %}
|
||||||
|
{% assign sameaslinks = sameaslinks | push: link %}
|
||||||
|
{% endif %}
|
||||||
|
{% if site.gitlab_username %}
|
||||||
|
{% capture link %}https://gitlab.com/{{ site.gitlab_username }}{% endcapture %}
|
||||||
|
{% assign sameaslinks = sameaslinks | push: link %}
|
||||||
|
{% endif %}
|
||||||
|
{% if site.dblp_url %}
|
||||||
|
{% capture link %}{{ site.dblp_url }}{% endcapture %}
|
||||||
|
{% assign sameaslinks = sameaslinks | push: link %}
|
||||||
|
{% endif %}
|
||||||
|
{% if site.stackoverflow_id %}
|
||||||
|
{% capture link %}https://stackoverflow.com/users/{{ site.stackoverflow_id }}{% endcapture %}
|
||||||
|
{% assign sameaslinks = sameaslinks | push: link %}
|
||||||
|
{% endif %}
|
||||||
|
{% if site.kaggle_id %}
|
||||||
|
{% capture link %}https://www.kaggle.com/{{ site.kaggle_id }}{% endcapture %}
|
||||||
|
{% assign sameaslinks = sameaslinks | push: link %}
|
||||||
|
{% endif %}
|
||||||
|
{% if site.lastfm_id %}
|
||||||
|
{% capture link %}https://www.last.fm/user/{{ site.lastfm_id }}{% endcapture %}
|
||||||
|
{% assign sameaslinks = sameaslinks | push: link %}
|
||||||
|
{% endif %}
|
||||||
|
{% if site.spotify_id %}
|
||||||
|
{% capture link %}https://open.spotify.com/user/{{ site.spotify_id }}{% endcapture %}
|
||||||
|
{% assign sameaslinks = sameaslinks | push: link %}
|
||||||
|
{% endif %}
|
||||||
|
{% if site.pinterest_id %}
|
||||||
|
{% capture link %}https://www.pinterest.com/{{ site.pinterest_id }}{% endcapture %}
|
||||||
|
{% assign sameaslinks = sameaslinks | push: link %}
|
||||||
|
{% endif %}
|
||||||
|
{% if site.unsplash_id %}
|
||||||
|
{% capture link %}https://unsplash.com/@{{ site.unsplash_id }}{% endcapture %}
|
||||||
|
{% assign sameaslinks = sameaslinks | push: link %}
|
||||||
|
{% endif %}
|
||||||
|
{% if site.instagram_id %}
|
||||||
|
{% capture link %}https://instagram.com/{{ site.instagram_id }}{% endcapture %}
|
||||||
|
{% assign sameaslinks = sameaslinks | push: link %}
|
||||||
|
{% endif %}
|
||||||
|
{% if site.facebook_id %}
|
||||||
|
{% capture link %}https://facebook.com/{{ site.facebook_id }}{% endcapture %}
|
||||||
|
{% assign sameaslinks = sameaslinks | push: link %}
|
||||||
|
{% endif %}
|
||||||
|
{% if site.youtube_id %}
|
||||||
|
{% capture link %}https://youtube.com/@{{ site.youtube_id }}{% endcapture %}
|
||||||
|
{% assign sameaslinks = sameaslinks | push: link %}
|
||||||
|
{% endif %}
|
||||||
|
{% if site.discord_id %}
|
||||||
|
{% capture link %}https://discord.com/users/{{ site.discord_id }}{% endcapture %}
|
||||||
|
{% assign sameaslinks = sameaslinks | push: link %}
|
||||||
|
{% endif %}
|
||||||
|
{% if site.zotero_username %}
|
||||||
|
{% capture link %}https://www.zotero.org/{{ site.zotero_username }}{% endcapture %}
|
||||||
|
{% assign sameaslinks = sameaslinks | push: link %}
|
||||||
|
{% endif %}
|
||||||
|
{% if sameaslinks != blank %}
|
||||||
|
{% assign sameaslinks = sameaslinks | split: '' %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
<script type="application/ld+json">
|
||||||
|
{
|
||||||
|
"author":
|
||||||
|
{
|
||||||
|
"@type": "Person",
|
||||||
|
"name": "{{ site.first_name }} {{ site.middle_name }} {{ site.last_name }}"
|
||||||
|
},
|
||||||
|
"url": "{{ page.url | prepend: site.baseurl | prepend: site.url }}",
|
||||||
|
"@type": "{% if is_blog_post %}BlogPosting{% else %}WebSite{% endif %}",
|
||||||
|
"description": "{% if page.description %}{{ page.description }}{% else if site.description %}{{ site.description }}{% endif %}",
|
||||||
|
"headline": "{% if page.title %}{{ page.title }}{% else %}{{ site.title }}{% endif %}",
|
||||||
|
{% if sameaslinks != blank %}
|
||||||
|
"sameAs": {{ sameaslinks }},
|
||||||
|
{% endif %}
|
||||||
|
"name": "{{ site.first_name }} {{ site.middle_name }} {{ site.last_name }}",
|
||||||
|
"@context": "https://schema.org"
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
{% endif %}
|
||||||
|
|
@ -1,29 +0,0 @@
|
||||||
<div class="news">
|
|
||||||
{% if site.news != blank -%}
|
|
||||||
{%- assign news_size = site.news | size -%}
|
|
||||||
<div class="table-responsive" {% if include.limit and site.announcements.scrollable and news_size > 3 %}style="max-height: 60vw"{% endif %}>
|
|
||||||
<table class="table table-sm table-borderless">
|
|
||||||
{%- assign news = site.news | reverse -%}
|
|
||||||
{% if include.limit and site.announcements.limit %}
|
|
||||||
{% assign news_limit = site.announcements.limit %}
|
|
||||||
{% else %}
|
|
||||||
{% assign news_limit = news_size %}
|
|
||||||
{% endif %}
|
|
||||||
{% for item in news limit: news_limit %}
|
|
||||||
<tr>
|
|
||||||
<th scope="row" style="width: 20%">{{ item.date | date: "%b %-d, %Y" }}</th>
|
|
||||||
<td>
|
|
||||||
{% if item.inline -%}
|
|
||||||
{{ item.content | remove: '<p>' | remove: '</p>' | emojify }}
|
|
||||||
{%- else -%}
|
|
||||||
<a class="news-title" href="{{ item.url | relative_url }}">{{ item.title }}</a>
|
|
||||||
{%- endif %}
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
{%- endfor %}
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
{%- else -%}
|
|
||||||
<p>No news so far...</p>
|
|
||||||
{%- endif %}
|
|
||||||
</div>
|
|
||||||
|
|
@ -0,0 +1,34 @@
|
||||||
|
<div class="news">
|
||||||
|
{% if site.news != blank %}
|
||||||
|
{% assign news_size = site.news | size %}
|
||||||
|
<div
|
||||||
|
class="table-responsive"
|
||||||
|
{% if include.limit and site.announcements.scrollable and news_size > 3 %}
|
||||||
|
style="max-height: 60vw"
|
||||||
|
{% endif %}
|
||||||
|
>
|
||||||
|
<table class="table table-sm table-borderless">
|
||||||
|
{% assign news = site.news | reverse %}
|
||||||
|
{% if include.limit and site.announcements.limit %}
|
||||||
|
{% assign news_limit = site.announcements.limit %}
|
||||||
|
{% else %}
|
||||||
|
{% assign news_limit = news_size %}
|
||||||
|
{% endif %}
|
||||||
|
{% for item in news limit: news_limit %}
|
||||||
|
<tr>
|
||||||
|
<th scope="row" style="width: 20%">{{ item.date | date: '%b %d, %Y' }}</th>
|
||||||
|
<td>
|
||||||
|
{% if item.inline %}
|
||||||
|
{{ item.content | remove: '<p>' | remove: '</p>' | emojify }}
|
||||||
|
{% else %}
|
||||||
|
<a class="news-title" href="{{ item.url | relative_url }}">{{ item.title }}</a>
|
||||||
|
{% endif %}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
{% endfor %}
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
{% else %}
|
||||||
|
<p>No news so far...</p>
|
||||||
|
{% endif %}
|
||||||
|
</div>
|
||||||
|
|
@ -1,17 +0,0 @@
|
||||||
{%- if paginator.total_pages > 1 -%}
|
|
||||||
<nav aria-label="Blog page naviation">
|
|
||||||
<ul class="pagination pagination-lg justify-content-center">
|
|
||||||
<li class="page-item {% unless paginator.previous_page %}disabled{% endunless %}">
|
|
||||||
<a class="page-link" href="{{ paginator.previous_page_path | relative_url }}" tabindex="-1" aria-disabled="{{ paginator.previous_page }}">Newer</a>
|
|
||||||
</li>
|
|
||||||
{%- if paginator.page_trail -%}
|
|
||||||
{% for trail in paginator.page_trail -%}
|
|
||||||
<li class="page-item {% if page.url == trail.path %}active{% endif %}"><a class="page-link" href="{{ trail.path | relative_url }}" title="{{trail.title}}">{{ trail.num }}</a></li>
|
|
||||||
{% endfor -%}
|
|
||||||
{%- endif -%}
|
|
||||||
<li class="page-item {% unless paginator.next_page %}disabled{% endunless %}">
|
|
||||||
<a class="page-link" href="{{ paginator.next_page_path | relative_url }}">Older</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</nav>
|
|
||||||
{%- endif -%}
|
|
||||||
|
|
@ -0,0 +1,21 @@
|
||||||
|
{% if paginator.total_pages > 1 %}
|
||||||
|
<nav aria-label="Blog page naviation">
|
||||||
|
<ul class="pagination pagination-lg justify-content-center">
|
||||||
|
<li class="page-item {% unless paginator.previous_page %}disabled{% endunless %}">
|
||||||
|
<a class="page-link" href="{{ paginator.previous_page_path | relative_url }}" tabindex="-1" aria-disabled="{{ paginator.previous_page }}"
|
||||||
|
>Newer</a
|
||||||
|
>
|
||||||
|
</li>
|
||||||
|
{% if paginator.page_trail %}
|
||||||
|
{% for trail in paginator.page_trail %}
|
||||||
|
<li class="page-item {% if page.url == trail.path %}active{% endif %}">
|
||||||
|
<a class="page-link" href="{{ trail.path | relative_url }}" title="{{trail.title}}">{{ trail.num }}</a>
|
||||||
|
</li>
|
||||||
|
{% endfor %}
|
||||||
|
{% endif %}
|
||||||
|
<li class="page-item {% unless paginator.next_page %}disabled{% endunless %}">
|
||||||
|
<a class="page-link" href="{{ paginator.next_page_path | relative_url }}">Older</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
{% endif %}
|
||||||
|
|
@ -1,37 +0,0 @@
|
||||||
<!-- _includes/projects.html -->
|
|
||||||
<div class="grid-sizer"></div>
|
|
||||||
<div class="grid-item">
|
|
||||||
{% if project.redirect -%}
|
|
||||||
<a href="{{ project.redirect }}">
|
|
||||||
{%- else -%}
|
|
||||||
<a href="{{ project.url | relative_url }}">
|
|
||||||
{%- endif %}
|
|
||||||
<div class="card hoverable">
|
|
||||||
{%- if project.img %}
|
|
||||||
{%- include figure.html
|
|
||||||
path=project.img
|
|
||||||
sizes = "250px"
|
|
||||||
alt="project thumbnail" -%}
|
|
||||||
{%- endif %}
|
|
||||||
<div class="card-body">
|
|
||||||
<h2 class="card-title text-lowercase">{{ project.title }}</h2>
|
|
||||||
<p class="card-text">{{ project.description }}</p>
|
|
||||||
<div class="row ml-1 mr-1 p-0">
|
|
||||||
{%- if project.github -%}
|
|
||||||
<div class="github-icon">
|
|
||||||
<div class="icon" data-toggle="tooltip" title="Code Repository">
|
|
||||||
<a href="{{ project.github }}"><i class="fa-brands fa-github gh-icon"></i></a>
|
|
||||||
</div>
|
|
||||||
{%- if project.github_stars -%}
|
|
||||||
<span class="stars" data-toggle="tooltip" title="GitHub Stars">
|
|
||||||
<i class="fa-solid fa-star"></i>
|
|
||||||
<span id="{{ project.github_stars }}-stars"></span>
|
|
||||||
</span>
|
|
||||||
{%- endif %}
|
|
||||||
</div>
|
|
||||||
{%- endif %}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
|
|
@ -0,0 +1,35 @@
|
||||||
|
<!-- _includes/projects.html -->
|
||||||
|
<div class="grid-sizer"></div>
|
||||||
|
<div class="grid-item">
|
||||||
|
<a href="{% if project.redirect %}{{ project.redirect }}{% else %}{{ project.url | relative_url }}{% endif %}">
|
||||||
|
<div class="card hoverable">
|
||||||
|
{% if project.img %}
|
||||||
|
{%
|
||||||
|
include figure.liquid
|
||||||
|
path=project.img
|
||||||
|
sizes = "250px"
|
||||||
|
alt="project thumbnail"
|
||||||
|
%}
|
||||||
|
{% endif %}
|
||||||
|
<div class="card-body">
|
||||||
|
<h2 class="card-title text-lowercase">{{ project.title }}</h2>
|
||||||
|
<p class="card-text">{{ project.description }}</p>
|
||||||
|
<div class="row ml-1 mr-1 p-0">
|
||||||
|
{% if project.github %}
|
||||||
|
<div class="github-icon">
|
||||||
|
<div class="icon" data-toggle="tooltip" title="Code Repository">
|
||||||
|
<a href="{{ project.github }}"><i class="fa-brands fa-github gh-icon"></i></a>
|
||||||
|
</div>
|
||||||
|
{% if project.github_stars %}
|
||||||
|
<span class="stars" data-toggle="tooltip" title="GitHub Stars">
|
||||||
|
<i class="fa-solid fa-star"></i>
|
||||||
|
<span id="{{ project.github_stars }}-stars"></span>
|
||||||
|
</span>
|
||||||
|
{% endif %}
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
|
@ -1,40 +0,0 @@
|
||||||
<div class="card-item col">
|
|
||||||
{%- if project.redirect -%}
|
|
||||||
<a href="{{ project.redirect }}">
|
|
||||||
{%- else -%}
|
|
||||||
<a href="{{ project.url | relative_url }}">
|
|
||||||
{%- endif -%}
|
|
||||||
<div class="card hoverable">
|
|
||||||
<div class="row g-0">
|
|
||||||
{%- if project.img -%}
|
|
||||||
<div class="card-img col-md-6">
|
|
||||||
{% include figure.html path=project.img sizes="(min-width: 768px) 156px, 50vw" alt="project thumbnail" %}
|
|
||||||
</div>
|
|
||||||
<div class="col-md-6">
|
|
||||||
{%- else -%}
|
|
||||||
<div class="col-md-12">
|
|
||||||
{%- endif -%}
|
|
||||||
<div class="card-body">
|
|
||||||
<h3 class="card-title text-lowercase">{{ project.title }}</h3>
|
|
||||||
<p class="card-text">{{ project.description }}</p>
|
|
||||||
<div class="row ml-1 mr-1 p-0">
|
|
||||||
{%- if project.github -%}
|
|
||||||
<div class="github-icon">
|
|
||||||
<div class="icon" data-toggle="tooltip" title="Code Repository">
|
|
||||||
<a href="{{ project.github }}"><i class="fa-brands fa-github gh-icon"></i></a>
|
|
||||||
</div>
|
|
||||||
{%- if project.github_stars -%}
|
|
||||||
<span class="stars" data-toggle="tooltip" title="GitHub Stars">
|
|
||||||
<i class="fa-solid fa-star"></i>
|
|
||||||
<span id="{{ project.github_stars }}-stars"></span>
|
|
||||||
</span>
|
|
||||||
{%- endif -%}
|
|
||||||
</div>
|
|
||||||
{%- endif -%}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
|
|
@ -0,0 +1,34 @@
|
||||||
|
<div class="card-item col">
|
||||||
|
<a href="{% if project.redirect %}{{ project.redirect }}{% else %}{{ project.url | relative_url }}{% endif %}">
|
||||||
|
<div class="card hoverable">
|
||||||
|
<div class="row g-0">
|
||||||
|
{% if project.img %}
|
||||||
|
<div class="card-img col-md-6">
|
||||||
|
{% include figure.liquid path=project.img sizes="(min-width: 768px) 156px, 50vw" alt="project thumbnail" %}
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
<div class="{% if project.img %}col-md-6{% else %}col-md-12{% endif %}">
|
||||||
|
<div class="card-body">
|
||||||
|
<h3 class="card-title text-lowercase">{{ project.title }}</h3>
|
||||||
|
<p class="card-text">{{ project.description }}</p>
|
||||||
|
<div class="row ml-1 mr-1 p-0">
|
||||||
|
{% if project.github %}
|
||||||
|
<div class="github-icon">
|
||||||
|
<div class="icon" data-toggle="tooltip" title="Code Repository">
|
||||||
|
<a href="{{ project.github }}"><i class="fa-brands fa-github gh-icon"></i></a>
|
||||||
|
</div>
|
||||||
|
{% if project.github_stars %}
|
||||||
|
<span class="stars" data-toggle="tooltip" title="GitHub Stars">
|
||||||
|
<i class="fa-solid fa-star"></i>
|
||||||
|
<span id="{{ project.github_stars }}-stars"></span>
|
||||||
|
</span>
|
||||||
|
{% endif %}
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
|
@ -1,5 +1,4 @@
|
||||||
{% assign have_related_posts = false %}
|
{% assign have_related_posts = false %}
|
||||||
|
|
||||||
{% for post in site.related_posts | limit: site.related_blog_posts.max_related %}
|
{% for post in site.related_posts | limit: site.related_blog_posts.max_related %}
|
||||||
{% unless have_related_posts %}
|
{% unless have_related_posts %}
|
||||||
{% assign have_related_posts = true %}
|
{% assign have_related_posts = true %}
|
||||||
|
|
@ -1,14 +0,0 @@
|
||||||
{% assign repo_url = include.repository | split: '/' %}
|
|
||||||
|
|
||||||
{% if site.data.repositories.github_users contains repo_url.first %}
|
|
||||||
{% assign show_owner = false %}
|
|
||||||
{% else %}
|
|
||||||
{% assign show_owner = true %}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
<div class="repo p-2 text-center">
|
|
||||||
<a href="https://github.com/{{ include.repository }}">
|
|
||||||
<img class="repo-img-light w-100" alt="{{ include.repository }}" src="https://github-readme-stats.vercel.app/api/pin/?username={{ repo_url[0] }}&repo={{ repo_url[1] }}&theme={{ site.repo_theme_light }}&show_owner={{ show_owner }}">
|
|
||||||
<img class="repo-img-dark w-100" alt="{{ include.repository }}" src="https://github-readme-stats.vercel.app/api/pin/?username={{ repo_url[0] }}&repo={{ repo_url[1] }}&theme={{ site.repo_theme_dark }}&show_owner={{ show_owner }}">
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
|
|
@ -0,0 +1,21 @@
|
||||||
|
{% assign repo_url = include.repository | split: '/' %}
|
||||||
|
{% if site.data.repositories.github_users contains repo_url.first %}
|
||||||
|
{% assign show_owner = false %}
|
||||||
|
{% else %}
|
||||||
|
{% assign show_owner = true %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
<div class="repo p-2 text-center">
|
||||||
|
<a href="https://github.com/{{ include.repository }}">
|
||||||
|
<img
|
||||||
|
class="repo-img-light w-100"
|
||||||
|
alt="{{ include.repository }}"
|
||||||
|
src="https://github-readme-stats.vercel.app/api/pin/?username={{ repo_url[0] }}&repo={{ repo_url[1] }}&theme={{ site.repo_theme_light }}&show_owner={{ show_owner }}"
|
||||||
|
>
|
||||||
|
<img
|
||||||
|
class="repo-img-dark w-100"
|
||||||
|
alt="{{ include.repository }}"
|
||||||
|
src="https://github-readme-stats.vercel.app/api/pin/?username={{ repo_url[0] }}&repo={{ repo_url[1] }}&theme={{ site.repo_theme_dark }}&show_owner={{ show_owner }}"
|
||||||
|
>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
|
@ -1,18 +0,0 @@
|
||||||
<div class="repo p-2 text-center">
|
|
||||||
<a href="https://github.com/ryo-ma/github-profile-trophy">
|
|
||||||
<span class="d-none d-sm-none d-md-block">
|
|
||||||
<img class="repo-img-light" alt="{{ include.username }}" src="https://github-profile-trophy.vercel.app/?username={{ include.username }}&theme={{ site.repo_trophies.theme_light }}&locale={{ site.lang }}&margin-w=15&margin-h=15&no-bg=true&rank=-C&column=6">
|
|
||||||
<img class="repo-img-dark" alt="{{ include.username }}" src="https://github-profile-trophy.vercel.app/?username={{ include.username }}&theme={{ site.repo_trophies.theme_dark }}&locale={{ site.lang }}&margin-w=15&margin-h=15&no-bg=true&rank=-C&column=6">
|
|
||||||
</span>
|
|
||||||
|
|
||||||
<span class="d-none d-sm-block d-md-none">
|
|
||||||
<img class="repo-img-light" alt="{{ include.username }}" src="https://github-profile-trophy.vercel.app/?username={{ include.username }}&theme={{ site.repo_trophies.theme_light }}&locale={{ site.lang }}&margin-w=15&margin-h=15&no-bg=true&rank=-C&column=4">
|
|
||||||
<img class="repo-img-dark" alt="{{ include.username }}" src="https://github-profile-trophy.vercel.app/?username={{ include.username }}&theme={{ site.repo_trophies.theme_dark }}&locale={{ site.lang }}&margin-w=15&margin-h=15&no-bg=true&rank=-C&column=4">
|
|
||||||
</span>
|
|
||||||
|
|
||||||
<span class="d-block d-sm-none">
|
|
||||||
<img class="repo-img-light" alt="{{ include.username }}" src="https://github-profile-trophy.vercel.app/?username={{ include.username }}&theme={{ site.repo_trophies.theme_light }}&locale={{ site.lang }}&margin-w=15&margin-h=15&no-bg=true&rank=-C&column=3">
|
|
||||||
<img class="repo-img-dark" alt="{{ include.username }}" src="https://github-profile-trophy.vercel.app/?username={{ include.username }}&theme={{ site.repo_trophies.theme_dark }}&locale={{ site.lang }}&margin-w=15&margin-h=15&no-bg=true&rank=-C&column=3">
|
|
||||||
</span>
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
|
|
@ -0,0 +1,42 @@
|
||||||
|
<div class="repo p-2 text-center">
|
||||||
|
<a href="https://github.com/ryo-ma/github-profile-trophy">
|
||||||
|
<span class="d-none d-sm-none d-md-block">
|
||||||
|
<img
|
||||||
|
class="repo-img-light"
|
||||||
|
alt="{{ include.username }}"
|
||||||
|
src="https://github-profile-trophy.vercel.app/?username={{ include.username }}&theme={{ site.repo_trophies.theme_light }}&locale={{ site.lang }}&margin-w=15&margin-h=15&no-bg=true&rank=-C&column=6"
|
||||||
|
>
|
||||||
|
<img
|
||||||
|
class="repo-img-dark"
|
||||||
|
alt="{{ include.username }}"
|
||||||
|
src="https://github-profile-trophy.vercel.app/?username={{ include.username }}&theme={{ site.repo_trophies.theme_dark }}&locale={{ site.lang }}&margin-w=15&margin-h=15&no-bg=true&rank=-C&column=6"
|
||||||
|
>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
<span class="d-none d-sm-block d-md-none">
|
||||||
|
<img
|
||||||
|
class="repo-img-light"
|
||||||
|
alt="{{ include.username }}"
|
||||||
|
src="https://github-profile-trophy.vercel.app/?username={{ include.username }}&theme={{ site.repo_trophies.theme_light }}&locale={{ site.lang }}&margin-w=15&margin-h=15&no-bg=true&rank=-C&column=4"
|
||||||
|
>
|
||||||
|
<img
|
||||||
|
class="repo-img-dark"
|
||||||
|
alt="{{ include.username }}"
|
||||||
|
src="https://github-profile-trophy.vercel.app/?username={{ include.username }}&theme={{ site.repo_trophies.theme_dark }}&locale={{ site.lang }}&margin-w=15&margin-h=15&no-bg=true&rank=-C&column=4"
|
||||||
|
>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
<span class="d-block d-sm-none">
|
||||||
|
<img
|
||||||
|
class="repo-img-light"
|
||||||
|
alt="{{ include.username }}"
|
||||||
|
src="https://github-profile-trophy.vercel.app/?username={{ include.username }}&theme={{ site.repo_trophies.theme_light }}&locale={{ site.lang }}&margin-w=15&margin-h=15&no-bg=true&rank=-C&column=3"
|
||||||
|
>
|
||||||
|
<img
|
||||||
|
class="repo-img-dark"
|
||||||
|
alt="{{ include.username }}"
|
||||||
|
src="https://github-profile-trophy.vercel.app/?username={{ include.username }}&theme={{ site.repo_trophies.theme_dark }}&locale={{ site.lang }}&margin-w=15&margin-h=15&no-bg=true&rank=-C&column=3"
|
||||||
|
>
|
||||||
|
</span>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
|
@ -1,6 +0,0 @@
|
||||||
<div class="repo p-2 text-center">
|
|
||||||
<a href="https://github.com/{{ include.username }}">
|
|
||||||
<img class="repo-img-light w-100" alt="{{ include.username }}" src="https://github-readme-stats.vercel.app/api/?username={{ include.username }}&theme={{ site.repo_theme_light }}&show_icons=true">
|
|
||||||
<img class="repo-img-dark w-100" alt="{{ include.username }}" src="https://github-readme-stats.vercel.app/api/?username={{ include.username }}&theme={{ site.repo_theme_dark }}&show_icons=true">
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
<div class="repo p-2 text-center">
|
||||||
|
<a href="https://github.com/{{ include.username }}">
|
||||||
|
<img
|
||||||
|
class="repo-img-light w-100"
|
||||||
|
alt="{{ include.username }}"
|
||||||
|
src="https://github-readme-stats.vercel.app/api/?username={{ include.username }}&theme={{ site.repo_theme_light }}&show_icons=true"
|
||||||
|
>
|
||||||
|
<img
|
||||||
|
class="repo-img-dark w-100"
|
||||||
|
alt="{{ include.username }}"
|
||||||
|
src="https://github-readme-stats.vercel.app/api/?username={{ include.username }}&theme={{ site.repo_theme_dark }}&show_icons=true"
|
||||||
|
>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
|
@ -1,23 +0,0 @@
|
||||||
<ul class="card-text font-weight-light list-group list-group-flush">
|
|
||||||
{% for content in data[1] %}
|
|
||||||
<li class="list-group-item">
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-xs-2 cl-sm-2 col-md-2 text-center" style="width: 75px;">
|
|
||||||
{% if content.date %}
|
|
||||||
{% assign date = content.date | split: "-" | join: "." %}
|
|
||||||
{% else %}
|
|
||||||
{% assign date = "" %}
|
|
||||||
{% endif %}
|
|
||||||
<span class="badge font-weight-bold danger-color-dark text-uppercase align-middle" style="min-width: 75px;">
|
|
||||||
{{ date }}
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
<div class="col-xs-10 cl-sm-10 col-md-10 mt-2 mt-md-0">
|
|
||||||
<h6 class="title font-weight-bold ml-1 ml-md-4"><a href="{{ content.url }}">{{content.title}}</a></h6>
|
|
||||||
<h6 class="ml-1 ml-md-4" style="font-size: 0.95rem;">{{content.awarder}}</h6>
|
|
||||||
<h6 class="ml-1 ml-md-4" style="font-size: 0.95rem; font-style: italic;">{{content.summary}}</h6>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</li>
|
|
||||||
{% endfor %}
|
|
||||||
</ul>
|
|
||||||
|
|
@ -0,0 +1,19 @@
|
||||||
|
<ul class="card-text font-weight-light list-group list-group-flush">
|
||||||
|
{% for content in data[1] %}
|
||||||
|
<li class="list-group-item">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-xs-2 cl-sm-2 col-md-2 text-center" style="width: 75px">
|
||||||
|
{% if content.date %} {% assign date = content.date | split: '-' | join: '.' %} {% else %} {% assign date = '' %} {% endif %}
|
||||||
|
<span class="badge font-weight-bold danger-color-dark text-uppercase align-middle" style="min-width: 75px"> {{ date }} </span>
|
||||||
|
</div>
|
||||||
|
<div class="col-xs-10 cl-sm-10 col-md-10 mt-2 mt-md-0">
|
||||||
|
<h6 class="title font-weight-bold ml-1 ml-md-4">
|
||||||
|
<a href="{{ content.url }}">{{ content.title }}</a>
|
||||||
|
</h6>
|
||||||
|
<h6 class="ml-1 ml-md-4" style="font-size: 0.95rem">{{ content.awarder }}</h6>
|
||||||
|
<h6 class="ml-1 ml-md-4" style="font-size: 0.95rem; font-style: italic">{{ content.summary }}</h6>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
{% endfor %}
|
||||||
|
</ul>
|
||||||
|
|
@ -1,23 +0,0 @@
|
||||||
<table class="table table-cv table-sm table-borderless table-responsive table-cv-map">
|
|
||||||
{% assign skip_basics = "image,profiles,location" | split:"," %}
|
|
||||||
{% for content in data[1] %}
|
|
||||||
{% if (content[1] == "") or (skip_basics contains content[0]) %}
|
|
||||||
{% continue %}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
<tr>
|
|
||||||
<td class="p-1 pr-2 font-weight-bold"><b>{{ content[0] | capitalize }}</b></td>
|
|
||||||
<td class="p-1 pl-2 font-weight-light text">
|
|
||||||
{% if content[0] == "url" %}
|
|
||||||
<a href="{{ content[1] }}" target="_blank" rel="noopener noreferrer">{{ content[1] }}</a>
|
|
||||||
{% elsif content[0] == "email" %}
|
|
||||||
<a href="mailto:{{ content[1] }}" target="_blank">{{ content[1] }}</a>
|
|
||||||
{% elsif content[0] == "phone" %}
|
|
||||||
<a href="tel:{{ content[1] }}">{{ content[1] }}</a>
|
|
||||||
{% else %}
|
|
||||||
{{ content[1] }}
|
|
||||||
{% endif %}
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
{% endfor %}
|
|
||||||
</table>
|
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
<table class="table table-cv table-sm table-borderless table-responsive table-cv-map">
|
||||||
|
{% assign skip_basics = 'image,profiles,location' | split: ',' %}
|
||||||
|
{% for content in data[1] %}
|
||||||
|
{%
|
||||||
|
if (content[1] == "") or (skip_basics contains
|
||||||
|
content[0])
|
||||||
|
%}
|
||||||
|
{% continue %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td class="p-1 pr-2 font-weight-bold">
|
||||||
|
<b>{{ content[0] | capitalize }}</b>
|
||||||
|
</td>
|
||||||
|
<td class="p-1 pl-2 font-weight-light text">
|
||||||
|
{% if content[0] == 'url' %}
|
||||||
|
<a href="{{ content[1] }}" target="_blank" rel="noopener noreferrer">{{ content[1] }}</a>
|
||||||
|
{% elsif content[0] == 'email' %}
|
||||||
|
<a href="mailto:{{ content[1] }}" target="_blank">{{ content[1] }}</a>
|
||||||
|
{% elsif content[0] == 'phone' %}
|
||||||
|
<a href="tel:{{ content[1] }}">{{ content[1] }}</a>
|
||||||
|
{% else %}
|
||||||
|
{{ content[1] }}
|
||||||
|
{% endif %}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
{% endfor %}
|
||||||
|
</table>
|
||||||
|
|
@ -1,31 +1,35 @@
|
||||||
<div class="list-groups">
|
<div class="list-groups">
|
||||||
{% assign certificates = data[1] | sort: 'date' | reverse %}
|
{% assign certificates = data[1] | sort: 'date' | reverse %}
|
||||||
{% for content in certificates %}
|
{% for content in certificates %}
|
||||||
<div class="list-group col-md-6">
|
<div class="list-group col-md-6">
|
||||||
<table class="table-cv list-group-table">
|
<table class="table-cv list-group-table">
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr>
|
<tr>
|
||||||
{% if content.icon %}
|
{% if content.icon %}
|
||||||
<td class="list-group-category-icon"><i class="{{ content.icon }}"></i></td>
|
<td class="list-group-category-icon">
|
||||||
|
<i class="{{ content.icon }}"></i>
|
||||||
|
</td>
|
||||||
{% else %}
|
{% else %}
|
||||||
<td class="list-group-category-icon"></td>
|
<td class="list-group-category-icon"></td>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<!-- Calculate colspan number for category title -->
|
<!-- Calculate colspan number for category title -->
|
||||||
{% assign i = 1 %}
|
{% assign i = 1 %}
|
||||||
{% for item in content.items %}
|
{% for item in content.items %}
|
||||||
{% assign i = i | plus:1 %}
|
{% assign i = i | plus: 1 %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
<td colspan="{{ i }}" class="list-group-category">
|
<td colspan="{{ i }}" class="list-group-category">
|
||||||
<a href="{{ content.url | default: # }}">{{ content.name }}</a>
|
<a href="{{ content.url | default: # }}">{{ content.name }}</a>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td></td>
|
<td></td>
|
||||||
<td class="list-group-name"><b>{{ content.issuer }}</b></td>
|
<td class="list-group-name">
|
||||||
|
<b>{{ content.issuer }}</b>
|
||||||
|
</td>
|
||||||
<td class="list-group-name">{{ content.date }}</td>
|
<td class="list-group-name">{{ content.date }}</td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -1,51 +0,0 @@
|
||||||
<ul class="card-text font-weight-light list-group list-group-flush">
|
|
||||||
{% assign education = data[1] | sort: 'startDate' | reverse %}
|
|
||||||
{% for content in education %}
|
|
||||||
<li class="list-group-item">
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-xs-2 cl-sm-2 col-md-2 text-center" style="width: 75px;">
|
|
||||||
{% if content.startDate and content.startDate!="" %}
|
|
||||||
{% assign startDate = content.startDate | split: "-" | slice: 0,2 | join: "." %}
|
|
||||||
{% assign endDate = content.endDate | split: "-" | slice: 0,2 | join: "." | default: "Present" %}
|
|
||||||
{% assign date = startDate | append: " - "%}
|
|
||||||
{% assign date = date | append: endDate %}
|
|
||||||
{% else %}
|
|
||||||
{% assign date = null %}
|
|
||||||
{% endif %}
|
|
||||||
<table class="table-cv">
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
{% if date %}
|
|
||||||
<span class="badge font-weight-bold danger-color-dark text-uppercase align-middle" style="min-width: 75px;">
|
|
||||||
{{date}}
|
|
||||||
</span>
|
|
||||||
{% endif %}
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
{% if content.location %}
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
<p class="location"><i class="fa-solid fa-location-dot iconlocation"></i> {{ content.location }}</p>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
{% endif %}
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<div class="col-xs-10 cl-sm-10 col-md-10 mt-2 mt-md-0">
|
|
||||||
<h6 class="title font-weight-bold ml-1 ml-md-4"><a href="{{ content.url }}">{{content.studyType}}</a></h6>
|
|
||||||
<h6 class="ml-1 ml-md-4" style="font-size: 0.95rem;">{{content.institution}}</h6>
|
|
||||||
<h6 class="ml-1 ml-md-4" style="font-size: 0.95rem; font-style: italic;">{{content.area}}</h6>
|
|
||||||
<ul class="items">
|
|
||||||
{% for item in content.courses %}
|
|
||||||
<li>
|
|
||||||
<span class="item">{{ item }}</span>
|
|
||||||
</li>
|
|
||||||
{% endfor %}
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</li>
|
|
||||||
{% endfor %}
|
|
||||||
</ul>
|
|
||||||
|
|
@ -0,0 +1,54 @@
|
||||||
|
<ul class="card-text font-weight-light list-group list-group-flush">
|
||||||
|
{% assign education = data[1] | sort: 'startDate' | reverse %}
|
||||||
|
{% for content in education %}
|
||||||
|
<li class="list-group-item">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-xs-2 cl-sm-2 col-md-2 text-center" style="width: 75px">
|
||||||
|
{% if content.startDate and content.startDate != '' %}
|
||||||
|
{% assign startDate = content.startDate | split: '-' | slice: 0, 2 | join: '.' %}
|
||||||
|
{% assign endDate = content.endDate | split: '-' | slice: 0, 2 | join: '.' | default: 'Present' %}
|
||||||
|
{% assign date = startDate | append: ' - ' %}
|
||||||
|
{% assign date = date | append: endDate %}
|
||||||
|
{% else %}
|
||||||
|
{% assign date = null %}
|
||||||
|
{% endif %}
|
||||||
|
<table class="table-cv">
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
{% if date %}
|
||||||
|
<span class="badge font-weight-bold danger-color-dark text-uppercase align-middle" style="min-width: 75px"> {{ date }} </span>
|
||||||
|
{% endif %}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
{% if content.location %}
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<p class="location">
|
||||||
|
<i class="fa-solid fa-location-dot iconlocation"></i>
|
||||||
|
{{ content.location }}
|
||||||
|
</p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
{% endif %}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<div class="col-xs-10 cl-sm-10 col-md-10 mt-2 mt-md-0">
|
||||||
|
<h6 class="title font-weight-bold ml-1 ml-md-4">
|
||||||
|
<a href="{{ content.url }}">{{ content.studyType }}</a>
|
||||||
|
</h6>
|
||||||
|
<h6 class="ml-1 ml-md-4" style="font-size: 0.95rem">{{ content.institution }}</h6>
|
||||||
|
<h6 class="ml-1 ml-md-4" style="font-size: 0.95rem; font-style: italic">{{ content.area }}</h6>
|
||||||
|
<ul class="items">
|
||||||
|
{% for item in content.courses %}
|
||||||
|
<li>
|
||||||
|
<span class="item">{{ item }}</span>
|
||||||
|
</li>
|
||||||
|
{% endfor %}
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
{% endfor %}
|
||||||
|
</ul>
|
||||||
|
|
@ -1,29 +1,33 @@
|
||||||
<div class="list-groups">
|
<div class="list-groups">
|
||||||
{% for content in data[1] %}
|
{% for content in data[1] %}
|
||||||
<div class="list-group col-md-6">
|
<div class="list-group col-md-6">
|
||||||
<table class="table-cv list-group-table">
|
<table class="table-cv list-group-table">
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr>
|
<tr>
|
||||||
{% if content.icon %}
|
{% if content.icon %}
|
||||||
<td class="list-group-category-icon"><i class="{{ content.icon }}"></i></td>
|
<td class="list-group-category-icon">
|
||||||
|
<i class="{{ content.icon }}"></i>
|
||||||
|
</td>
|
||||||
{% else %}
|
{% else %}
|
||||||
<td class="list-group-category-icon"></td>
|
<td class="list-group-category-icon"></td>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<!-- Calculate colspan number for category title -->
|
<!-- Calculate colspan number for category title -->
|
||||||
{% assign i = 1 %}
|
{% assign i = 1 %}
|
||||||
{% for item in content.items %}
|
{% for item in content.items %}
|
||||||
{% assign i = i | plus:1 %}
|
{% assign i = i | plus: 1 %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
<td colspan="{{ i }}" class="list-group-category">{{ content.name }}</td>
|
<td colspan="{{ i }}" class="list-group-category">{{ content.name }}</td>
|
||||||
</tr>
|
</tr>
|
||||||
{% for item in content.keywords %}
|
{% for item in content.keywords %}
|
||||||
<tr>
|
<tr>
|
||||||
<td></td>
|
<td></td>
|
||||||
<td class="list-group-name"><b>{{ item }}</b></td>
|
<td class="list-group-name">
|
||||||
</tr>
|
<b>{{ item }}</b>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -1,27 +1,31 @@
|
||||||
<div class="list-groups">
|
<div class="list-groups">
|
||||||
{% for content in data[1] %}
|
{% for content in data[1] %}
|
||||||
<div class="list-group col-md-6">
|
<div class="list-group col-md-6">
|
||||||
<table class="table-cv list-group-table">
|
<table class="table-cv list-group-table">
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr>
|
<tr>
|
||||||
{% if content.icon %}
|
{% if content.icon %}
|
||||||
<td class="list-group-category-icon"><i class="{{ content.icon }}"></i></td>
|
<td class="list-group-category-icon">
|
||||||
|
<i class="{{ content.icon }}"></i>
|
||||||
|
</td>
|
||||||
{% else %}
|
{% else %}
|
||||||
<td class="list-group-category-icon"></td>
|
<td class="list-group-category-icon"></td>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<!-- Calculate colspan number for category title -->
|
<!-- Calculate colspan number for category title -->
|
||||||
{% assign i = 1 %}
|
{% assign i = 1 %}
|
||||||
{% for item in content.items %}
|
{% for item in content.items %}
|
||||||
{% assign i = i | plus:1 %}
|
{% assign i = i | plus: 1 %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
<td colspan="{{ i }}" class="list-group-category">{{ content.language }}</td>
|
<td colspan="{{ i }}" class="list-group-category">{{ content.language }}</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td></td>
|
<td></td>
|
||||||
<td class="list-group-name"><b>{{ content.fluency }}</b></td>
|
<td class="list-group-name">
|
||||||
|
<b>{{ content.fluency }}</b>
|
||||||
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -1,32 +0,0 @@
|
||||||
<ul class="card-text font-weight-light list-group list-group-flush">
|
|
||||||
{% for content in data[1] %}
|
|
||||||
<li class="list-group-item">
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-xs-2 cl-sm-2 col-md-2 text-center" style="width: 75px;">
|
|
||||||
{% if content.startDate %}
|
|
||||||
{% assign startDate = content.startDate | split: "-" | slice: 0,2 | join: "." %}
|
|
||||||
{% assign endDate = content.endDate | split: "-" | slice: 0,2 | join: "." | default: "Present" %}
|
|
||||||
{% assign date = startDate | append: " - "%}
|
|
||||||
{% assign date = date | append: endDate %}
|
|
||||||
{% else %}
|
|
||||||
{% assign date = "" %}
|
|
||||||
{% endif %}
|
|
||||||
<span class="badge font-weight-bold danger-color-dark text-uppercase align-middle" style="min-width: 75px;">
|
|
||||||
{{ date }}
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
<div class="col-xs-10 cl-sm-10 col-md-10 mt-2 mt-md-0">
|
|
||||||
<h6 class="title font-weight-bold ml-1 ml-md-4"><a href="{{ content.url }}">{{content.name}}</a></h6>
|
|
||||||
<h6 class="ml-1 ml-md-4" style="font-size: 0.95rem; font-style: italic;">{{content.summary}}</h6>
|
|
||||||
<ul class="items">
|
|
||||||
{% for item in content.highlights %}
|
|
||||||
<li>
|
|
||||||
<span class="item">{{ item }}</span>
|
|
||||||
</li>
|
|
||||||
{% endfor %}
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</li>
|
|
||||||
{% endfor %}
|
|
||||||
</ul>
|
|
||||||
|
|
@ -0,0 +1,32 @@
|
||||||
|
<ul class="card-text font-weight-light list-group list-group-flush">
|
||||||
|
{% for content in data[1] %}
|
||||||
|
<li class="list-group-item">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-xs-2 cl-sm-2 col-md-2 text-center" style="width: 75px">
|
||||||
|
{% if content.startDate %}
|
||||||
|
{% assign startDate = content.startDate | split: '-' | slice: 0, 2 | join: '.' %}
|
||||||
|
{% assign endDate = content.endDate | split: '-' | slice: 0, 2 | join: '.' | default: 'Present' %}
|
||||||
|
{% assign date = startDate | append: ' - ' %}
|
||||||
|
{% assign date = date | append: endDate %}
|
||||||
|
{% else %}
|
||||||
|
{% assign date = '' %}
|
||||||
|
{% endif %}
|
||||||
|
<span class="badge font-weight-bold danger-color-dark text-uppercase align-middle" style="min-width: 75px"> {{ date }} </span>
|
||||||
|
</div>
|
||||||
|
<div class="col-xs-10 cl-sm-10 col-md-10 mt-2 mt-md-0">
|
||||||
|
<h6 class="title font-weight-bold ml-1 ml-md-4">
|
||||||
|
<a href="{{ content.url }}">{{ content.name }}</a>
|
||||||
|
</h6>
|
||||||
|
<h6 class="ml-1 ml-md-4" style="font-size: 0.95rem; font-style: italic">{{ content.summary }}</h6>
|
||||||
|
<ul class="items">
|
||||||
|
{% for item in content.highlights %}
|
||||||
|
<li>
|
||||||
|
<span class="item">{{ item }}</span>
|
||||||
|
</li>
|
||||||
|
{% endfor %}
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
{% endfor %}
|
||||||
|
</ul>
|
||||||
|
|
@ -1,30 +0,0 @@
|
||||||
<ul class="card-text font-weight-light list-group list-group-flush">
|
|
||||||
{% assign publications = data[1] | sort: 'releaseDate' | reverse %}
|
|
||||||
{% for content in publications %}
|
|
||||||
<li class="list-group-item">
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-xs-2 cl-sm-2 col-md-2 text-center" style="width: 75px;">
|
|
||||||
{% if content.releaseDate %}
|
|
||||||
{% assign date = content.releaseDate | split: "-" | join: "." %}
|
|
||||||
{% else %}
|
|
||||||
{% assign date = "" %}
|
|
||||||
{% endif %}
|
|
||||||
<table class="table-cv">
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
<span class="badge font-weight-bold danger-color-dark text-uppercase align-middle" style="min-width: 75px;">{{date}}</span>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<div class="col-xs-10 cl-sm-10 col-md-10 mt-2 mt-md-0">
|
|
||||||
<h6 class="title font-weight-bold ml-1 ml-md-4"><a href="{{ content.url }}">{{content.name}}</a></h6>
|
|
||||||
<h6 class="ml-1 ml-md-4" style="font-size: 0.95rem;">{{content.publisher}}</h6>
|
|
||||||
<h6 class="ml-1 ml-md-4" style="font-size: 0.95rem; font-style: italic;">{{content.summary}}</h6>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</li>
|
|
||||||
{% endfor %}
|
|
||||||
</ul>
|
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
<ul class="card-text font-weight-light list-group list-group-flush">
|
||||||
|
{% assign publications = data[1] | sort: 'releaseDate' | reverse %}
|
||||||
|
{% for content in publications %}
|
||||||
|
<li class="list-group-item">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-xs-2 cl-sm-2 col-md-2 text-center" style="width: 75px">
|
||||||
|
{% if content.releaseDate %} {% assign date = content.releaseDate | split: '-' | join: '.' %} {% else %} {% assign date = '' %} {% endif %}
|
||||||
|
<table class="table-cv">
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<span class="badge font-weight-bold danger-color-dark text-uppercase align-middle" style="min-width: 75px">{{ date }}</span>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<div class="col-xs-10 cl-sm-10 col-md-10 mt-2 mt-md-0">
|
||||||
|
<h6 class="title font-weight-bold ml-1 ml-md-4">
|
||||||
|
<a href="{{ content.url }}">{{ content.name }}</a>
|
||||||
|
</h6>
|
||||||
|
<h6 class="ml-1 ml-md-4" style="font-size: 0.95rem">{{ content.publisher }}</h6>
|
||||||
|
<h6 class="ml-1 ml-md-4" style="font-size: 0.95rem; font-style: italic">{{ content.summary }}</h6>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
{% endfor %}
|
||||||
|
</ul>
|
||||||
|
|
@ -1,27 +1,31 @@
|
||||||
<div class="list-groups">
|
<div class="list-groups">
|
||||||
{% for content in data[1] %}
|
{% for content in data[1] %}
|
||||||
<div class="list-group col-md-6">
|
<div class="list-group col-md-6">
|
||||||
<table class="table-cv list-group-table">
|
<table class="table-cv list-group-table">
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr>
|
<tr>
|
||||||
{% if content.icon %}
|
{% if content.icon %}
|
||||||
<td class="list-group-category-icon"><i class="{{ content.icon }}"></i></td>
|
<td class="list-group-category-icon">
|
||||||
|
<i class="{{ content.icon }}"></i>
|
||||||
|
</td>
|
||||||
{% else %}
|
{% else %}
|
||||||
<td class="list-group-category-icon"></td>
|
<td class="list-group-category-icon"></td>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<!-- Calculate colspan number for category title -->
|
<!-- Calculate colspan number for category title -->
|
||||||
{% assign i = 1 %}
|
{% assign i = 1 %}
|
||||||
{% for item in content.items %}
|
{% for item in content.items %}
|
||||||
{% assign i = i | plus:1 %}
|
{% assign i = i | plus: 1 %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
<td colspan="{{ i }}" class="list-group-category">{{ content.name }}</td>
|
<td colspan="{{ i }}" class="list-group-category">{{ content.name }}</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td></td>
|
<td></td>
|
||||||
<td class="list-group-name"><b>{{ content.reference }}</b></td>
|
<td class="list-group-name">
|
||||||
|
<b>{{ content.reference }}</b>
|
||||||
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -1,29 +1,33 @@
|
||||||
<div class="list-groups">
|
<div class="list-groups">
|
||||||
{% for content in data[1] %}
|
{% for content in data[1] %}
|
||||||
<div class="list-group col-md-6" title="{{ content.level }}">
|
<div class="list-group col-md-6" title="{{ content.level }}">
|
||||||
<table class="table-cv list-group-table">
|
<table class="table-cv list-group-table">
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr>
|
<tr>
|
||||||
{% if content.icon %}
|
{% if content.icon %}
|
||||||
<td class="list-group-category-icon"><i class="{{ content.icon }}"></i></td>
|
<td class="list-group-category-icon">
|
||||||
|
<i class="{{ content.icon }}"></i>
|
||||||
|
</td>
|
||||||
{% else %}
|
{% else %}
|
||||||
<td class="list-group-category-icon"></td>
|
<td class="list-group-category-icon"></td>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<!-- Calculate colspan number for category title -->
|
<!-- Calculate colspan number for category title -->
|
||||||
{% assign i = 1 %}
|
{% assign i = 1 %}
|
||||||
{% for item in content.items %}
|
{% for item in content.items %}
|
||||||
{% assign i = i | plus:1 %}
|
{% assign i = i | plus: 1 %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
<td colspan="{{ i }}" class="list-group-category">{{ content.name }}</td>
|
<td colspan="{{ i }}" class="list-group-category">{{ content.name }}</td>
|
||||||
</tr>
|
</tr>
|
||||||
{% for item in content.keywords %}
|
{% for item in content.keywords %}
|
||||||
<tr>
|
<tr>
|
||||||
<td></td>
|
<td></td>
|
||||||
<td class="list-group-name"><b>{{ item }}</b></td>
|
<td class="list-group-name">
|
||||||
</tr>
|
<b>{{ item }}</b>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -1,34 +0,0 @@
|
||||||
<ul class="card-text font-weight-light list-group list-group-flush">
|
|
||||||
{% assign volunteer = data[1] | sort: 'startDate' | reverse %}
|
|
||||||
{% for content in volunteer %}
|
|
||||||
<li class="list-group-item">
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-xs-2 cl-sm-2 col-md-2 text-center" style="width: 75px;">
|
|
||||||
{% if content.startDate %}
|
|
||||||
{% assign startDate = content.startDate | split: "-" | slice: 0,2 | join: "." %}
|
|
||||||
{% assign endDate = content.endDate | split: "-" | slice: 0,2 | join: "." | default: "Present" %}
|
|
||||||
{% assign date = startDate | append: " - "%}
|
|
||||||
{% assign date = date | append: endDate %}
|
|
||||||
{% else %}
|
|
||||||
{% assign date = "" %}
|
|
||||||
{% endif %}
|
|
||||||
<span class="badge font-weight-bold danger-color-dark text-uppercase align-middle" style="min-width: 75px;">
|
|
||||||
{{ date }}
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
<div class="col-xs-10 cl-sm-10 col-md-10 mt-2 mt-md-0">
|
|
||||||
<h6 class="title font-weight-bold ml-1 ml-md-4"><a href="{{ content.url }}">{{content.position}}</a></h6>
|
|
||||||
<h6 class="ml-1 ml-md-4" style="font-size: 0.95rem;">{{content.organization}}</h6>
|
|
||||||
<h6 class="ml-1 ml-md-4" style="font-size: 0.95rem; font-style: italic;">{{content.summary}}</h6>
|
|
||||||
<ul class="items">
|
|
||||||
{% for item in content.highlights %}
|
|
||||||
<li>
|
|
||||||
<span class="item">{{ item }}</span>
|
|
||||||
</li>
|
|
||||||
{% endfor %}
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</li>
|
|
||||||
{% endfor %}
|
|
||||||
</ul>
|
|
||||||
|
|
@ -0,0 +1,34 @@
|
||||||
|
<ul class="card-text font-weight-light list-group list-group-flush">
|
||||||
|
{% assign volunteer = data[1] | sort: 'startDate' | reverse %}
|
||||||
|
{% for content in volunteer %}
|
||||||
|
<li class="list-group-item">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-xs-2 cl-sm-2 col-md-2 text-center" style="width: 75px">
|
||||||
|
{% if content.startDate %}
|
||||||
|
{% assign startDate = content.startDate | split: '-' | slice: 0, 2 | join: '.' %}
|
||||||
|
{% assign endDate = content.endDate | split: '-' | slice: 0, 2 | join: '.' | default: 'Present' %}
|
||||||
|
{% assign date = startDate | append: ' - ' %}
|
||||||
|
{% assign date = date | append: endDate %}
|
||||||
|
{% else %}
|
||||||
|
{% assign date = '' %}
|
||||||
|
{% endif %}
|
||||||
|
<span class="badge font-weight-bold danger-color-dark text-uppercase align-middle" style="min-width: 75px"> {{ date }} </span>
|
||||||
|
</div>
|
||||||
|
<div class="col-xs-10 cl-sm-10 col-md-10 mt-2 mt-md-0">
|
||||||
|
<h6 class="title font-weight-bold ml-1 ml-md-4">
|
||||||
|
<a href="{{ content.url }}">{{ content.position }}</a>
|
||||||
|
</h6>
|
||||||
|
<h6 class="ml-1 ml-md-4" style="font-size: 0.95rem">{{ content.organization }}</h6>
|
||||||
|
<h6 class="ml-1 ml-md-4" style="font-size: 0.95rem; font-style: italic">{{ content.summary }}</h6>
|
||||||
|
<ul class="items">
|
||||||
|
{% for item in content.highlights %}
|
||||||
|
<li>
|
||||||
|
<span class="item">{{ item }}</span>
|
||||||
|
</li>
|
||||||
|
{% endfor %}
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
{% endfor %}
|
||||||
|
</ul>
|
||||||
|
|
@ -1,34 +0,0 @@
|
||||||
<ul class="card-text font-weight-light list-group list-group-flush">
|
|
||||||
{% assign work = data[1] | sort: 'startDate' | reverse %}
|
|
||||||
{% for content in work %}
|
|
||||||
<li class="list-group-item">
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-xs-2 cl-sm-2 col-md-2 text-center" style="width: 75px;">
|
|
||||||
{% if content.startDate %}
|
|
||||||
{% assign startDate = content.startDate | split: "-" | slice: 0,2 | join: "." %}
|
|
||||||
{% assign endDate = content.endDate | split: "-" | slice: 0,2 | join: "." | default: "Present" %}
|
|
||||||
{% assign date = startDate | append: " - "%}
|
|
||||||
{% assign date = date | append: endDate %}
|
|
||||||
{% else %}
|
|
||||||
{% assign date = "" %}
|
|
||||||
{% endif %}
|
|
||||||
<span class="badge font-weight-bold danger-color-dark text-uppercase align-middle" style="min-width: 75px;">
|
|
||||||
{{ date }}
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
<div class="col-xs-10 cl-sm-10 col-md-10 mt-2 mt-md-0">
|
|
||||||
<h6 class="title font-weight-bold ml-1 ml-md-4"><a href="{{ content.url }}">{{content.position}}</a></h6>
|
|
||||||
<h6 class="ml-1 ml-md-4" style="font-size: 0.95rem;">{{content.name}}</h6>
|
|
||||||
<h6 class="ml-1 ml-md-4" style="font-size: 0.95rem; font-style: italic;">{{content.summary}}</h6>
|
|
||||||
<ul class="items">
|
|
||||||
{% for item in content.highlights %}
|
|
||||||
<li>
|
|
||||||
<span class="item">{{ item }}</span>
|
|
||||||
</li>
|
|
||||||
{% endfor %}
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</li>
|
|
||||||
{% endfor %}
|
|
||||||
</ul>
|
|
||||||
|
|
@ -0,0 +1,34 @@
|
||||||
|
<ul class="card-text font-weight-light list-group list-group-flush">
|
||||||
|
{% assign work = data[1] | sort: 'startDate' | reverse %}
|
||||||
|
{% for content in work %}
|
||||||
|
<li class="list-group-item">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-xs-2 cl-sm-2 col-md-2 text-center" style="width: 75px">
|
||||||
|
{% if content.startDate %}
|
||||||
|
{% assign startDate = content.startDate | split: '-' | slice: 0, 2 | join: '.' %}
|
||||||
|
{% assign endDate = content.endDate | split: '-' | slice: 0, 2 | join: '.' | default: 'Present' %}
|
||||||
|
{% assign date = startDate | append: ' - ' %}
|
||||||
|
{% assign date = date | append: endDate %}
|
||||||
|
{% else %}
|
||||||
|
{% assign date = '' %}
|
||||||
|
{% endif %}
|
||||||
|
<span class="badge font-weight-bold danger-color-dark text-uppercase align-middle" style="min-width: 75px"> {{ date }} </span>
|
||||||
|
</div>
|
||||||
|
<div class="col-xs-10 cl-sm-10 col-md-10 mt-2 mt-md-0">
|
||||||
|
<h6 class="title font-weight-bold ml-1 ml-md-4">
|
||||||
|
<a href="{{ content.url }}">{{ content.position }}</a>
|
||||||
|
</h6>
|
||||||
|
<h6 class="ml-1 ml-md-4" style="font-size: 0.95rem">{{ content.name }}</h6>
|
||||||
|
<h6 class="ml-1 ml-md-4" style="font-size: 0.95rem; font-style: italic">{{ content.summary }}</h6>
|
||||||
|
<ul class="items">
|
||||||
|
{% for item in content.highlights %}
|
||||||
|
<li>
|
||||||
|
<span class="item">{{ item }}</span>
|
||||||
|
</li>
|
||||||
|
{% endfor %}
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
{% endfor %}
|
||||||
|
</ul>
|
||||||
|
|
@ -1,18 +1,24 @@
|
||||||
{%- if site.enable_google_analytics -%}
|
{% if site.enable_google_analytics %}
|
||||||
<!-- Global site tag (gtag.js) - Google Analytics -->
|
<!-- Global site tag (gtag.js) - Google Analytics -->
|
||||||
<script async src="https://www.googletagmanager.com/gtag/js?id={{ site.google_analytics }}"></script>
|
<script async src="https://www.googletagmanager.com/gtag/js?id={{ site.google_analytics }}"></script>
|
||||||
<script>
|
<script>
|
||||||
window.dataLayer = window.dataLayer || [];
|
window.dataLayer = window.dataLayer || [];
|
||||||
function gtag(){ window.dataLayer.push(arguments); }
|
function gtag() {
|
||||||
|
window.dataLayer.push(arguments);
|
||||||
|
}
|
||||||
gtag('js', new Date());
|
gtag('js', new Date());
|
||||||
gtag('config', '{{ site.google_analytics }}');
|
gtag('config', '{{ site.google_analytics }}');
|
||||||
</script>
|
</script>
|
||||||
{%- endif -%}
|
{% endif %}
|
||||||
{%- if site.enable_cronitor_analytics -%}
|
{% if site.enable_cronitor_analytics %}
|
||||||
<!-- Cronitor RUM -->
|
<!-- Cronitor RUM -->
|
||||||
<script async src="https://rum.cronitor.io/script.js"></script>
|
<script async src="https://rum.cronitor.io/script.js"></script>
|
||||||
<script>
|
<script>
|
||||||
window.cronitor = window.cronitor || function() { (window.cronitor.q = window.cronitor.q || []).push(arguments); };
|
window.cronitor =
|
||||||
|
window.cronitor ||
|
||||||
|
function () {
|
||||||
|
(window.cronitor.q = window.cronitor.q || []).push(arguments);
|
||||||
|
};
|
||||||
cronitor('config', { clientKey: '{{site.cronitor_analytics}}' });
|
cronitor('config', { clientKey: '{{site.cronitor_analytics}}' });
|
||||||
</script>
|
</script>
|
||||||
{%- endif -%}
|
{% endif %}
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
{%- if site.enable_publication_badges.altmetric %}
|
{% if site.enable_publication_badges.altmetric %}
|
||||||
<script async src="https://d1bxh8uas1mnw7.cloudfront.net/assets/embed.js"></script>
|
<script async src="https://d1bxh8uas1mnw7.cloudfront.net/assets/embed.js"></script>
|
||||||
{%- endif %}
|
{% endif %}
|
||||||
{%- if site.enable_publication_badges.dimensions %}
|
{% if site.enable_publication_badges.dimensions %}
|
||||||
<script async src="https://badge.dimensions.ai/badge.js"></script>
|
<script async src="https://badge.dimensions.ai/badge.js"></script>
|
||||||
{%- endif %}
|
{% endif %}
|
||||||
|
|
@ -1,4 +0,0 @@
|
||||||
<!-- Bootsrap & MDB scripts -->
|
|
||||||
<script src="{{ '/assets/js/bootstrap.bundle.min.js' | relative_url }}"></script>
|
|
||||||
<!-- <script src="{{ '/assets/js/mdb.min.js' | relative_url }}"></script> -->
|
|
||||||
<script src="https://cdn.jsdelivr.net/npm/mdbootstrap@{{ site.mdb.version }}/js/mdb.min.js" integrity="{{ site.mdb.integrity.js }}" crossorigin="anonymous"></script>
|
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
<!-- Bootsrap & MDB scripts -->
|
||||||
|
<script src="{{ '/assets/js/bootstrap.bundle.min.js' | relative_url }}"></script>
|
||||||
|
<!-- <script src="{{ '/assets/js/mdb.min.js' | relative_url }}"></script> -->
|
||||||
|
<script
|
||||||
|
src="https://cdn.jsdelivr.net/npm/mdbootstrap@{{ site.mdb.version }}/js/mdb.min.js"
|
||||||
|
integrity="{{ site.mdb.integrity.js }}"
|
||||||
|
crossorigin="anonymous"
|
||||||
|
></script>
|
||||||
|
|
@ -1,2 +0,0 @@
|
||||||
<!-- jQuery -->
|
|
||||||
<script src="https://cdn.jsdelivr.net/npm/jquery@{{ site.jquery.version }}/dist/jquery.min.js" integrity="{{ site.jquery.integrity }}" crossorigin="anonymous"></script>
|
|
||||||
|
|
@ -0,0 +1,6 @@
|
||||||
|
<!-- jQuery -->
|
||||||
|
<script
|
||||||
|
src="https://cdn.jsdelivr.net/npm/jquery@{{ site.jquery.version }}/dist/jquery.min.js"
|
||||||
|
integrity="{{ site.jquery.integrity }}"
|
||||||
|
crossorigin="anonymous"
|
||||||
|
></script>
|
||||||
|
|
@ -1,6 +0,0 @@
|
||||||
{%- if site.enable_masonry -%}
|
|
||||||
<!-- Masonry & imagesLoaded -->
|
|
||||||
<script defer src="https://cdn.jsdelivr.net/npm/masonry-layout@{{ site.masonry.version }}/dist/masonry.pkgd.min.js" integrity="{{ site.masonry.integrity }}" crossorigin="anonymous"></script>
|
|
||||||
<script defer src="https://cdn.jsdelivr.net/npm/imagesloaded@4/imagesloaded.pkgd.min.js"></script>
|
|
||||||
<script defer src="{{ '/assets/js/masonry.js' | relative_url }}" type="text/javascript"></script>
|
|
||||||
{%- endif -%}
|
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
{% if site.enable_masonry %}
|
||||||
|
<!-- Masonry & imagesLoaded -->
|
||||||
|
<script
|
||||||
|
defer
|
||||||
|
src="https://cdn.jsdelivr.net/npm/masonry-layout@{{ site.masonry.version }}/dist/masonry.pkgd.min.js"
|
||||||
|
integrity="{{ site.masonry.integrity }}"
|
||||||
|
crossorigin="anonymous"
|
||||||
|
></script>
|
||||||
|
<script defer src="https://cdn.jsdelivr.net/npm/imagesloaded@4/imagesloaded.pkgd.min.js"></script>
|
||||||
|
<script defer src="{{ '/assets/js/masonry.js' | relative_url }}" type="text/javascript"></script>
|
||||||
|
{% endif %}
|
||||||
|
|
@ -1,12 +0,0 @@
|
||||||
{%- if site.enable_math -%}
|
|
||||||
<!-- MathJax -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
window.MathJax = {
|
|
||||||
tex: {
|
|
||||||
tags: 'ams'
|
|
||||||
}
|
|
||||||
};
|
|
||||||
</script>
|
|
||||||
<script defer type="text/javascript" id="MathJax-script" src="https://cdn.jsdelivr.net/npm/mathjax@{{ site.mathjax.version }}/es5/tex-mml-chtml.js"></script>
|
|
||||||
<script defer src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script>
|
|
||||||
{%- endif %}
|
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
{% if site.enable_math %}
|
||||||
|
<!-- MathJax -->
|
||||||
|
<script type="text/javascript">
|
||||||
|
window.MathJax = {
|
||||||
|
tex: {
|
||||||
|
tags: 'ams',
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
<script
|
||||||
|
defer
|
||||||
|
type="text/javascript"
|
||||||
|
id="MathJax-script"
|
||||||
|
src="https://cdn.jsdelivr.net/npm/mathjax@{{ site.mathjax.version }}/es5/tex-mml-chtml.js"
|
||||||
|
></script>
|
||||||
|
<script defer src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script>
|
||||||
|
{% endif %}
|
||||||
|
|
@ -1,10 +1,10 @@
|
||||||
{% if page.mermaid and page.mermaid.enabled %}
|
{% if page.mermaid and page.mermaid.enabled %}
|
||||||
<script src="https://cdn.jsdelivr.net/npm/mermaid@10/dist/mermaid.min.js"></script>
|
<script src="https://cdn.jsdelivr.net/npm/mermaid@10/dist/mermaid.min.js"></script>
|
||||||
{% if page.mermaid.zoomable %}
|
{% if page.mermaid.zoomable %}
|
||||||
<script src="https://d3js.org/d3.v7.min.js"></script>
|
<script src="https://d3js.org/d3.v7.min.js"></script>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<script>
|
<script>
|
||||||
let theme = localStorage.getItem("theme");
|
let theme = localStorage.getItem('theme');
|
||||||
|
|
||||||
/* Create mermaid diagram as another node and hide the code block, appending the mermaid node after it
|
/* Create mermaid diagram as another node and hide the code block, appending the mermaid node after it
|
||||||
this is done to enable retrieving the code again when changing theme between light/dark */
|
this is done to enable retrieving the code again when changing theme between light/dark */
|
||||||
|
|
@ -20,22 +20,22 @@
|
||||||
backup.after(mermaid);
|
backup.after(mermaid);
|
||||||
});
|
});
|
||||||
|
|
||||||
mermaid.initialize({ theme: theme })
|
mermaid.initialize({ theme: theme });
|
||||||
|
|
||||||
/* Zoomable mermaid diagrams */
|
/* Zoomable mermaid diagrams */
|
||||||
if (typeof d3 !== 'undefined') {
|
if (typeof d3 !== 'undefined') {
|
||||||
window.addEventListener('load', function () {
|
window.addEventListener('load', function () {
|
||||||
var svgs = d3.selectAll(".mermaid svg");
|
var svgs = d3.selectAll('.mermaid svg');
|
||||||
svgs.each(function () {
|
svgs.each(function () {
|
||||||
var svg = d3.select(this);
|
var svg = d3.select(this);
|
||||||
svg.html("<g>" + svg.html() + "</g>");
|
svg.html('<g>' + svg.html() + '</g>');
|
||||||
var inner = svg.select("g");
|
var inner = svg.select('g');
|
||||||
var zoom = d3.zoom().on("zoom", function (event) {
|
var zoom = d3.zoom().on('zoom', function (event) {
|
||||||
inner.attr("transform", event.transform);
|
inner.attr('transform', event.transform);
|
||||||
});
|
});
|
||||||
svg.call(zoom);
|
svg.call(zoom);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
@ -1,25 +0,0 @@
|
||||||
{% if site.enable_tooltips %}
|
|
||||||
<!-- Enable Tooltips -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
$(function () {$('[data-toggle="tooltip"]').tooltip()})
|
|
||||||
</script>
|
|
||||||
{%- endif %}
|
|
||||||
|
|
||||||
{%- if site.enable_medium_zoom %}
|
|
||||||
<!-- Medium Zoom JS -->
|
|
||||||
<script defer src="https://cdn.jsdelivr.net/npm/medium-zoom@{{ site.medium_zoom.version }}/dist/medium-zoom.min.js" integrity="{{ site.medium_zoom.integrity }}" crossorigin="anonymous"></script>
|
|
||||||
<script defer src="{{ '/assets/js/zoom.js' | relative_url | bust_file_cache }}"></script>
|
|
||||||
{%- endif -%}
|
|
||||||
|
|
||||||
{% if page.toc and page.toc.sidebar %}
|
|
||||||
<!-- Sidebar Table of Contents -->
|
|
||||||
<script defer src="{{ '/assets/js/bootstrap-toc.min.js' | relative_url | bust_file_cache }}"></script>
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
<!-- Bootstrap Table -->
|
|
||||||
<script defer src="https://unpkg.com/bootstrap-table@{{ site.bootstrap-table.version }}/dist/bootstrap-table.min.js"></script>
|
|
||||||
|
|
||||||
<!-- Load Common JS -->
|
|
||||||
<script src="{{ '/assets/js/no_defer.js' | relative_url | bust_file_cache }}"></script>
|
|
||||||
<script defer src="{{ '/assets/js/common.js' | relative_url | bust_file_cache }}"></script>
|
|
||||||
<script defer src="{{ '/assets/js/copy_code.js' | relative_url | bust_file_cache }}" type="text/javascript"></script>
|
|
||||||
|
|
@ -0,0 +1,30 @@
|
||||||
|
{% if site.enable_tooltips %}
|
||||||
|
<!-- Enable Tooltips -->
|
||||||
|
<script type="text/javascript">
|
||||||
|
$(function () {
|
||||||
|
$('[data-toggle="tooltip"]').tooltip();
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
{% endif %}
|
||||||
|
{% if site.enable_medium_zoom %}
|
||||||
|
<!-- Medium Zoom JS -->
|
||||||
|
<script
|
||||||
|
defer
|
||||||
|
src="https://cdn.jsdelivr.net/npm/medium-zoom@{{ site.medium_zoom.version }}/dist/medium-zoom.min.js"
|
||||||
|
integrity="{{ site.medium_zoom.integrity }}"
|
||||||
|
crossorigin="anonymous"
|
||||||
|
></script>
|
||||||
|
<script defer src="{{ '/assets/js/zoom.js' | relative_url | bust_file_cache }}"></script>
|
||||||
|
{% endif %}
|
||||||
|
{% if page.toc and page.toc.sidebar %}
|
||||||
|
<!-- Sidebar Table of Contents -->
|
||||||
|
<script defer src="{{ '/assets/js/bootstrap-toc.min.js' | relative_url | bust_file_cache }}"></script>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
<!-- Bootstrap Table -->
|
||||||
|
<script defer src="https://unpkg.com/bootstrap-table@{{ site.bootstrap-table.version }}/dist/bootstrap-table.min.js"></script>
|
||||||
|
|
||||||
|
<!-- Load Common JS -->
|
||||||
|
<script src="{{ '/assets/js/no_defer.js' | relative_url | bust_file_cache }}"></script>
|
||||||
|
<script defer src="{{ '/assets/js/common.js' | relative_url | bust_file_cache }}"></script>
|
||||||
|
<script defer src="{{ '/assets/js/copy_code.js' | relative_url | bust_file_cache }}" type="text/javascript"></script>
|
||||||
|
|
@ -1,80 +0,0 @@
|
||||||
{% if site.enable_progressbar %}
|
|
||||||
|
|
||||||
<!-- Scrolling Progress Bar -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
/*
|
|
||||||
* This JavaScript code has been adapted from the article
|
|
||||||
* https://css-tricks.com/reading-position-indicator/ authored by Pankaj Parashar,
|
|
||||||
* published on the website https://css-tricks.com on the 7th of May, 2014.
|
|
||||||
* Couple of changes were made to the original code to make it compatible
|
|
||||||
* with the `al-foio` theme.
|
|
||||||
*/
|
|
||||||
const progressBar = $("#progress");
|
|
||||||
/*
|
|
||||||
* We set up the bar after all elements are done loading.
|
|
||||||
* In some cases, if the images in the page are larger than the intended
|
|
||||||
* size they'll have on the page, they'll be resized via CSS to accomodate
|
|
||||||
* the desired size. This mistake, however, breaks the computations as the
|
|
||||||
* scroll size is computed as soon as the elements finish loading.
|
|
||||||
* To account for this, a minimal delay was introduced before computing the
|
|
||||||
* values.
|
|
||||||
*/
|
|
||||||
window.onload = function () {
|
|
||||||
setTimeout(progressBarSetup, 50);
|
|
||||||
};
|
|
||||||
/*
|
|
||||||
* We set up the bar according to the browser.
|
|
||||||
* If the browser supports the progress element we use that.
|
|
||||||
* Otherwise, we resize the bar thru CSS styling
|
|
||||||
*/
|
|
||||||
function progressBarSetup() {
|
|
||||||
if ("max" in document.createElement("progress")) {
|
|
||||||
initializeProgressElement();
|
|
||||||
$(document).on("scroll", function() {
|
|
||||||
progressBar.attr({ value: getCurrentScrollPosition() });
|
|
||||||
});
|
|
||||||
$(window).on("resize", initializeProgressElement);
|
|
||||||
} else {
|
|
||||||
resizeProgressBar();
|
|
||||||
$(document).on("scroll", resizeProgressBar);
|
|
||||||
$(window).on("resize", resizeProgressBar);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/*
|
|
||||||
* The vertical scroll position is the same as the number of pixels that
|
|
||||||
* are hidden from view above the scrollable area. Thus, a value > 0 is
|
|
||||||
* how much the user has scrolled from the top
|
|
||||||
*/
|
|
||||||
function getCurrentScrollPosition() {
|
|
||||||
return $(window).scrollTop();
|
|
||||||
}
|
|
||||||
|
|
||||||
function initializeProgressElement() {
|
|
||||||
let navbarHeight = $("#navbar").outerHeight(true);
|
|
||||||
$("body").css({ "padding-top": navbarHeight });
|
|
||||||
$("progress-container").css({ "padding-top": navbarHeight });
|
|
||||||
progressBar.css({ top: navbarHeight });
|
|
||||||
progressBar.attr({
|
|
||||||
max: getDistanceToScroll(),
|
|
||||||
value: getCurrentScrollPosition(),
|
|
||||||
});
|
|
||||||
}
|
|
||||||
/*
|
|
||||||
* The offset between the html document height and the browser viewport
|
|
||||||
* height will be greater than zero if vertical scroll is possible.
|
|
||||||
* This is the distance the user can scroll
|
|
||||||
*/
|
|
||||||
function getDistanceToScroll() {
|
|
||||||
return $(document).height() - $(window).height();
|
|
||||||
}
|
|
||||||
|
|
||||||
function resizeProgressBar() {
|
|
||||||
progressBar.css({ width: getWidthPercentage() + "%" });
|
|
||||||
}
|
|
||||||
// The scroll ratio equals the percentage to resize the bar
|
|
||||||
function getWidthPercentage() {
|
|
||||||
return (getCurrentScrollPosition() / getDistanceToScroll()) * 100;
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
|
|
||||||
{%- endif %}
|
|
||||||
|
|
@ -0,0 +1,78 @@
|
||||||
|
{% if site.enable_progressbar %}
|
||||||
|
<!-- Scrolling Progress Bar -->
|
||||||
|
<script type="text/javascript">
|
||||||
|
/*
|
||||||
|
* This JavaScript code has been adapted from the article
|
||||||
|
* https://css-tricks.com/reading-position-indicator/ authored by Pankaj Parashar,
|
||||||
|
* published on the website https://css-tricks.com on the 7th of May, 2014.
|
||||||
|
* Couple of changes were made to the original code to make it compatible
|
||||||
|
* with the `al-foio` theme.
|
||||||
|
*/
|
||||||
|
const progressBar = $('#progress');
|
||||||
|
/*
|
||||||
|
* We set up the bar after all elements are done loading.
|
||||||
|
* In some cases, if the images in the page are larger than the intended
|
||||||
|
* size they'll have on the page, they'll be resized via CSS to accomodate
|
||||||
|
* the desired size. This mistake, however, breaks the computations as the
|
||||||
|
* scroll size is computed as soon as the elements finish loading.
|
||||||
|
* To account for this, a minimal delay was introduced before computing the
|
||||||
|
* values.
|
||||||
|
*/
|
||||||
|
window.onload = function () {
|
||||||
|
setTimeout(progressBarSetup, 50);
|
||||||
|
};
|
||||||
|
/*
|
||||||
|
* We set up the bar according to the browser.
|
||||||
|
* If the browser supports the progress element we use that.
|
||||||
|
* Otherwise, we resize the bar thru CSS styling
|
||||||
|
*/
|
||||||
|
function progressBarSetup() {
|
||||||
|
if ('max' in document.createElement('progress')) {
|
||||||
|
initializeProgressElement();
|
||||||
|
$(document).on('scroll', function () {
|
||||||
|
progressBar.attr({ value: getCurrentScrollPosition() });
|
||||||
|
});
|
||||||
|
$(window).on('resize', initializeProgressElement);
|
||||||
|
} else {
|
||||||
|
resizeProgressBar();
|
||||||
|
$(document).on('scroll', resizeProgressBar);
|
||||||
|
$(window).on('resize', resizeProgressBar);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/*
|
||||||
|
* The vertical scroll position is the same as the number of pixels that
|
||||||
|
* are hidden from view above the scrollable area. Thus, a value > 0 is
|
||||||
|
* how much the user has scrolled from the top
|
||||||
|
*/
|
||||||
|
function getCurrentScrollPosition() {
|
||||||
|
return $(window).scrollTop();
|
||||||
|
}
|
||||||
|
|
||||||
|
function initializeProgressElement() {
|
||||||
|
let navbarHeight = $('#navbar').outerHeight(true);
|
||||||
|
$('body').css({ 'padding-top': navbarHeight });
|
||||||
|
$('progress-container').css({ 'padding-top': navbarHeight });
|
||||||
|
progressBar.css({ top: navbarHeight });
|
||||||
|
progressBar.attr({
|
||||||
|
max: getDistanceToScroll(),
|
||||||
|
value: getCurrentScrollPosition(),
|
||||||
|
});
|
||||||
|
}
|
||||||
|
/*
|
||||||
|
* The offset between the html document height and the browser viewport
|
||||||
|
* height will be greater than zero if vertical scroll is possible.
|
||||||
|
* This is the distance the user can scroll
|
||||||
|
*/
|
||||||
|
function getDistanceToScroll() {
|
||||||
|
return $(document).height() - $(window).height();
|
||||||
|
}
|
||||||
|
|
||||||
|
function resizeProgressBar() {
|
||||||
|
progressBar.css({ width: getWidthPercentage() + '%' });
|
||||||
|
}
|
||||||
|
// The scroll ratio equals the percentage to resize the bar
|
||||||
|
function getWidthPercentage() {
|
||||||
|
return (getCurrentScrollPosition() / getDistanceToScroll()) * 100;
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
{% endif %}
|
||||||
|
|
@ -1,20 +0,0 @@
|
||||||
{% if site.wechat_qr %}
|
|
||||||
|
|
||||||
<!-- WeChat Modal -->
|
|
||||||
|
|
||||||
<script>
|
|
||||||
var wechatModal = document.getElementById("WeChatMod");
|
|
||||||
var wechatBtn = document.getElementById("WeChatBtn");
|
|
||||||
|
|
||||||
wechatBtn.onclick = function() {
|
|
||||||
wechatModal.style.display = "block";
|
|
||||||
}
|
|
||||||
|
|
||||||
window.onclick = function(event) {
|
|
||||||
if (event.target == wechatModal) {
|
|
||||||
wechatModal.style.display = "none";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
|
|
||||||
{% endif %}
|
|
||||||
|
|
@ -0,0 +1,18 @@
|
||||||
|
{% if site.wechat_qr %}
|
||||||
|
<!-- WeChat Modal -->
|
||||||
|
|
||||||
|
<script>
|
||||||
|
var wechatModal = document.getElementById('WeChatMod');
|
||||||
|
var wechatBtn = document.getElementById('WeChatBtn');
|
||||||
|
|
||||||
|
wechatBtn.onclick = function () {
|
||||||
|
wechatModal.style.display = 'block';
|
||||||
|
};
|
||||||
|
|
||||||
|
window.onclick = function (event) {
|
||||||
|
if (event.target == wechatModal) {
|
||||||
|
wechatModal.style.display = 'none';
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
{% endif %}
|
||||||
|
|
@ -1,4 +0,0 @@
|
||||||
|
|
||||||
<div class="publications">
|
|
||||||
{% bibliography --group_by none --query @*[selected=true]* %}
|
|
||||||
</div>
|
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
<div class="publications">
|
||||||
|
{% bibliography --group_by none --query @*[selected=true]* %}
|
||||||
|
</div>
|
||||||
|
|
@ -1,118 +0,0 @@
|
||||||
{%- if site.email -%}
|
|
||||||
<a href="mailto:{{ site.email | encode_email }}" title="email"><i class="fa-solid fa-envelope"></i></a>
|
|
||||||
{% endif %}
|
|
||||||
{%- if site.telegram_username -%}
|
|
||||||
<a href="https://telegram.me/{{ site.telegram_username }}" title="telegram"><i class="fa-brands fa-telegram"></i></a>
|
|
||||||
{% endif %}
|
|
||||||
{%- if site.whatsapp_number -%}
|
|
||||||
<a href="https://wa.me/{{ site.whatsapp_number }}" title="whatsapp"><i class="fa-brands fa-whatsapp"></i></a>
|
|
||||||
{% endif %}
|
|
||||||
{%- if site.orcid_id -%}
|
|
||||||
<a href="https://orcid.org/{{ site.orcid_id }}" title="ORCID"><i class="ai ai-orcid"></i></a>
|
|
||||||
{% endif %}
|
|
||||||
{%- if site.scholar_userid -%}
|
|
||||||
<a href="https://scholar.google.com/citations?user={{ site.scholar_userid }}" title="Google Scholar"><i class="ai ai-google-scholar"></i></a>
|
|
||||||
{% endif %}
|
|
||||||
{%- if site.semanticscholar_id -%}
|
|
||||||
<a href="https://www.semanticscholar.org/author/{{ site.semanticscholar_id }}" title="Semantic Scholar"><i class="ai ai-semantic-scholar"></i></a>
|
|
||||||
{% endif %}
|
|
||||||
{%- if site.publons_id -%}
|
|
||||||
<a href="https://publons.com/a/{{ site.publons_id }}/" title="Publons"><i class="ai ai-publons"></i></a>
|
|
||||||
{% endif %}
|
|
||||||
{%- if site.lattes_id -%}
|
|
||||||
<a href="http://lattes.cnpq.br/{{ site.lattes_id }}" target="_blank" title="Lattes"><i class="ai ai-lattes"></i></a>
|
|
||||||
{% endif %}
|
|
||||||
{%- if site.osf_id -%}
|
|
||||||
<a href="https://osf.io/{{ site.osf_id }}/" title="Open Science Framework"><i class="ai ai-osf"></i></a>
|
|
||||||
{% endif %}
|
|
||||||
{%- if site.research_gate_profile -%}
|
|
||||||
<a href="https://www.researchgate.net/profile/{{site.research_gate_profile}}/" title="ResearchGate"><i class="ai ai-researchgate"></i></a>
|
|
||||||
{% endif %}
|
|
||||||
{%- if site.scopus_id -%}
|
|
||||||
<a href="https://www.scopus.com/authid/detail.uri?authorId={{site.scopus_id}}" title="Scopus"><i class="ai ai-scopus"></i></a>
|
|
||||||
{% endif %}
|
|
||||||
{%- if site.github_username -%}
|
|
||||||
<a href="https://github.com/{{ site.github_username }}" title="GitHub"><i class="fa-brands fa-github"></i></a>
|
|
||||||
{% endif %}
|
|
||||||
{%- if site.linkedin_username -%}
|
|
||||||
<a href="https://www.linkedin.com/in/{{ site.linkedin_username }}" title="LinkedIn"><i class="fa-brands fa-linkedin"></i></a>
|
|
||||||
{% endif %}
|
|
||||||
{%- if site.x_username -%}
|
|
||||||
<a href="https://twitter.com/{{ site.x_username }}" title="X"><i class="fa-brands fa-x-twitter"></i></a>
|
|
||||||
{% endif %}
|
|
||||||
{%- if site.mastodon_username -%}
|
|
||||||
<a rel="me" href="https://{{ site.mastodon_username }}" title="Mastodon"><i class="fa-brands fa-mastodon"></i></a>
|
|
||||||
{% endif %}
|
|
||||||
{%- if site.medium_username -%}
|
|
||||||
<a href="https://medium.com/@{{ site.medium_username }}" title="Medium"><i class="fa-brands fa-medium"></i></a>
|
|
||||||
{% endif %}
|
|
||||||
{%- if site.quora_username -%}
|
|
||||||
<a href="https://www.quora.com/profile/{{ site.quora_username }}" title="Quora"><i class="fa-brands fa-quora"></i></a>
|
|
||||||
{% endif %}
|
|
||||||
{%- if site.blogger_url -%}
|
|
||||||
<a href="{{ site.blogger_url }}" title="Blogger"><i class="fa-brands fa-blogger-b"></i></a>
|
|
||||||
{% endif %}
|
|
||||||
{%- if site.work_url -%}
|
|
||||||
<a href="{{ site.work_url }}" title="Work"><i class="fa-solid fa-briefcase"></i></a>
|
|
||||||
{% endif %}
|
|
||||||
{%- if site.wikidata_id -%}
|
|
||||||
<a href="https://www.wikidata.org/wiki/{{ site.wikidata_id }}" title="Wikidata"><i class="fa-solid fa-barcode"></i></a>
|
|
||||||
{% endif %}
|
|
||||||
{%- if site.wikipedia_id -%}
|
|
||||||
<a href="https://wikipedia.org/wiki/User:{{ site.wikipedia_id }}" title="Wikipedia"><i class="fa-brands fa-wikipedia-w"></i></a>
|
|
||||||
{% endif %}
|
|
||||||
{%- if site.strava_userid -%}
|
|
||||||
<a href="https://www.strava.com/athletes/{{ site.strava_userid }}" title="Strava"><i class="fa-brands fa-strava"></i></a>
|
|
||||||
{% endif %}
|
|
||||||
{%- if site.keybase_username -%}
|
|
||||||
<a href="https://keybase.io/{{ site.keybase_username }}" title="Keybase"><i class="fa-brands fa-keybase"></i></a>
|
|
||||||
{% endif %}
|
|
||||||
{%- if site.gitlab_username -%}
|
|
||||||
<a href="https://gitlab.com/{{ site.gitlab_username }}" title="GitLab"><i class="fa-brands fa-gitlab"></i></a>
|
|
||||||
{% endif %}
|
|
||||||
{%- if site.dblp_url -%}
|
|
||||||
<a href="{{ site.dblp_url }}" title="DBLP"><i class="ai ai-dblp"></i></a>
|
|
||||||
{% endif %}
|
|
||||||
{%- if site.stackoverflow_id -%}
|
|
||||||
<a href="https://stackoverflow.com/users/{{ site.stackoverflow_id }}" title="Stackoverflow"><i class="fa-brands fa-stack-overflow"></i></a>
|
|
||||||
{% endif %}
|
|
||||||
{%- if site.kaggle_id -%}
|
|
||||||
<a href="https://www.kaggle.com/{{ site.kaggle_id }}" title="Kaggle"><i class="fa-brands fa-kaggle"></i></a>
|
|
||||||
{% endif %}
|
|
||||||
{%- if site.lastfm_id -%}
|
|
||||||
<a href="https://www.last.fm/user/{{ site.lastfm_id }}" title="Last FM"><i class="fa-brands fa-lastfm"></i></a>
|
|
||||||
{% endif %}
|
|
||||||
{%- if site.spotify_id -%}
|
|
||||||
<a href="https://open.spotify.com/user/{{ site.spotify_id }}" title="Spotify"><i class="fa-brands fa-spotify"></i></a>
|
|
||||||
{% endif %}
|
|
||||||
{%- if site.pinterest_id -%}
|
|
||||||
<a href="https://www.pinterest.com/{{ site.pinterest_id }}" title="Pinterest"><i class="fa-brands fa-pinterest"></i></a>
|
|
||||||
{% endif %}
|
|
||||||
{%- if site.unsplash_id -%}
|
|
||||||
<a href="https://unsplash.com/@{{ site.unsplash_id }}" title="Unsplash"><i class="fa-brands fa-unsplash"></i></a>
|
|
||||||
{% endif %}
|
|
||||||
{%- if site.instagram_id -%}
|
|
||||||
<a href="https://instagram.com/{{ site.instagram_id }}" title="Instagram"><i class="fa-brands fa-instagram"></i></a>
|
|
||||||
{% endif %}
|
|
||||||
{%- if site.facebook_id -%}
|
|
||||||
<a href="https://facebook.com/{{ site.facebook_id }}" title="Facebook"><i class="fa-brands fa-facebook"></i></a>
|
|
||||||
{% endif %}
|
|
||||||
{%- if site.youtube_id -%}
|
|
||||||
<a href="https://youtube.com/@{{ site.youtube_id }}" title="YouTube"><i class="fa-brands fa-youtube"></i></a>
|
|
||||||
{% endif %}
|
|
||||||
{%- if site.discord_id -%}
|
|
||||||
<a href="https://discord.com/users/{{ site.discord_id }}" title="Discord"><i class="fa-brands fa-discord"></i></a>
|
|
||||||
{% endif %}
|
|
||||||
{%- if site.zotero_username -%}
|
|
||||||
<a href="https://www.zotero.org/{{ site.zotero_username }}" title="Zotero"><i class="ai ai-zotero"></i></a>
|
|
||||||
{% endif %}
|
|
||||||
{%- if site.rss_icon -%}
|
|
||||||
<a href="{{ site.baseurl }}/feed.xml" title="RSS Feed"><i class="fa-solid fa-square-rss"></i></a>
|
|
||||||
{% endif %}
|
|
||||||
{%- if site.wechat_qr -%}
|
|
||||||
<a id="WeChatBtn" title="WeChat"><i class="fa-brands fa-weixin"></i></a>
|
|
||||||
<div id="WeChatMod" class="wechat-modal">
|
|
||||||
<img src="{{ site.wechat_qr | prepend: 'assets/img/' | relative_url }}" alt="WeChat QR" id="WeChatQR">
|
|
||||||
</div>
|
|
||||||
{% include scripts/wechatModal.html %}
|
|
||||||
{% endif %}
|
|
||||||
|
|
@ -0,0 +1,118 @@
|
||||||
|
{% if site.email %}
|
||||||
|
<a href="mailto:{{ site.email | encode_email }}" title="email"><i class="fa-solid fa-envelope"></i></a>
|
||||||
|
{% endif %}
|
||||||
|
{% if site.telegram_username %}
|
||||||
|
<a href="https://telegram.me/{{ site.telegram_username }}" title="telegram"><i class="fa-brands fa-telegram"></i></a>
|
||||||
|
{% endif %}
|
||||||
|
{% if site.whatsapp_number %}
|
||||||
|
<a href="https://wa.me/{{ site.whatsapp_number }}" title="whatsapp"><i class="fa-brands fa-whatsapp"></i></a>
|
||||||
|
{% endif %}
|
||||||
|
{% if site.orcid_id %}
|
||||||
|
<a href="https://orcid.org/{{ site.orcid_id }}" title="ORCID"><i class="ai ai-orcid"></i></a>
|
||||||
|
{% endif %}
|
||||||
|
{% if site.scholar_userid %}
|
||||||
|
<a href="https://scholar.google.com/citations?user={{ site.scholar_userid }}" title="Google Scholar"><i class="ai ai-google-scholar"></i></a>
|
||||||
|
{% endif %}
|
||||||
|
{% if site.semanticscholar_id %}
|
||||||
|
<a href="https://www.semanticscholar.org/author/{{ site.semanticscholar_id }}" title="Semantic Scholar"><i class="ai ai-semantic-scholar"></i></a>
|
||||||
|
{% endif %}
|
||||||
|
{% if site.publons_id %}
|
||||||
|
<a href="https://publons.com/a/{{ site.publons_id }}/" title="Publons"><i class="ai ai-publons"></i></a>
|
||||||
|
{% endif %}
|
||||||
|
{% if site.lattes_id %}
|
||||||
|
<a href="http://lattes.cnpq.br/{{ site.lattes_id }}" target="_blank" title="Lattes"><i class="ai ai-lattes"></i></a>
|
||||||
|
{% endif %}
|
||||||
|
{% if site.osf_id %}
|
||||||
|
<a href="https://osf.io/{{ site.osf_id }}/" title="Open Science Framework"><i class="ai ai-osf"></i></a>
|
||||||
|
{% endif %}
|
||||||
|
{% if site.research_gate_profile %}
|
||||||
|
<a href="https://www.researchgate.net/profile/{{site.research_gate_profile}}/" title="ResearchGate"><i class="ai ai-researchgate"></i></a>
|
||||||
|
{% endif %}
|
||||||
|
{% if site.scopus_id %}
|
||||||
|
<a href="https://www.scopus.com/authid/detail.uri?authorId={{site.scopus_id}}" title="Scopus"><i class="ai ai-scopus"></i></a>
|
||||||
|
{% endif %}
|
||||||
|
{% if site.github_username %}
|
||||||
|
<a href="https://github.com/{{ site.github_username }}" title="GitHub"><i class="fa-brands fa-github"></i></a>
|
||||||
|
{% endif %}
|
||||||
|
{% if site.linkedin_username %}
|
||||||
|
<a href="https://www.linkedin.com/in/{{ site.linkedin_username }}" title="LinkedIn"><i class="fa-brands fa-linkedin"></i></a>
|
||||||
|
{% endif %}
|
||||||
|
{% if site.x_username %}
|
||||||
|
<a href="https://twitter.com/{{ site.x_username }}" title="X"><i class="fa-brands fa-x-twitter"></i></a>
|
||||||
|
{% endif %}
|
||||||
|
{% if site.mastodon_username %}
|
||||||
|
<a rel="me" href="https://{{ site.mastodon_username }}" title="Mastodon"><i class="fa-brands fa-mastodon"></i></a>
|
||||||
|
{% endif %}
|
||||||
|
{% if site.medium_username %}
|
||||||
|
<a href="https://medium.com/@{{ site.medium_username }}" title="Medium"><i class="fa-brands fa-medium"></i></a>
|
||||||
|
{% endif %}
|
||||||
|
{% if site.quora_username %}
|
||||||
|
<a href="https://www.quora.com/profile/{{ site.quora_username }}" title="Quora"><i class="fa-brands fa-quora"></i></a>
|
||||||
|
{% endif %}
|
||||||
|
{% if site.blogger_url %}
|
||||||
|
<a href="{{ site.blogger_url }}" title="Blogger"><i class="fa-brands fa-blogger-b"></i></a>
|
||||||
|
{% endif %}
|
||||||
|
{% if site.work_url %}
|
||||||
|
<a href="{{ site.work_url }}" title="Work"><i class="fa-solid fa-briefcase"></i></a>
|
||||||
|
{% endif %}
|
||||||
|
{% if site.wikidata_id %}
|
||||||
|
<a href="https://www.wikidata.org/wiki/{{ site.wikidata_id }}" title="Wikidata"><i class="fa-solid fa-barcode"></i></a>
|
||||||
|
{% endif %}
|
||||||
|
{% if site.wikipedia_id %}
|
||||||
|
<a href="https://wikipedia.org/wiki/User:{{ site.wikipedia_id }}" title="Wikipedia"><i class="fa-brands fa-wikipedia-w"></i></a>
|
||||||
|
{% endif %}
|
||||||
|
{% if site.strava_userid %}
|
||||||
|
<a href="https://www.strava.com/athletes/{{ site.strava_userid }}" title="Strava"><i class="fa-brands fa-strava"></i></a>
|
||||||
|
{% endif %}
|
||||||
|
{% if site.keybase_username %}
|
||||||
|
<a href="https://keybase.io/{{ site.keybase_username }}" title="Keybase"><i class="fa-brands fa-keybase"></i></a>
|
||||||
|
{% endif %}
|
||||||
|
{% if site.gitlab_username %}
|
||||||
|
<a href="https://gitlab.com/{{ site.gitlab_username }}" title="GitLab"><i class="fa-brands fa-gitlab"></i></a>
|
||||||
|
{% endif %}
|
||||||
|
{% if site.dblp_url %}
|
||||||
|
<a href="{{ site.dblp_url }}" title="DBLP"><i class="ai ai-dblp"></i></a>
|
||||||
|
{% endif %}
|
||||||
|
{% if site.stackoverflow_id %}
|
||||||
|
<a href="https://stackoverflow.com/users/{{ site.stackoverflow_id }}" title="Stackoverflow"><i class="fa-brands fa-stack-overflow"></i></a>
|
||||||
|
{% endif %}
|
||||||
|
{% if site.kaggle_id %}
|
||||||
|
<a href="https://www.kaggle.com/{{ site.kaggle_id }}" title="Kaggle"><i class="fa-brands fa-kaggle"></i></a>
|
||||||
|
{% endif %}
|
||||||
|
{% if site.lastfm_id %}
|
||||||
|
<a href="https://www.last.fm/user/{{ site.lastfm_id }}" title="Last FM"><i class="fa-brands fa-lastfm"></i></a>
|
||||||
|
{% endif %}
|
||||||
|
{% if site.spotify_id %}
|
||||||
|
<a href="https://open.spotify.com/user/{{ site.spotify_id }}" title="Spotify"><i class="fa-brands fa-spotify"></i></a>
|
||||||
|
{% endif %}
|
||||||
|
{% if site.pinterest_id %}
|
||||||
|
<a href="https://www.pinterest.com/{{ site.pinterest_id }}" title="Pinterest"><i class="fa-brands fa-pinterest"></i></a>
|
||||||
|
{% endif %}
|
||||||
|
{% if site.unsplash_id %}
|
||||||
|
<a href="https://unsplash.com/@{{ site.unsplash_id }}" title="Unsplash"><i class="fa-brands fa-unsplash"></i></a>
|
||||||
|
{% endif %}
|
||||||
|
{% if site.instagram_id %}
|
||||||
|
<a href="https://instagram.com/{{ site.instagram_id }}" title="Instagram"><i class="fa-brands fa-instagram"></i></a>
|
||||||
|
{% endif %}
|
||||||
|
{% if site.facebook_id %}
|
||||||
|
<a href="https://facebook.com/{{ site.facebook_id }}" title="Facebook"><i class="fa-brands fa-facebook"></i></a>
|
||||||
|
{% endif %}
|
||||||
|
{% if site.youtube_id %}
|
||||||
|
<a href="https://youtube.com/@{{ site.youtube_id }}" title="YouTube"><i class="fa-brands fa-youtube"></i></a>
|
||||||
|
{% endif %}
|
||||||
|
{% if site.discord_id %}
|
||||||
|
<a href="https://discord.com/users/{{ site.discord_id }}" title="Discord"><i class="fa-brands fa-discord"></i></a>
|
||||||
|
{% endif %}
|
||||||
|
{% if site.zotero_username %}
|
||||||
|
<a href="https://www.zotero.org/{{ site.zotero_username }}" title="Zotero"><i class="ai ai-zotero"></i></a>
|
||||||
|
{% endif %}
|
||||||
|
{% if site.rss_icon %}
|
||||||
|
<a href="{{ site.baseurl }}/feed.xml" title="RSS Feed"><i class="fa-solid fa-square-rss"></i></a>
|
||||||
|
{% endif %}
|
||||||
|
{% if site.wechat_qr %}
|
||||||
|
<a id="WeChatBtn" title="WeChat"><i class="fa-brands fa-weixin"></i></a>
|
||||||
|
<div id="WeChatMod" class="wechat-modal">
|
||||||
|
<img src="{{ site.wechat_qr | prepend: 'assets/img/' | relative_url }}" alt="WeChat QR" id="WeChatQR">
|
||||||
|
</div>
|
||||||
|
{% include scripts/wechatModal.liquid %}
|
||||||
|
{% endif %}
|
||||||
|
|
@ -1,47 +0,0 @@
|
||||||
{% assign extension = include.path | split:'.' | last %}
|
|
||||||
|
|
||||||
<figure>
|
|
||||||
|
|
||||||
{% if extension == "mp4" or extension == "webm" or extension == "ogg" %}
|
|
||||||
|
|
||||||
<video
|
|
||||||
src="{% if include.cache_bust %}{{ include.path | relative_url | bust_file_cache }}{% else %}{{ include.path | relative_url }}{% endif %}"
|
|
||||||
{% if include.class %}class="{{ include.class }}"{% endif %}
|
|
||||||
{% if include.width %}width="{{ include.width }}"{% else %}width="auto"{% endif %}
|
|
||||||
{% if include.height %}height="{{ include.height }}"{% else %}height="auto"{% endif %}
|
|
||||||
{% if include.min-width %}min-width="{{ include.min-width }}"{% endif %}
|
|
||||||
{% if include.min-height %}min-height="{{ include.min-height }}"{% endif %}
|
|
||||||
{% if include.max-width %}max-width="{{ include.max-width }}"{% endif %}
|
|
||||||
{% if include.max-height %}height="{{ include.max-height }}"{% endif %}
|
|
||||||
{% if include.title %}title="{{ include.title }}"{% endif %}
|
|
||||||
{% if include.alt %}alt="{{ include.alt }}"{% endif %}
|
|
||||||
{% if include.autoplay %}autoplay{% endif %}
|
|
||||||
{% if include.controls %}controls{% endif %}
|
|
||||||
{% if include.loop %}loop{% endif %}
|
|
||||||
{% if include.muted %}muted{% endif %}
|
|
||||||
{% if include.poster %}poster="{{ include.poster }}"{% endif %}
|
|
||||||
/>
|
|
||||||
|
|
||||||
{% else %}
|
|
||||||
|
|
||||||
<iframe
|
|
||||||
src="{{ include.path }}"
|
|
||||||
{% if include.class %}class="{{ include.class }}"{% endif %}
|
|
||||||
frameborder="0"
|
|
||||||
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
|
|
||||||
allowfullscreen
|
|
||||||
{% if include.width %}width="{{ include.width }}"{% else %}width="auto"{% endif %}
|
|
||||||
{% if include.height %}height="{{ include.height }}"{% else %}height="auto"{% endif %}
|
|
||||||
{% if include.min-width %}min-width="{{ include.min-width }}"{% endif %}
|
|
||||||
{% if include.min-height %}min-height="{{ include.min-height }}"{% endif %}
|
|
||||||
{% if include.max-width %}max-width="{{ include.max-width }}"{% endif %}
|
|
||||||
{% if include.max-height %}height="{{ include.max-height }}"{% endif %}
|
|
||||||
{% if include.alt %}alt="{{ include.alt }}"{% endif %}
|
|
||||||
{% if include.title %}title="{{ include.title }}"{% endif %}
|
|
||||||
/>
|
|
||||||
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{%- if include.caption -%}<figcaption class="caption">{{ include.caption }}</figcaption>{%- endif %}
|
|
||||||
|
|
||||||
</figure>
|
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue