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. Courses CMU PGM (S-19)
-CMU DeepRL (F-19, S-20, F-20)
+CMU DeepRL (F-19, S-20, F-20, S-21)
CMU MMML (F-20)
CMU Distributed Systems (S-21) @@ -82,13 +84,18 @@ CMU Distributed Systems ( ML Retrospectives (NeurIPS: 2019, 2020; ICML: 2020)
HAMLETS (NeurIPS: 2020)
-ICBINB (NeurIPS: 2020)
+ICBINB (NeurIPS: 2020, 2021)
Neural Compression (ICLR: 2021) +## 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 %} + + {% else %} {% endif %} + {% endif %} {% endfor %} {% if site.enable_darkmode %}
diff --git a/_includes/projects.html b/_includes/projects.html index f41c9876c17c..fabdebdba5f3 100644 --- a/_includes/projects.html +++ b/_includes/projects.html @@ -1,12 +1,15 @@
{% if project.redirect %} - + {% else %} {% endif %}
{% if project.img %} - project thumbnail + {% responsive_image_block %} + path: {{ project.img }} + alt: "project thumbnail" + {% endresponsive_image_block %} {% endif %}
@@ -16,7 +19,7 @@

{{ project.title }}

- +
{% if project.github_stars %} diff --git a/_includes/projects_horizontal.html b/_includes/projects_horizontal.html index 10150ff76bd4..46c4e0edd35b 100644 --- a/_includes/projects_horizontal.html +++ b/_includes/projects_horizontal.html @@ -1,6 +1,6 @@
{% if project.redirect %} - + {% else %} {% endif %} @@ -8,7 +8,10 @@
{% if project.img %}
- project thumbnail + {% responsive_image_block %} + path: {{ project.img }} + alt: "project thumbnail" + {% endresponsive_image_block %}
{% else %} @@ -22,7 +25,7 @@

{{ project.title }}

- +
{% if project.github_stars %} diff --git a/_includes/responsive_img.html b/_includes/responsive_img.html new file mode 100644 index 000000000000..c6a06ca83a05 --- /dev/null +++ b/_includes/responsive_img.html @@ -0,0 +1,8 @@ +{% assign largest = resized | sort: 'width' | last %} +{% capture srcset %} +{% for i in resized %} + {{ i.path | relative_url }} {{ i.width }}w, +{% endfor %} +{% endcapture %} + + diff --git a/_includes/scripts/analytics.html b/_includes/scripts/analytics.html new file mode 100644 index 000000000000..504d39b49568 --- /dev/null +++ b/_includes/scripts/analytics.html @@ -0,0 +1,21 @@ +{% if site.enable_google_analytics %} + + + +{% endif %} + + +{% if site.enable_panelbear_analytics %} + + + +{% endif %} diff --git a/_includes/social.html b/_includes/social.html index 2246ca957a53..ead18aaefac7 100644 --- a/_includes/social.html +++ b/_includes/social.html @@ -1,18 +1,21 @@ {% if site.email %}{% endif %} -{% if site.orcid_id %}{% endif %} -{% if site.scholar_userid %}{% endif %} -{% if site.publons_id %}{% endif %} -{% if site.research_gate_profile %}{% endif %} -{% if site.arxiv %}{% endif %} -{% if site.github_username %}{% endif %} -{% if site.linkedin_username %}{% endif %} -{% if site.twitter_username %}{% endif %} -{% if site.medium_username %}{% endif %} -{% if site.quora_username %}{% endif %} -{% if site.blogger_url %}{% endif %} -{% if site.work_url %}{% endif %} -{% if site.wikidata_id %}{% endif %} -{% if site.strava_userid %}{% endif %} -{% if site.keybase_username %}{% endif %} -{% if site.gitlab_username %}{% endif %} -{% if site.dblp_url %}{% endif %} +{% if site.orcid_id %}{% endif %} +{% if site.scholar_userid %}{% endif %} +{% if site.publons_id %}{% endif %} +{% if site.research_gate_profile %}{% endif %} +{% if site.arxiv %}{% endif %} +{% if site.github_username %}{% endif %} +{% if site.linkedin_username %}{% endif %} +{% if site.twitter_username %}{% endif %} +{% if site.medium_username %}{% endif %} +{% if site.quora_username %}{% endif %} +{% if site.blogger_url %}{% endif %} +{% if site.work_url %}{% endif %} +{% if site.wikidata_id %}{% endif %} +{% if site.strava_userid %}{% endif %} +{% if site.keybase_username %}{% endif %} +{% if site.gitlab_username %}{% endif %} +{% if site.dblp_url %}{% endif %} +{% if site.stackoverflow_id %}{% endif %} + +{% if site.rss_icon %}{% endif %} diff --git a/_includes/theses.html b/_includes/theses.html index 206a67170a1d..a213d6920f7f 100644 --- a/_includes/theses.html +++ b/_includes/theses.html @@ -52,11 +52,12 @@
- {% if teaching.description %} -

{{ teaching.title }}

-

{{ teaching.description }}

- {% else %} -

{{ teaching.title }}

+

{{ teaching.title }}

+ {% if teaching.co-supervisor %} +

Co-Supervisor(s): {{ teaching.co-supervisor }}

+ {% endif %} + {% if teaching.student %} +

Student: {{ teaching.student }}

{% endif %}
diff --git a/_layouts/about.html b/_layouts/about.html index 4c79b02c75fd..363a0aaf31ad 100644 --- a/_layouts/about.html +++ b/_layouts/about.html @@ -15,7 +15,10 @@

{% if page.profile %}
{% if page.profile.image %} - + {% responsive_image_block %} + path: {{ page.profile.image | prepend: 'assets/img/' }} + class: "img-fluid z-depth-1 rounded" + {% endresponsive_image_block %} {% endif %} {% if page.profile.address %}
diff --git a/_layouts/archive-category.html b/_layouts/archive-category.html new file mode 100644 index 000000000000..79aad74f923e --- /dev/null +++ b/_layouts/archive-category.html @@ -0,0 +1,27 @@ +--- +layout: default +--- + +
+ +
+

{{ page.title }}

+

an archive of posts in this category

+
+ +
+
+ + {% for post in page.posts %} + + + + + {% endfor %} +
{{ post.date | date: "%b %-d, %Y" }} + {{ post.title }} +
+
+
+ +
diff --git a/_layouts/archive-tag.html b/_layouts/archive-tag.html new file mode 100644 index 000000000000..66abaebb7380 --- /dev/null +++ b/_layouts/archive-tag.html @@ -0,0 +1,27 @@ +--- +layout: default +--- + +
+ +
+

{{ page.title }}

+

an archive of posts with this tag

+
+ +
+
+ + {% for post in page.posts %} + + + + + {% endfor %} +
{{ post.date | date: "%b %-d, %Y" }} + {{ post.title }} +
+
+
+ +
diff --git a/_layouts/archive-year.html b/_layouts/archive-year.html new file mode 100644 index 000000000000..8af1d29b2ddd --- /dev/null +++ b/_layouts/archive-year.html @@ -0,0 +1,27 @@ +--- +layout: default +--- + +
+ +
+

{{ page.date | date: "%Y" }}

+

an archive of posts from this year

+
+ +
+
+ + {% for post in page.posts %} + + + + + {% endfor %} +
{{ post.date | date: "%b %-d, %Y" }} + {{ post.title }} +
+
+
+ +
diff --git a/_layouts/bib.html b/_layouts/bib.html index ca511f741c89..33fbd1657369 100644 --- a/_layouts/bib.html +++ b/_layouts/bib.html @@ -5,7 +5,7 @@
{% if entry.abbr %} {% if site.data.venues[entry.abbr] %} - {{entry.abbr}} + {{entry.abbr}} {% else %} {{entry.abbr}} {% endif %} @@ -47,7 +47,7 @@ {{author.last}}, {{author.first}}, {% else %} {% if coauthor_url %} - {{author.last}}, {{author.first}}, + {{author.last}}, {{author.first}}, {% else %} {{author.last}}, {{author.first}}, {% endif %} @@ -57,7 +57,7 @@ and {{author.last}}, {{author.first}} {% else %} {% if coauthor_url %} - and {{author.last}}, {{author.first}} + and {{author.last}}, {{author.first}} {% else %} and {{author.last}}, {{author.first}} {% endif %} @@ -69,11 +69,17 @@
{% if entry.type == "article" %} - {{entry.journal}}. {{entry.year}}. + {{entry.journal}}. {% elsif entry.type == "inproceedings" %} - In {{entry.booktitle}}. {{entry.year}}. + In {{entry.booktitle}} {% elsif entry.type == "phdthesis" %} - {{entry.school}}. {{entry.year}}. + {{entry.school}} + {% endif %} + {% if entry.month %} + {{entry.month | capitalize}} + {% endif %} + {% if entry.year %} + {{entry.year}} {% endif %}
@@ -90,7 +96,7 @@ Abstract {% endif %} {% if entry.arxiv %} - arXiv + arXiv {% endif %} {% if entry.bibtex_show %} Bib @@ -103,9 +109,9 @@ {% endif %} {% if entry.pdf %} {% if entry.pdf contains '://' %} - PDF + PDF {% else %} - PDF + PDF {% endif %} {% endif %} {% if entry.preprint %} @@ -113,33 +119,33 @@ {% endif %} {% if entry.supp %} {% if entry.supp contains '://' %} - Supp + Supp {% else %} - Supp + Supp {% endif %} {% endif %} {% if entry.blog %} - Blog + Blog {% endif %} {% if entry.code %} - Code + Code {% endif %} {% if entry.poster %} {% if entry.poster contains '://' %} - Poster + Poster {% else %} - Poster + Poster {% endif %} {% endif %} {% if entry.slides %} {% if entry.slides contains '://' %} - Slides + Slides {% else %} - Slides + Slides {% endif %} {% endif %} {% if entry.website %} - Website + Website {% endif %}
diff --git a/_layouts/default.html b/_layouts/default.html index b0aa49b6b85c..b7a39b664afd 100644 --- a/_layouts/default.html +++ b/_layouts/default.html @@ -2,8 +2,8 @@ + {% if page.redirect %}{% endif %} {% include head.html %} - {% include scripts/mathjax.html %} @@ -24,8 +24,11 @@ + {% include scripts/jquery.html %} {% include scripts/bootstrap.html %} {% include scripts/mansory.html %} {% include scripts/misc.html %} + {% include scripts/mathjax.html %} + {% include scripts/analytics.html %} diff --git a/_layouts/distill.html b/_layouts/distill.html index f9459f1d43aa..a038990b664a 100644 --- a/_layouts/distill.html +++ b/_layouts/distill.html @@ -5,6 +5,7 @@ {% include scripts/mathjax.html %} + {% if page._styles %} + + + + 90 + Performance + + + + + 84 + Accessibility + + + + + 100 + Best Practices + + + + + 82 + SEO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Progressive + Web App + + + + + + + + + + + + + + + 0-49 + 50-89 + 90-100 + + + \ No newline at end of file diff --git a/assets/js/dark_mode.js b/assets/js/dark_mode.js index 5f53fa15b6e5..863b273fe725 100644 --- a/assets/js/dark_mode.js +++ b/assets/js/dark_mode.js @@ -1,34 +1,8 @@ -$(document).ready(function() { +document.addEventListener('DOMContentLoaded', function() { const mode_toggle = document.getElementById("light-toggle"); mode_toggle.addEventListener("click", function() { - const temp = localStorage.getItem("theme"); - toggleTheme(temp); + toggleTheme(localStorage.getItem("theme")); }); - - let toggleTheme = (theme) => { - if (theme == "dark") { - setTheme("light"); - } else { - setTheme("dark"); - } - } - - let setTheme = (theme) => { - trans(); - if (theme) { - document.documentElement.setAttribute("data-theme", theme) - } - else { - document.documentElement.removeAttribute("data-theme"); - } - localStorage.setItem("theme", theme); - }; - - let trans = () => { - document.documentElement.classList.add("transition"); - window.setTimeout(() => { - document.documentElement.classList.remove("transition") - }, 500) - } }); + diff --git a/assets/js/distillpub/overrides.js b/assets/js/distillpub/overrides.js new file mode 100644 index 000000000000..7e4dba7e50f4 --- /dev/null +++ b/assets/js/distillpub/overrides.js @@ -0,0 +1,20 @@ +$(document).ready(function() { + // Override styles of the footnotes. + document.querySelectorAll("d-footnote").forEach(function(footnote) { + footnote.shadowRoot.querySelector("sup > span") + .setAttribute("style", "color: var(--global-theme-color);"); + footnote.shadowRoot.querySelector("d-hover-box").shadowRoot.querySelector("style").sheet + .insertRule(".panel {background-color: var(--global-bg-color) !important;}"); + }); + // Override styles of the citations. + document.querySelectorAll("d-cite").forEach(function(cite) { + cite.shadowRoot.querySelector("div > span") + .setAttribute("style", "color: var(--global-theme-color);"); + cite.shadowRoot.querySelector("style").sheet + .insertRule("ul li a {color: var(--global-text-color) !important; text-decoration: none;}"); + cite.shadowRoot.querySelector("style").sheet + .insertRule("ul li a:hover {color: var(--global-theme-color) !important;}"); + cite.shadowRoot.querySelector("d-hover-box").shadowRoot.querySelector("style").sheet + .insertRule(".panel {background-color: var(--global-bg-color) !important;}"); + }); +}) \ No newline at end of file diff --git a/assets/js/theme.js b/assets/js/theme.js index b5c468898681..371365ec2f50 100644 --- a/assets/js/theme.js +++ b/assets/js/theme.js @@ -1,4 +1,42 @@ // Has to be in the head tag, otherwise a flicker effect will occur. + +let toggleTheme = (theme) => { + if (theme == "dark") { + setTheme("light"); + } else { + setTheme("dark"); + } +} + + +let setTheme = (theme) => { + transTheme(); + if (theme) { + document.documentElement.setAttribute("data-theme", theme); + } + else { + document.documentElement.removeAttribute("data-theme"); + } + localStorage.setItem("theme", theme); + + // Updates the background of medium-zoom overlay. + if (typeof medium_zoom !== 'undefined') { + medium_zoom.update({ + background: getComputedStyle(document.documentElement) + .getPropertyValue('--global-bg-color') + 'ee', // + 'ee' for trasparency. + }) + } +}; + + +let transTheme = () => { + document.documentElement.classList.add("transition"); + window.setTimeout(() => { + document.documentElement.classList.remove("transition"); + }, 500) +} + + let initTheme = (theme) => { if (theme == null) { const userPref = window.matchMedia; @@ -6,12 +44,8 @@ let initTheme = (theme) => { theme = 'dark'; } } - - if (theme) { - document.documentElement.setAttribute('data-theme', theme) - } - - localStorage.setItem("theme", theme); + setTheme(theme); } + initTheme(localStorage.getItem("theme")); diff --git a/assets/js/zoom.js b/assets/js/zoom.js index c499858f5f12..c8610d6118dd 100644 --- a/assets/js/zoom.js +++ b/assets/js/zoom.js @@ -1,8 +1,8 @@ - +// Initialize medium zoom. $(document).ready(function() { - mediumZoom('[data-zoomable]', { - margin: 100, - background: getComputedStyle(document.documentElement) - .getPropertyValue('--global-bg-color') + 'ee', - }) + medium_zoom = mediumZoom('[data-zoomable]', { + margin: 100, + background: getComputedStyle(document.documentElement) + .getPropertyValue('--global-bg-color') + 'ee', // + 'ee' for trasparency. + }) }); diff --git a/assets/resized/antarctica-480x480.png b/assets/resized/antarctica-480x480.png new file mode 100644 index 000000000000..0c115f6f3bda Binary files /dev/null and b/assets/resized/antarctica-480x480.png differ diff --git a/assets/resized/antarctica-800x800.png b/assets/resized/antarctica-800x800.png new file mode 100644 index 000000000000..c04226bbbfe1 Binary files /dev/null and b/assets/resized/antarctica-800x800.png differ diff --git a/assets/resized/fe2ti_nakajima-480x302.png b/assets/resized/fe2ti_nakajima-480x302.png new file mode 100644 index 000000000000..d0e70c80b7f9 Binary files /dev/null and b/assets/resized/fe2ti_nakajima-480x302.png differ diff --git a/assets/resized/fsi-artery-1400x782.png b/assets/resized/fsi-artery-1400x782.png new file mode 100644 index 000000000000..fdd31846dfee Binary files /dev/null and b/assets/resized/fsi-artery-1400x782.png differ diff --git a/assets/resized/fsi-artery-480x268.png b/assets/resized/fsi-artery-480x268.png new file mode 100644 index 000000000000..5dbe7c5ed268 Binary files /dev/null and b/assets/resized/fsi-artery-480x268.png differ diff --git a/assets/resized/fsi-artery-800x447.png b/assets/resized/fsi-artery-800x447.png new file mode 100644 index 000000000000..79b1fd2ea82c Binary files /dev/null and b/assets/resized/fsi-artery-800x447.png differ diff --git a/assets/resized/prof_pic3-1400x2100.jpeg b/assets/resized/prof_pic3-1400x2100.jpeg new file mode 100644 index 000000000000..c8be62ee20b3 Binary files /dev/null and b/assets/resized/prof_pic3-1400x2100.jpeg differ diff --git a/assets/resized/prof_pic3-480x720.jpeg b/assets/resized/prof_pic3-480x720.jpeg new file mode 100644 index 000000000000..1c2659a41ef1 Binary files /dev/null and b/assets/resized/prof_pic3-480x720.jpeg differ diff --git a/assets/resized/prof_pic3-800x1200.jpeg b/assets/resized/prof_pic3-800x1200.jpeg new file mode 100644 index 000000000000..df4506419497 Binary files /dev/null and b/assets/resized/prof_pic3-800x1200.jpeg differ diff --git a/blog/index.html b/blog/index.html index 9c474d78034e..200147bf0acd 100644 --- a/blog/index.html +++ b/blog/index.html @@ -1,5 +1,6 @@ --- layout: default +title: blog pagination: enabled: true collection: posts @@ -22,11 +23,41 @@

{{ site.blog_description }}

    {% for post in paginator.posts %} -
  • -

    {{ post.title }}

    - -

    {{ post.description }}

    -
  • + + {% assign read_time = page.content | number_of_words | divided_by: 180 | plus: 1 %} + {% assign year = post.date | date: "%Y" %} + {% assign tags = post.tags | join: "" %} + {% assign categories = post.categories | join: "" %} + +
  • +

    {{ post.title }} +

    +

    {{ post.description }}

    + + +
  • + {% endfor %}
diff --git a/robots.txt b/robots.txt new file mode 100644 index 000000000000..a450fbe28faa --- /dev/null +++ b/robots.txt @@ -0,0 +1,7 @@ +--- +permalink: /robots.txt +--- +User-agent: * +Disallow: + +Sitemap: {{ site.baseurl | prepend: site.url }}/sitemap.xml