diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md
index 1cc44f62d15e..511f585150ba 100644
--- a/.github/ISSUE_TEMPLATE/bug_report.md
+++ b/.github/ISSUE_TEMPLATE/bug_report.md
@@ -10,7 +10,7 @@ assignees: ''
**Acknowledge the following**
- [ ] 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.
-- [ ] The issue I am raising is a potential bug in al-folio and not just a usage question. [For usage questions, please use [gitter chat](https://gitter.im/alshedivat/al-folio) instead of raising an issue.]
+- [ ] The issue I am raising is a potential bug in al-folio and not just a usage question. [For usage questions, please post in the [Discussions](https://github.com/alshedivat/al-folio/discussions) instead of raising an issue.]
**Describe the bug**
A clear and concise description of what the bug is.
diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml
index 6f914f4af544..0fc24dcdc824 100644
--- a/.github/workflows/deploy.yml
+++ b/.github/workflows/deploy.yml
@@ -4,11 +4,11 @@ on:
push:
branches:
- master
- - source
+ - main
pull_request:
branches:
- master
- - source
+ - main
jobs:
deploy:
@@ -17,9 +17,9 @@ jobs:
- name: Checkout code
uses: actions/checkout@v2
- name: Setup Ruby
- uses: actions/setup-ruby@v1
+ uses: ruby/setup-ruby@v1
with:
- ruby-version: '2.7'
+ ruby-version: '3.0.2'
- name: Enable bundler cache
uses: actions/cache@v2
with:
@@ -32,6 +32,7 @@ jobs:
gem install bundler
bundle config path vendor/bundle
bundle install --jobs 4 --retry 3
+ npm install -g mermaid.cli
- name: Setup deploy options
id: setup
run: |
@@ -43,11 +44,7 @@ jobs:
elif [[ ${GITHUB_REF} = refs/heads/* ]]; then # branch, e.g. master, source etc
echo "::set-output name=SRC_BRANCH::${GITHUB_REF#refs/heads/}"
fi
- if [[ ${{ github.repository }} = *.github.io ]]; then # user/org repo
- echo "::set-output name=DEPLOY_BRANCH::master"
- else
- echo "::set-output name=DEPLOY_BRANCH::gh-pages"
- fi
+ echo "::set-output name=DEPLOY_BRANCH::gh-pages"
- name: Deploy website
run: yes | bin/deploy --verbose ${{ steps.setup.outputs.NO_PUSH }}
--src ${{ steps.setup.outputs.SRC_BRANCH }}
diff --git a/404.html b/404.html
new file mode 100644
index 000000000000..929fc572ae3e
--- /dev/null
+++ b/404.html
@@ -0,0 +1,9 @@
+---
+layout: page
+permalink: /404.html
+title: "Page not found"
+description: "Looks like there has been a mistake. Nothing exists here."
+redirect: true
+---
+
+
You will be redirected to the main page within 3 seconds. If not redirected, please click here.
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index fd4d94318e2a..349456bf9032 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -15,7 +15,7 @@ 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.
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.
-If it is just a question, please ask it on [gitter](https://gitter.im/alshedivat/al-folio).
+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.
diff --git a/Gemfile b/Gemfile
index 51679accd552..5a18f8dd2ba6 100644
--- a/Gemfile
+++ b/Gemfile
@@ -1,10 +1,16 @@
source 'https://rubygems.org'
group :jekyll_plugins do
gem 'jekyll'
+ gem 'jekyll-archives'
+ gem 'jekyll-diagrams'
gem 'jekyll-email-protect'
+ gem 'jekyll-feed'
gem 'jekyll-github-metadata'
gem 'jekyll-paginate-v2'
+ gem 'jekyll-responsive-image'
gem 'jekyll-scholar'
+ gem 'jekyll-sitemap'
+ gem 'jekyll-target-blank'
gem 'jekyll-twitter-plugin'
gem 'jemoji'
gem 'kramdown-parser-gfm'
diff --git a/LICENSE b/LICENSE
index 33652759bb02..5ad9d094cc59 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,6 +1,6 @@
The MIT License (MIT)
-Copyright (c) 2020 Maruan Al-Shedivat.
+Copyright (c) 2021 Maruan Al-Shedivat.
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
diff --git a/README.md b/README.md
index 32d6dd57105b..20306a6e38e4 100644
--- a/README.md
+++ b/README.md
@@ -55,7 +55,9 @@ Feel free to add your own page(s) by sending a PR.
★★★
-
+★
+★
+
@@ -72,7 +74,7 @@ Feel free to add your own page(s) by sending a PR.
+## Best practices
+
+[![Google PageSpeeg](https://raw.githubusercontent.com/alshedivat/al-folio/master/assets/img/pagespeed.svg)](https://developers.google.com/speed/pagespeed/insights/?url=https%3A%2F%2Falshedivat.github.io%2Fal-folio%2F&tab=desktop)
+
+
## Getting started
For more about how to use Jekyll, check out [this tutorial](https://www.taniarascia.com/make-a-static-website-with-jekyll/).
@@ -116,36 +123,37 @@ After you are done, **commit** your final changes.
Deploying your website to [GitHub Pages](https://pages.github.com/) is the most popular option.
Starting version [v0.3.5](https://github.com/alshedivat/al-folio/releases/tag/v0.3.5), **al-folio** will automatically re-deploy your webpage each time you push new changes to your repository! :sparkles:
-**For project pages (default):**
+**For personal and organization webpages:**
+1. Rename your repository to `.github.io` or `.github.io`.
+2. In `_config.yml`, set `url` to `https://.github.io` and leave `baseurl` empty.
+3. Set up automatic deployment of your webpage (see instructions below).
+4. Make changes, commit, and push!
+5. After deployment, the webpage will become available at `.github.io`.
-- Make changes, commit, and push!
-- After deployment, the webpage will become available at `.github.io//`.
-- The `master` branch should be used for the source code of your webpage and `gh-pages` branch (will be created on the first deployment) will be used for deployment.
+**For project pages:**
+1. In `_config.yml`, set `url` to `https://.github.io` and `baseurl` to `//`.
+2. Set up automatic deployment of your webpage (see instructions below).
+3. Make changes, commit, and push!
+4. After deployment, the webpage will become available at `.github.io//`.
-**For personal and organization webpages:**
-- Rename your repository to `.github.io` or `.github.io`.
-- Click on **Actions** tab and **Enable GitHub Actions**; you no need to worry about creating any workflows as everything has already been set for you.
-- In the **Settings**, select **Branches** and [rename the branch](https://docs.github.com/en/github/administering-a-repository/renaming-a-branch) with the source code from `master` to `source`. From now on, this will be your default branch. Any changes you make should be committed and pushed to this branch.
-- Make sure the `url` and `baseurl` fields in `_config.yml` are empty.
-- Make any other changes to your webpage, commit, and push. This will automatically trigger the **Deploy** action.
-- Wait for a few minutes and let the action complete. You can see the progress in the **Actions** tab. If completed successfully, in addition to the `source` branch, your repository should now have a newly built `master` branch.
-- Finally, again in the **Settings**, in the Pages section, set the branch to `master` (**NOT** to `source`).
+**To enable automatic deployment:**
+1. Click on **Actions** tab and **Enable GitHub Actions**; do not worry about creating any workflows as everything has already been set for you.
+2. Make any other changes to your webpage, commit, and push. This will automatically trigger the **Deploy** action.
+3. Wait for a few minutes and let the action complete. You can see the progress in the **Actions** tab. If completed successfully, in addition to the `master` branch, your repository should now have a newly built `gh-pages` branch.
+4. Finally, in the **Settings** of your repository, in the Pages section, set the branch to `gh-pages` (**NOT** to `master`). For more details, see [Configuring a publishing source for your GitHub Pages site](https://docs.github.com/en/pages/getting-started-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site#choosing-a-publishing-source).
-**NOTE**: you **must** do all your changes in the `source` branch (the one you used to push) **NOT the master** one; this last one is used for **deploying** by Github Pages and it is not suitable for pushing changes.
-Manual deployment to GitHub Pages:
+(click to expand) Manual deployment to GitHub Pages:
If you need to manually re-deploy your website to GitHub pages, run the deploy script from the root directory of your repository:
```bash
-$ ./bin/deploy [--user]
+$ ./bin/deploy
```
uses the `master` branch for the source code and deploys the webpage to `gh-pages`.
-The optional flag `--user` tells it to deploy to `master` and use `source` for the source code instead.
-Using `master` for deployment is a convention for [user and organization pages](https://help.github.com/articles/user-organization-and-project-pages/).
-Deployment to another hosting server (non GitHub Pages):
+(click to expand) Deployment to another hosting server (non GitHub Pages):
If you decide to not use GitHub Pages and host your page elsewhere, simply run:
```bash
@@ -158,7 +166,7 @@ Then simply copy the contents of the `_site/` foder to your hosting server.
-Deployment to a separate repository (advanced users only):
+(click to expand) Deployment to a separate repository (advanced users only):
**Note:** Do not try using this method unless you know what you are doing (make sure you are familiar with [publishing sources](https://help.github.com/en/github/working-with-github-pages/about-github-pages#publishing-sources-for-github-pages-sites)). This approach allows to have the website's source code in one repository and the deployment version in a different repository.
@@ -230,9 +238,15 @@ If you have a different question, please ask using [Discussions](https://github.
But after deploying, it is not displayed correctly (CSS and JS is not loaded properly).
How do I fix that?
**A:** Make sure to correctly specify the `url` and `baseurl` paths in `_config.yml`.
- If you are deploying a personal or organization website to GitHub Pages, leave both fields blank.
- If you are deploying a project page to GitHub Pages, leave `url` blank and set `baseurl: //`.
- Generally, if you are deploying your webpage to `your-domain.com/your-project/`, you must set `url: your-domain.com` and `baseurl: /your-project/`.
+ Set `url` to `https://.github.io` or to `https://` if you are using a custom domain.
+ If you are deploying a personal or organization website, leave `baseurl` blank.
+ If you are deploying a project page, set `baseurl: //`.
+
+4. **Q:** Atom feed doesn't work. Why?
+
+ **A:** Make sure to correctly specify the `url` and `baseurl` paths in `_config.yml`.
+ RSS Feed plugin works with these correctly set up fields: `title`, `url`, `description` and `author`.
+ Make sure to fill them in an appropriate way and try again.
## Features
@@ -244,7 +258,7 @@ You can also add new `*.bib` files and customize the look of your publications h
-Author annotation:
+(click to expand) Author annotation:
In publications, the author entry for yourself is identified by string `scholar:last_name` and string array `scholar:first_name` in `_config.yml`:
```
@@ -343,6 +357,10 @@ This can be configured on a per-page basis, by setting the `og_image` page varia
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`.
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.
+#### Atom (RSS-like) Feed
+It generates an Atom (RSS-like) feed of your posts, useful for Atom and RSS readers.
+The feed is reachable simply by typing after your homepage `/feed.xml`.
+E.g. assuming your website mountpoint is the main folder, you can type `yourusername.github.io/feed.xml`
## Contributing
diff --git a/_bibliography/papers.bib b/_bibliography/papers.bib
index 1593fbf6a651..3ee7f4697b4d 100644
--- a/_bibliography/papers.bib
+++ b/_bibliography/papers.bib
@@ -557,7 +557,7 @@ @techreport{Eichinger:2021:SCN
abbr = {ETNA},
abstract = {A convolution neural network (CNN)-based approach for the construction of reduced order surrogate models for computational fluid dynamics (CFD) simulations is introduced; it is inspired by the approach of Guo, Li, and Iori [X. Guo, W. Li, and F. Iorio, Convolutional neural networks for steady flow approximation, in Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, KDD'16, New York, USA, 2016, ACM, pp. 481--490]. In particular, the neural networks are trained in order to predict images of the flow field in a channel with varying obstacle based on an image of the geometry of the channel. A classical CNN with bottleneck structure and a U-Net are compared while varying the input format, the number of decoder paths, as well as the loss function used to train the networks. This approach yields very low prediction errors, in particular, when using the U-Net architecture. Furthermore, the models are also able to generalize to unseen geometries of the same type. A transfer learning approach enables the model to be trained to a new type of geometries with very low training cost. Finally, based on this transfer learning approach, a sequential learning strategy is introduced, which significantly reduces the amount of necessary training data.},
preprint = {https://kups.ub.uni-koeln.de/29760/},
- keywords = {submitted, reviewed, selected, recent},
+ keywords = {accepted, reviewed, selected, recent},
bibtex_show = {true}
}
@@ -625,7 +625,7 @@ @techreport{Heinlein:2021:AND
note = {Submitted Juli 2021},
abstract = {In this article, different nonlinear domain decomposition methods are applied to nonlinear problems with highly-heterogeneous coefficient functions with jumps. In order to obtain a robust solver with respect to nonlinear as well as linear convergence, adaptive coarse spaces are employed. First, as an example for a nonlinearly left-preconditioned domain decomposition method, the two-level restricted nonlinear Schwarz method H1-RASPEN (Hybrid Restricted Additive Schwarz Preconditioned Exact Newton) is combined with an adaptive generalized Dryja–Smith–Widlund (GDSW) coarse space. Second, as an example for a nonlinearly right-preconditioned domain decomposition method, a nonlinear FETI-DP (Finite Element Tearing and Interconnecting - Dual Primal) method is equipped with an edge-based adaptive coarse space. Both approaches are compared with the respective nonlinear domain decomposition methods with classical coarse spaces as well as with the respective Newton-Krylov methods with adaptive coarse spaces. For some two-dimensional pLaplace model problems with different spatial coefficient distributions, it can be observed that the best linear and nonlinear convergence can only be obtained when combining the nonlinear domain decomposition methods with adaptive coarse spaces.},
preprint = {https://kups.ub.uni-koeln.de/id/eprint/52537},
- keywords = {submitted, reviewed, recent},
+ keywords = {submitted, reviewed},
bibtex_show = {true}
}
@@ -635,7 +635,7 @@ @techreport{Heinlein:2021:PST
note = {Submitted Juli 2021},
abstract = {The parallel performance of the three-level Fast and Robust Overlapping Schwarz (FROSch) preconditioners is investigated for linear elasticity. The FROSch framework is part of the Trilinos software library and contains a parallel implementation of different preconditioners with energy minimizing coarse spaces of GDSW (Generalized Dryja–Smith–Widlund) type. The three-level extension is constructed by a recursive application of the FROSch preconditioner to the coarse problem. In this paper, the additional steps in the implementation in order to apply the FROSch preconditioner recursively are described in detail. Furthermore, it is shown that no explicit geometric information is needed in the recursive application of the preconditioner. In particular, the rigid body modes, including the rotations, can be interpolated on the coarse level without additional geometric information. Parallel results for a three-dimensional linear elasticity problem obtained on the Theta supercomputer (ALCF, Argonne, USA) using up to 220 000 cores are discussed and compared to results obtained on the SuperMUC-NG supercomputer (LRZ, Garching, Germany). Notably, it can be observed that a hierarchical communication operation in FROSch related to the coarse operator starts to dominate the computing time on Theta for 100 000 MPI ranks or more. The same operation, however, scales well and stays within the order of a second in all experiments performed on SuperMUC-NG. Using hybrid MPI/OpenMP parallelization, better performance is then achieved on Theta.},
preprint = {https://tu-freiberg.de/sites/default/files/media/fakultaet-fuer-mathematik-und-informatik-fakultaet-1-9277/prep/2021-03.pdf},
- keywords = {submitted, reviewed, recent},
+ keywords = {submitted, reviewed},
bibtex_show = {true}
}
diff --git a/_config.yml b/_config.yml
index da6cd14691d4..b2e0a6942c32 100644
--- a/_config.yml
+++ b/_config.yml
@@ -17,11 +17,17 @@ footer_text:
# Photos from Unsplash.
icon: /assets/img/favicon.ico # the emoji used as the favicon
-url: # the base hostname & protocol for your site
+url: https://searhein.github.io # the base hostname & protocol for your site
baseurl: #/al-folio # the subpath of your site, e.g. /blog/
last_updated: true # 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
+# -----------------------------------------------------------------------------
+# RSS Feed
+# -----------------------------------------------------------------------------
+# will use title and url fields
+# Take a look to https://github.com/jekyll/jekyll-feed for more customization
+
# -----------------------------------------------------------------------------
# Layout
# -----------------------------------------------------------------------------
@@ -60,6 +66,10 @@ blogger_url: # your blogger URL
work_url: # work page URL
keybase_username: # your keybase user name
wikidata_id: # your wikidata id
+dblp_url: # your DBLP profile url
+stackoverflow_id: #your stackoverflow id
+
+rss_icon: true
contact_note: >
# You can even add a little note about which of these is the best way to reach you.
@@ -81,6 +91,7 @@ pagination:
# Comments
disqus_shortname: al-folio # put your disqus shortname
+# https://help.disqus.com/en/articles/1717111-what-s-a-shortname
# -----------------------------------------------------------------------------
# Collections
@@ -139,16 +150,44 @@ keep_files:
# Plug-ins
plugins:
+ - jekyll-archives
+ - jekyll-diagrams
- jekyll-email-protect
+ - jekyll-feed
- jekyll-github-metadata
- jekyll-paginate-v2
+ - jekyll-responsive-image
- jekyll/scholar
+ - jekyll-sitemap
+ - jekyll-target-blank
- jekyll-twitter-plugin
- jemoji
+# Sitemap settings
+defaults:
+ - scope:
+ path: "assets/**/*.*"
+ values:
+ sitemap: false
+
# Extras
github: [metadata]
+# -----------------------------------------------------------------------------
+# Jekyll Archives
+# -----------------------------------------------------------------------------
+
+jekyll-archives:
+ enabled: [year, tags, categories] # enables year, tag and category archives (remove if you need to disable one of them).
+ layouts:
+ year: archive-year
+ tag: archive-tag
+ category: archive-category
+ permalinks:
+ year: '/blog/:year/'
+ tag: '/blog/tag/:name/'
+ category: '/blog/category/:name/'
+
# -----------------------------------------------------------------------------
# Jekyll Scholar
# -----------------------------------------------------------------------------
@@ -164,6 +203,10 @@ scholar:
source: /_bibliography/
bibliography: papers.bib
bibliography_template: bib
+ # Note: if you have latex math in your bibtex, the latex filter
+ # preprocessing may conflict with MathJAX if the latter is enabled.
+ # See https://github.com/alshedivat/al-folio/issues/357.
+ bibtex_filters: [latex, smallcaps, superscript]
replace_strings: true
join_strings: true
@@ -174,6 +217,32 @@ scholar:
query: "@*"
+
+# -----------------------------------------------------------------------------
+# Jekyll Responsive Images
+# -----------------------------------------------------------------------------
+
+responsive_image:
+ template: _includes/responsive_img.html
+ # Quality to use when resizing images.
+ default_quality: 80
+ sizes:
+ - width: 480
+ - width: 800
+ - width: 1400
+ quality: 90
+ # Strip EXIF and other JPEG profiles. Helps to minimize JPEG size.
+ strip: true
+
+
+# -----------------------------------------------------------------------------
+# Jekyll Diagrams
+# -----------------------------------------------------------------------------
+
+jekyll-diagrams:
+ # configuration, see https://github.com/zhustec/jekyll-diagrams.
+ # feel free to comment out this section if not using jekyll diagrams.
+
# -----------------------------------------------------------------------------
# Optional Features
# -----------------------------------------------------------------------------
@@ -210,7 +279,7 @@ jquery:
version: "3.5.1"
integrity: "sha512-bLT0Qm9VnAYZDflyKcBaQ2gg0hSYNQrJ8RilYldYQ1FxQYoCLtUjuuRuZo+fjqhx/qtq/1itJ0C2ejDxltZVFg=="
mathjax:
- version: "3.1.2"
+ version: "3.2.0"
mansory:
version: "4.2.2"
integrity: "sha256-Nn1q/fx0H7SNLZMQ5Hw5JLaTRZp0yILA/FRexe19VdI="
diff --git a/_includes/courses.html b/_includes/courses.html
index fb006b0af84b..ff1e4540fe49 100644
--- a/_includes/courses.html
+++ b/_includes/courses.html
@@ -36,6 +36,10 @@
{{ teaching.title }}
+ {% if teaching.instructors %}
+
Instructor(s): {{ teaching.instructors }}
+ {% endif %}
+
diff --git a/_includes/head.html b/_includes/head.html
index ba3313d9c42f..356cce781b70 100644
--- a/_includes/head.html
+++ b/_includes/head.html
@@ -2,7 +2,16 @@
-{% if site.title == "blank" %}{{ site.first_name }} {{ site.middle_name }} {{ site.last_name }}{% else %}{{ site.title }}{% endif %}{% if page.title and page.url != "/" %} | {{ page.title }}{% endif %}
+
+{% if site.title == "blank" %}
+ {{ site.first_name }} {{ site.middle_name }} {{ site.last_name }}
+{% else %}
+ {{ site.title }}
+{% endif %}
+{% if page.title != "blank" and page.url != "/" %}
+ | {{ page.title }}
+{% endif %}
+
@@ -38,32 +47,9 @@
-
-{% include scripts/jquery.html %}
-
-
{% if site.enable_darkmode %}
+
{% endif %}
-{% if site.enable_google_analytics %}
-
-
-
-{% endif %}
-
-{% if site.enable_panelbear_analytics %}
-
-
-
-{% endif %}
diff --git a/_includes/header.html b/_includes/header.html
index 85c814fbe387..00e6cdd89274 100644
--- a/_includes/header.html
+++ b/_includes/header.html
@@ -46,6 +46,25 @@
{% assign sorted_pages = site.pages | sort: "title" %}
{% for p in sorted_pages %}
{% if p.nav and p.autogen == nil %}
+ {% if p.dropdown %}
+