Commit Graph

216 Commits

Author SHA1 Message Date
b7df4c8915 Remove pandoc markdown 2026-03-03 15:02:28 +01:00
cc25b34330 fixing about 2026-02-20 18:38:53 +01:00
0b852e1d52 Merge remote-tracking branch 'gh/main' 2026-02-18 16:59:30 +01:00
Copilot
14136f6592
Add GDPR-compliant cookie consent with analytics blocking (#3492)
Implements cookie consent using vanilla-cookieconsent v3 to comply with
GDPR requirements. Analytics scripts are blocked until user consent is
obtained.

## Changes

**Library Integration**
- Added `vanilla-cookieconsent@3.1.0` to `_config.yml` third-party
libraries with SRI hashes
- Created `_scripts/cookie-consent-setup.js` with consent modal and
settings configuration
- Added CSS/JS includes in `_includes/head.liquid` and
`_includes/scripts.liquid`

**Analytics Blocking**
- Modified analytics scripts in `scripts.liquid` and
`distill_scripts.liquid` to use conditional `type="text/plain"
data-category="analytics"` when consent is disabled
- Blocks Google Analytics, Cronitor, Pirsch, and OpenPanel until consent
granted
- Library automatically converts blocked scripts to executable on user
acceptance

**Configuration**
- Added `enable_cookie_consent` flag (default: `false`)
- Cookie categories: `necessary` (always on), `analytics` (optional)
- 182-day cookie expiration, auto-clear on rejection

## Implementation

```liquid
{% if site.enable_cookie_consent %}
  <script type="text/plain" data-category="analytics" async src="...gtag.js"></script>
{% else %}
  <script async src="...gtag.js"></script>
{% endif %}
```

Enable in `_config.yml`:
```yaml
enable_cookie_consent: true
```

## Screenshots

**Consent Modal**

![Cookie consent
modal](https://github.com/user-attachments/assets/9edcddad-6a54-49ca-a164-083157d98370)

**Settings Modal**

![Cookie
preferences](https://github.com/user-attachments/assets/cf2a58ea-68c0-4699-b401-38377b98b718)

> [!WARNING]
>
> <details>
> <summary>Firewall rules blocked me from connecting to one or more
addresses (expand for details)</summary>
>
> #### I tried to connect to the following addresses, but was blocked by
firewall rules:
>
> - `cdn.jsdelivr.net`
>   - Triggering command: `/usr/bin/curl curl -s REDACTED` (dns block)
> - `cookieconsent.orestbida.com`
> - Triggering command:
`/home/REDACTED/work/_temp/ghcca-node/node/bin/node
/home/REDACTED/work/_temp/ghcca-node/node/bin/node --enable-source-maps
/home/REDACTED/work/_temp/copilot-developer-action-main/dist/index.js`
(dns block)
> - `medium.com`
> - Triggering command: `/usr/local/bin/ruby ruby
/usr/local/bundle/bin/bundle exec jekyll serve --watch --port=8080
--host=0.0.0.0 --livereload --verbose --trace --force_polling s
6_64-linux /etc/locale.gen by/backward -binutils_2.44-3grep .deb eb
/systemd-sysctl` (dns block)
> - `publish.twitter.com`
> - Triggering command: `/usr/local/bin/ruby ruby
/usr/local/bundle/bin/bundle exec jekyll serve --watch --port=8080
--host=0.0.0.0 --livereload --verbose --trace --force_polling lude
lude/ruby-4.0.0//run/containerd/io.containerd.runtime.v2.task/moby/a4760212ce4eda97e32b6dfa4d3ea/usr/sbin/iptables
r/runc-log.json f8_range lude r-strong E r/wc7in709a54d7hshow` (dns
block)
>
> If you need me to access, download, or install something from one of
these locations, you can either:
>
> - Configure [Actions setup
steps](https://gh.io/copilot/actions-setup-steps) to set up my
environment, which run before the firewall is enabled
> - Add the appropriate URLs or hosts to the custom allowlist in this
repository's [Copilot coding agent
settings](https://github.com/alshedivat/al-folio/settings/copilot/coding_agent)
(admins only)
>
> </details>

<!-- START COPILOT ORIGINAL PROMPT -->



<details>

<summary>Original prompt</summary>

> 
> ----
> 
> *This section details on the original issue you should resolve*
> 
> <issue_title>GDPR compliant cookie consent dialog</issue_title>
> <issue_description>Hi,
> 
> since I am from Europe and want my site to be accessed by EU citizens
I need to ask users if they are ok with the use of cookies. Adding a
dialogue by default that that asks the user before any cookies /
localStorage are used would be nice.
> 
> I have integrated the dialog from
[https://www.cookieconsent.com/](https://www.cookieconsent.com/) on [my
website](http://hschwane.github.io) and am happy to file a PR if you are
interested. However It is not shown directly at the top, but below the
menu bar for some reason. Not sure how to fix that.
> </issue_description>
> 
> <agent_instructions>Implement this using cookie consent dialog from
https://github.com/orestbida/cookieconsent. The documentation is
available at
https://cookieconsent.orestbida.com/essential/getting-started.html.</agent_instructions>
> 
> ## Comments on the Issue (you are @copilot in this section)
> 
> <comments>
> <comment_new><author>@alshedivat</author><body>
> @hschwane, thanks for pointing this out. It's would be great if you
could send a PR.
> 
> To answer your question about positioning, the menu bar has the
absolute position at the top of the page and keeps moving with
scrolling. You can change that behavior in `_config.yml` by setting
`navbar_fixed: false` (see [line
27](https://github.com/alshedivat/al-folio/blob/master/_config.yml#L27)).
If you send a PR with basic functionality, I can help with adjusting the
styles a bit. Thanks!</body></comment_new>
> <comment_new><author>@alshedivat</author><body>
> Just catching up on this discussion.
> 
> @hschwane, thanks for providing an implementation based on
`ihavecookies`! I looked through alshedivat/al-folio#223. It seems like
to be able to correctly (un)block different types of cookies (all of
which are third-party cookies) requires adding quite a bit of extra
JavaScript (including adding it directly to posts or pages in some
cases, e.g., when posts embed youtube videos or other external content).
This approach will put some extra burden on contributors and maintainers
of al-folio down the line.
> 
> By the way, the dialog from https://www.cookieconsent.com/ is similar
in that sense as it requires to manually add ALL scripts that use
cookies. So, if someone contributes a new feature to al-folio that uses
cookies, the contributor would have to go and update the cookie consent
dialog as well (or edit quite a bit of JS if `ihavecookies` is used).
> 
> Thinking about this more, I currently see only three options:
> 1. If we want to have cookie consent as a core part of al-folio (which
can be easily enabled or disabled), it needs to be a service that
automatically identifies and blocks cookies, without putting an extra
burden on the contributors or maintainers. The hosted version of [Cookie
Consent by Osano](https://www.osano.com/features/consent-management) is
an example.
> 2. Another option is to provide a very minimalistic cookie consent
dialog which simply says that the website uses cookies, without an
option to opt-in or opt-out (e.g., see the open-source edition of
[Osano](https://www.osano.com/cookieconsent/download/)).
> 3. Finally, not have cookie consent as part of al-folio, and make the
user responsible for figuring out whether they need a consent dialog and
which service to use.
> 
> Let me know what you think.</body></comment_new>
> <comment_new><author>@alshedivat</author><body>
> the best way to add GDPR compliant cookie consent is using
https://github.com/orestbida/cookieconsent</body></comment_new>
> </comments>
> 


</details>


> **Custom agent used: customization_agent**
> Expert customization assistant for the al-folio Jekyll academic
website template



<!-- START COPILOT CODING AGENT SUFFIX -->

- Fixes alshedivat/al-folio#199

<!-- START COPILOT CODING AGENT TIPS -->
---

 Let Copilot coding agent [set things up for
you](https://github.com/alshedivat/al-folio/issues/new?title=+Set+up+Copilot+instructions&body=Configure%20instructions%20for%20this%20repository%20as%20documented%20in%20%5BBest%20practices%20for%20Copilot%20coding%20agent%20in%20your%20repository%5D%28https://gh.io/copilot-coding-agent-tips%29%2E%0A%0A%3COnboard%20this%20repo%3E&assignees=copilot)
— coding agent works faster and does higher quality work when set up for
your repo.

---------

Signed-off-by: George Araújo <george.gcac@gmail.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: george-gca <31376482+george-gca@users.noreply.github.com>
Co-authored-by: George Araújo <george.gcac@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-02-04 10:16:34 -03:00
Jiahao Zhang
0fe3c84636
Add course schedule feature to teaching page (#2258) (#3147)
Implements the course schedule feature requested in issue
#[2258](https://github.com/alshedivat/al-folio/issues/2258).

This PR adds a new course schedule feature to the al-folio theme,
allowing academics to easily create and display structured course
information.

**Changes:**
- Added a `courses` collection to organize and display academic courses
- Created course layout and display templates with responsive design
- Implemented organization by year and term with automatic sorting
- Added support for weekly schedule with topics and course materials
- Simplified documentation with a README for course creation

This feature makes it easier for academics to showcase their teaching
materials with a consistent, organized display of course schedules,
helping users create professional teaching pages without custom
implementation.

---------

Signed-off-by: George Araújo <george.gcac@gmail.com>
Co-authored-by: George Araújo <george.gcac@gmail.com>
2026-01-17 18:43:47 -03:00
George
43ec3db09c
Changed to use jekyll-socials plugin (#3439)
Signed-off-by: George Araújo <george.gcac@gmail.com>
2026-01-14 19:10:50 -03:00
George
7249c6ef61
Changed to use cache bust plugin (#3436)
Signed-off-by: George Araújo <george.gcac@gmail.com>
2026-01-14 13:11:53 -03:00
George
70d07e61f3
Changed code to use plugin to handle 3rd party libraries downloads (#3435)
Signed-off-by: George Araújo <george.gcac@gmail.com>
2026-01-14 13:08:21 -03:00
Julien Chevallier
a5993100fd
Add HAL button (#3404)
Adds a HAL button in the same spirit as the arXiv button.
- add HAL button to `_layouts/bib.liquid`
- add `hal` to the filtered keywords in `_config.yml`
- add `hal` to the documentation  in `CUSTOMIZE.md`
2026-01-09 18:15:36 -03:00
Julien Chevallier
53dfb1184e
add filtered BibTeX keywords (#3403)
add `dimensions, eprint` and `pmid` to the filtered keywords
2026-01-09 18:14:45 -03:00
Dominik Fuchß
67bd1b6210
Make external service URLs configurable for repository page (#3422)
## Description

This PR makes the URLs for external services used on the repository page
configurable in `_config.yml`. This allows users to self-host these
services for better reliability, privacy, and customization.

## Changes

- Added `external_services` configuration section in `_config.yml` with:
- `github_readme_stats_url` (default:
`https://github-readme-stats.vercel.app`)
- `github_profile_trophy_url` (default:
`https://github-profile-trophy.vercel.app`)
- Updated repository template files to use configurable URLs:
  - `_includes/repository/repo_user.liquid`
  - `_includes/repository/repo.liquid`
  - `_includes/repository/repo_trophies.liquid`
- Added documentation in `CUSTOMIZE.md` explaining:
- Why self-hosting is recommended (default services may have
availability issues)
  - How to configure custom service URLs
  - Links to the service repositories for deployment instructions

## Resolves

Resolves #3388 - This makes it possible to configure self-hosted
versions of these services, giving users full control over the external
services used for displaying GitHub statistics and trophies.

## Testing

- Verified that default configuration still works with original service
URLs
- Confirmed that URLs are properly interpolated in all template files
- Documentation clearly explains the configuration options
2026-01-07 11:37:24 -03:00
Michael Vanden Heuvel
1a45b5ba81
Add auto-orient flag to Imagemagick config (#3409)
Currently, images generated by Imagemagick do not respect the
orientation of the source image. By adding the auto-orient flag, the
images are the correct orientation.

Before
<img width="920" height="562" alt="image"
src="https://github.com/user-attachments/assets/73f59d7f-b6c5-468a-9023-0f0457a53a3c"
/>

After
<img width="947" height="621" alt="image"
src="https://github.com/user-attachments/assets/2f24de99-2e84-4052-8d0f-945acdad81e4"
/>
2026-01-02 21:14:16 -03:00
George
81c0556cbf
Added support for default categories and tags for external posts (#3417)
Based on discussion #3393.

---------

Signed-off-by: George Araújo <george.gcac@gmail.com>
2026-01-02 20:37:16 -03:00
Sundar Gurumurthy
cf8e02f98b
Make Giscus light and dark themes configurable via _config.yml (#3270)
Currently, the `site.giscus.theme` option is ignored because
`giscus.liquid` always computes the theme as light/dark based on the
current site theme. This PR allows users to configure separate light and
dark giscus themes in `_config.yml`, which will support dynamic updates
when switching between light, dark, or system themes.

Fixes #3269
2025-08-25 18:17:14 -03:00
Chen Chen
d6477e889f
Remove unnecessary rss_icon line from _config.yml (#3154)
Also make document clearer for rss_icon.
2025-05-21 23:25:11 -07:00
George
f68e88c5ef
Added support for plotly js (#3097)
Only now I realized that the [previous
support](https://alshedivat.github.io/al-folio/blog/2021/distill/#interactive-plots)
for [plotly](https://plotly.com/) was enabled by exporting an HTML from
python code. This adds support for
[plotly.js](https://plotly.com/javascript/).

---------

Signed-off-by: George Araújo <george.gcac@gmail.com>
2025-03-26 17:16:03 -03:00
Pranjal Aggarwal
a7b1f8c1b1
Re-add ability to exclude posts from search (#3089)
Earlier there was a tag in the `_config.yml` file to exclude the posts
from the search results. I could no longer find that option and hence
modified the `search.liquid.js` file.
It basically checks if the `posts_in_search` tag is true or not.
2025-03-22 22:11:34 -03:00
George
6625f2395a
Digital Bookshelf V2 (#2866)
Since I was annoyed at not being able to use
[jekyll-archives](https://github.com/jekyll/jekyll-archives) to create
an archive for the books, I decided to implement myself the
[jekyll-archives-v2](https://github.com/george-gca/jekyll-archives-v2)
that doesn't have this limitation.

Closes #923.

---------

Signed-off-by: George Araújo <george.gcac@gmail.com>
2025-02-28 13:57:36 -03:00
Dominik Fuchß
14aaf4726e
Re-Enable exclusions of jekyll minifier (#3038)
Resolve #3037

This PR just re-enable the old exclusions of jekyll-minifier to ensure
that the files aren't altered.
2025-02-27 21:26:29 -03:00
George
0b3f19dfb3
Moved specific information from config to about (#2985)
Moved news and latest posts related information from `_config.yml` to
`_about.md` page.

Signed-off-by: George Araújo <george.gcac@gmail.com>
2025-01-27 17:04:24 -03:00
Maruan
f233233e19
Remove internal copy of jekyll-terser (#2945)
# Summary

since https://github.com/RobertoJBeltran/jekyll-terser/pull/1 has been
merged, I'm removing the internal copy jekyll-terser and switching to
https://github.com/RobertoJBeltran/jekyll-terser instead. also,
refactored `Gemfile` a bit.
2025-01-09 04:34:44 -08:00
George
05eb46ac3f
Replaced jekyll-minifier that uses uglifier by terser (#2571)
Hopefully fixes #2548.

---------

Signed-off-by: George Araujo <george.gcac@gmail.com>
Signed-off-by: George Araújo <george.gcac@gmail.com>
2024-12-23 14:00:58 -03:00
George
e452f1a60f
Moved socials config to _data/socials.yml (#2885)
Fixes #2882, added support for
[scholar-icons](https://github.com/louisfacun/scholar-icons) and
[LeetCode](https://leetcode.com/).

---------

Signed-off-by: George Araújo <george.gcac@gmail.com>
2024-12-12 12:44:43 -03:00
George
f23e35e043
New image components (image galleries) (#2877)
Added support for multiple image galleries, and created a sample post
showing how to enable and use them.

---------

Signed-off-by: George Araújo <george.gcac@gmail.com>
2024-12-10 19:01:01 -03:00
Abderrahmane Ait gueni ssaid
b7ee266824
Support for openpanel.dev for analytics (#2822) 2024-11-10 13:28:30 -03:00
CheariX
421bdf860b
fix: do not included downloaded assets in jekyll-minifier (#2749)
If `download: true`, the site deployment fails.
This caused e.g. issue #2548.

I believe the issue appears because the 3rd party downloaded libs rely
on ES6 Syntax, which jekyll-minifier cannot work on correctly.
Also, I think we do not need to minify 3rd party downloaded libs at all.

While this PR does **not** fix the issue above, it at least ensures that
the site can be deployed with `download: true`. We still need better ES6
support as suggested in #2571.
2024-10-05 19:42:37 -03:00
Corentin Sautier
03f429f901
Update _config.yml to add a filtered bibtex keyword (#2648)
Added the google_scholar_id to filtered keywords
2024-08-20 11:44:25 -03:00
Riasat Sheikh
dfc7453ea0
[Feature] InspireHEP social and citation count badge (#2638)
[INSPIRE](http://inspirehep.net/) is a trusted community hub that
facilitates the sharing and discovery of accurate scholarly information
in high energy physics. By integrating the social and citation count
badge, al-folio users within this community will gain significant
benefits.

In continuation of #2634, I am creating this pull request.

## Details

### Social Icon
- Add your INSPIRE author ID in the `config.yml` under `inspirehep_id`.

### Citation Count
- Enable this feature by setting `inspirehep` to `true` under
`enable_publication_badges` in your `config.yml` file.
- In your bibliography file (e.g., `papers.bib`), add `inspirehep_id =
{the literature's recid}` under the citation of a literature source.
2024-08-19 00:03:01 -03:00
George
49ada3eac1
Update collections permalinks in _config.yml 2024-07-12 22:06:43 -03:00
Scott Lee Chua
c4f20b889e
Make publication badges always visible (#2565)
## The issue
Currently Altmetric and Dimension publication badge elements have
non-obvious attributes that hide badges when some conditions are not met
,e.g.:
```
data-hide-no-mentions="true"
data-hide-less-than="15"
```
resulting in seemingly strange behavior where badges are enabled in
`config.yml` but don't show up consistently, as reported in #2443 :
Altmetric badges don't display for some pubs.

## This PR
- removes these hidden nondisplay conditions in favor of more
predictable website behavior;
- adds documentation links to point users interested in customizing
badge behavior to the right resources.
2024-07-11 13:46:37 -03:00
George
d019fc0f18
Fixed mathjax hash
Changed to "not" minified version of mathjax since it is already minified
2024-07-10 15:01:28 -03:00
CheariX
0a40a22739
feat: simple filtering / searching on bibliography (#2523)
This PR adds a simple filter/search functionality to the bibliography.

It can be used in two ways:

1. Simply enter a search term in the input box.
2. Send a search term via the `location.hash`, e.g.,
https://alshedivat.github.io/al-folio/publications/#mechanics

**Notes:**

- The search box is optional. It can be simply removed if anyone does
not like it.
- Searching via `hash` works without the search box. My idea is to use
this functionality to index all BibTeX entries via the `ctrl-k` search
and link them via their BibTeX key.
- Searching via `hash` could also be used to set static links on the
current page, e.g., to filter specific co-authors, venues, etc.
- I don't know much about the design of the input field. I simply reused
the newsletter box style.
- Entering a search term in the box does exact matching. No fuzzy
search, no AND/OR logic. I kept it very simple. Maybe anyone else wants
to improve it in the future.
- The search looks in all data in the BibTeX entry that is parsed via
`bib.liquid`. E.g., it is possible to search for BibTeX keys, titles,
authors, years, venues, abstracts, or whatever `bib.liquid` prints.
- I used a 300ms delay before starting to search on the input box.
- Entering search terms in the box does not update the location hash
(things could get complex otherwise due to automatically updating each
other...)
- If the filter does not find any match in a specific year, the year is
also made invisible.

**Screenshot**
<img width="935" alt="screenshot"
src="https://github.com/alshedivat/al-folio/assets/1998723/447003e2-c623-4de9-b2c5-2357117a7743">

Looking for feedback.
2024-07-08 16:51:22 -03:00
Andrew Boyer
0ac9e447ca
Added support for a newsletter (#2517)
In reference to idea:
https://github.com/alshedivat/al-folio/discussions/2097
In reference to request:
https://github.com/alshedivat/al-folio/issues/923#issuecomment-2171924663

Added support to integrate a [loops.so](https://loops.so/) mailing list
into the site.

To use, you need to enable `newsletter` in `_config.yml`. You also must
specify a loops endpoint (although I think any mailing list endpoint can
work), which you can get when you set up a mailing list on loops. More
documentation on loops: [here](https://loops.so/docs/forms/custom-form).

Once that is enabled, the behavior is different depending on how you
specified your footer to behave in `_config.yml`. If `footer_fixed:
true`, then the sign up will appear at the bottom of the about page, as
well as at the bottom of blog posts, if you enable `related_posts`.

If `footer_fixed: false`, then the newsletter signup will be in the
footer (on every page), like it is in on [my
website](https://asboyer.com).

I'm not attached to the placement of the signup, and you can choose to
include it wherever you want with `{% include scripts/newsletter.liquid
%}`. Also if you include positional variables into that, you can choose
how you center the signup. So `{% include scripts/newsletter.liquid
left=true %}` positions the signup bar to the left.

Here are some screenshots below:
## Dark version

![image](https://github.com/alshedivat/al-folio/assets/52665298/af7fdb81-6e5f-47a9-958b-4cb93bba9e8f)

## Light version

![image](https://github.com/alshedivat/al-folio/assets/52665298/927f8bc5-b481-448b-ae5e-6f5b1c613243)
I think the input field color should probably change to maybe be light
for both themes? What do you think? I think the dark background looks
cool, but I don't usually see that done like that on other sites.

## Footer fixed

![image](https://github.com/alshedivat/al-folio/assets/52665298/c52f3dc1-0e45-400e-8b71-eeb00d00cb01)


![image](https://github.com/alshedivat/al-folio/assets/52665298/678a2d45-88ab-4d9a-b8cc-9fc6db26d744)

## Footer not fixed

![image](https://github.com/alshedivat/al-folio/assets/52665298/fd2c0228-2bce-4335-ac3c-5cb20a3307e2)


![image](https://github.com/alshedivat/al-folio/assets/52665298/f594b4f2-67e0-4f2b-a3e8-febd579aaf19)
To clarify, if footer isn't fixed, the email signup will appear on every
page.

---------

Co-authored-by: George <31376482+george-gca@users.noreply.github.com>
2024-06-19 14:49:19 -03:00
ariseus
a25df79188
Support superscripts in bibtex author names (#2512)
Implements #2511
2024-06-19 14:34:54 -03:00
ariseus
ec3bff6b6b
Support pirsch.io for analytics (#2513) 2024-06-18 11:04:21 -03:00
Rachel
180ae3165a
[Tweak] Update "search filters" displayed on the blog's front page (#2480)
# [Tweak] Update "search filters" on blog's front page

## Current Behavior

```
1. Go to `blog/`
2. Select "🏷️ Blockquotes" "search filter"

=> `blog/category/blockquotes/` returns 404
```

<img width="400" alt="current-01-blog-filters"
src="https://github.com/alshedivat/al-folio/assets/5504473/dae7f061-864d-49f3-9af1-1ef30c8056cd">
<img width="400" alt="current-02-category-blockquotes"
src="https://github.com/alshedivat/al-folio/assets/5504473/c09422a9-a2c7-4f81-8534-1f310c4f9876">

<hr>

## Resolution in PR

1. Append 'blockquotes' to
[`display_tags`](https://github.com/alshedivat/al-folio/pull/2480/files#diff-ecec67b0e1d7e17a83587c6d27b6baaaa133f42482b07bd3685c77f34b62d883R295)
2. Replace 'blockquotes' with 'external-services' in
`display_categories`

=> Display 'blockquotes' tag and 'external-services' category on blog's
front page

<img width="400" alt="v2-01"
src="https://github.com/alshedivat/al-folio/assets/5504473/c2f62a12-578d-44e0-ae8c-d6998fe8e2cb">
<br>  
<img width="300" alt="v2-02"
src="https://github.com/alshedivat/al-folio/assets/5504473/8df86ea0-46d6-4389-904d-24965d74ace9">
<img width="300" alt="v2-03"
src="https://github.com/alshedivat/al-folio/assets/5504473/6407812a-2052-4e0c-88bf-0d70d1c03ed8">
2024-06-07 17:15:21 -03:00
Maruan
d004837e60
Enable specifying explicit list of external posts to display (#2059)
- updates `external-posts.rb` plugin, allowing the user to specify an
explicit lists of urls in `_config.yml` that are then displayed in the
blog feed as external posts
- 99% of the code in this change is written by gpt-4:
https://chat.openai.com/share/24432d24-36a7-4d6f-a5c0-d7e5142f68cd
2024-05-27 21:15:44 -03:00
Abhilesh Dhawanjewar
9e59ab8d72
Fix: Add back-to-top button (#2433)
Fixes #2425 

PR #2427 adds a back-to-top button, however the button overlaps with the
footer when `footer_fixed: false` and [has inadequate
spacing](https://github.com/alshedivat/al-folio/issues/2425#issuecomment-2121670658)
with `footer_fixed: true`

Changes in this PR:
- Fix positioning of button on fixed and sticky footer layouts 
- Add option to disable back-to-top button by setting `back_to_top:
false` in `_config.yml`
- Add button transparency to avoid button blocking content view
- Reduce size of button

Demo - 

| Device | Fixed footer | Sticky footer |
| :-----------: | :-------------: | :-----------: |
| Mobile |
![fixed_footer_mobile](https://github.com/alshedivat/al-folio/assets/2447878/2e17be04-1fa7-40c5-b691-829e92055367)
|
![sticky_footer_mobile](https://github.com/alshedivat/al-folio/assets/2447878/f5567e43-e6fe-442d-9a7f-99e0577e220b)
|
| Desktop |
![fixed_footer_desktop](https://github.com/alshedivat/al-folio/assets/2447878/fc755839-841a-4e6b-b249-2c75bc552ad8)
|
![sticky_footer_desktop](https://github.com/alshedivat/al-folio/assets/2447878/ef9a4c99-ce4c-4ac3-8fbb-207af9be245a)
|

Miscellaneous change - Added personal website under `Academics` to
`README.md`
2024-05-24 15:58:55 -03:00
George
92cebc9bb1
Added support for search (#2415)
Added support for search within the template as suggested in #581. I
decided to go with a client side search based on [Ninja
keys](https://github.com/ssleptsov/ninja-keys), but using [deepdub's
fork](https://github.com/deepdub-ai/ninja-keys) as basis since it
supports fuzzy search.

Had to do a bunch of changes to their code to make it work without using
node to install everything. Also changed to use some colors defined in
our side and using both pages' titles and descriptions for search. Also
had to increase the template max width to better accomodate the new item
in navigation bar.

Missing implementations:
- [ ] One thing I'd love to do (but currently have no idea how) would be
to change the text next to the search button depending on the platform.
For example, if the user is accessing the site on a mac they should use
⌘k instead of ctrl k.
- [x] Test how this looks like (and how it is supposed to work) on
devices with smaller screens
- [x] Support for offline mode

Some screenshots:

---

## Dark version

![Screenshot from 2024-05-13
16-30-12](https://github.com/alshedivat/al-folio/assets/31376482/535acec5-dd7a-48cb-a17f-a295da98b5d3)

![Screenshot from 2024-05-13
16-30-26](https://github.com/alshedivat/al-folio/assets/31376482/6b2d94bb-3981-4252-ae2b-53994b514491)

![Screenshot from 2024-05-13
16-30-36](https://github.com/alshedivat/al-folio/assets/31376482/66262b56-2744-475d-b09f-2cb65210017b)

---

## Light version

![Screenshot from 2024-05-13
16-30-44](https://github.com/alshedivat/al-folio/assets/31376482/a0eec50c-e7ac-4b52-aee8-2050bff05d54)

![Screenshot from 2024-05-13
16-30-50](https://github.com/alshedivat/al-folio/assets/31376482/41d72066-3e68-4ec3-bf3d-140da621f67b)

![Screenshot from 2024-05-13
16-30-55](https://github.com/alshedivat/al-folio/assets/31376482/613fd56e-7180-4373-ab7a-dfed184b5a18)

---------

Signed-off-by: George Araujo <george.gcac@gmail.com>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-23 23:21:16 -03:00
George
d2853f2828
Added lsi option to _config.yml 2024-05-17 13:33:02 -03:00
George
e954d7726b
Fix offline leaflet (#2420)
Fixes #2419 by downloading leaflet images. Also changed the path where
the libraries are downloaded to avoid not downloading files with same
name.

---------

Signed-off-by: George Araujo <george.gcac@gmail.com>
2024-05-15 17:56:00 -03:00
George
1c416dbae8
Added support for jekyll-tabs (#2380)
Added support for [jekyll-tabs](https://github.com/Ovski4/jekyll-tabs),
implemented #1977.

Light:


![image](https://github.com/alshedivat/al-folio/assets/31376482/a3efdd92-1c0b-4ce7-8b34-2b052b75351b)

Dark:


![image](https://github.com/alshedivat/al-folio/assets/31376482/d0fb7091-8776-4838-8e70-c07435463e0a)

---------

Signed-off-by: George Araujo <george.gcac@gmail.com>
2024-05-02 14:34:48 -03:00
CheariX
a03b2e78e6
feat: make video embeddings optional. (#2337)
As discussed in #1181, I suggest to make embedding videos an optional
feature.

This behavior aligns well with recently merged PR #2312.

Open questions:

1. I added a youtube link to `papers.bib`. Is this link okay?
2. I set `enable_video_embedding: false` as the default. I argue that
privacy settings should be the default. Also, the current implementation
of `video.liquid` only works for some very specific video URLs. For
example, to embed youtube, specialized links must be used to avoid
`X-Frame-Option` issues. This behavior can lead to a broken embedding,
which would not look very nice.

Feedback welcome.
2024-04-15 16:47:23 -03:00
George
d6a08c8ca3
Added pseudocode.js support (#2344)
Signed-off-by: George Araújo <george.gcac@gmail.com>
2024-04-15 11:21:42 -03:00
CheariX
0f46f80899
feat: bib -> acceptance, acceptance_rate, location, cve_score (#2325)
I added further filds to `bib.liquid`.

A common field is `location`, which is now printed.

I added fields for `acceptance` and `acceptance_rate`. These fields
might be usefull for external people to better determine a vanue's
quality.
`acceptance` is used for the accepted vs submitted papers. 
`acceptance_rate` is a percent-value.

<img width="785" alt="Bildschirmfoto 2024-04-07 um 18 11 49"
src="https://github.com/alshedivat/al-folio/assets/1998723/d5eaeb08-7f67-4fb7-b9b9-fd5f4a3c331c">

The existence of two distinct variables stems from the fact that the
'acceptance_rate' is represented using the venue color. On my website, I
employ venue colors correlated with computer science conference
rankings, which naturally leads to associating the acceptance rate with
the same color scheme for coherence and better understanding.

<img width="785" alt="Bildschirmfoto 2024-04-07 um 18 14 54"
src="https://github.com/alshedivat/al-folio/assets/1998723/33ef0419-00ee-4fea-93d9-18c0269188de">

You can find more examples on my
[website](https://christianmainka.de/publications/peerreviewed).

Also, I added a CVE Score, which is mainly usefull for IT-Security
researchers, see this [example](https://christianmainka.de/cve/).

***

Let me know what you think about this proposal.
2024-04-13 11:55:33 -04:00
George
08d562a104
Offline mode (closes #1181) (#2312)
Created a plugin to tackle #1181. Currently have an issue with tikzjax
since it imports some wasm file from its javascript. The rest should
work as expected.

---------

Signed-off-by: George Araujo <george.gcac@gmail.com>
2024-04-08 14:51:28 -03:00
CheariX
876d287cc8
Feature: added "award" for publications (#2324)
This PR adds an "award" button to publications.
It takes the `award` value from the bibtex entry and displays(incl.
Markdown rendering) the text in a box similarly to abstract and bibtex.

User can set the entry `award_name` to configure the value. See example
config with `award_name: Nobel Prize`.

The color of the award box can be configured in `_base.scss`.

Note, there is a similar PR #2175, it I saw to issues with:

1. There was no progress
2. The award button just prints the text directly in the button,
similarly to `award_name`. Long award names could clutter the webpage.
3. IMHO, it brokes the current al-folio design, since butons do have a
fixed size/text. However, variable prize names are also possible with
this PR.
***
Pictures:

Default. Text are hidden:

<img width="708" alt="grafik"
src="https://github.com/alshedivat/al-folio/assets/1998723/1221c82c-c384-4297-807e-39385e2ce4fd">

Additional info is shown when the button is clicked. Markdown supported.

<img width="684" alt="grafik"
src="https://github.com/alshedivat/al-folio/assets/1998723/2354aeee-12b0-4d32-b194-5d2ea80d8363">

Only one text box shown at the same time, like it is with "ABS" and
"BIB":
<img width="691" alt="grafik"
src="https://github.com/alshedivat/al-folio/assets/1998723/d3937bb9-d9c2-47ac-b819-b92aec3d916a">

***

Feedback welcome.

You can also check [my
website](https://christianmainka.de/publications/awarded), which was the
base for this PR.
2024-04-07 17:37:02 -03:00
CheariX
1e00eb05f3
feat: added IEEE and ACM social (#2321)
I added further social integration for:

1. ACM: https://dl.acm.org/profile/
2. IEEE: https://ieeexplore.ieee.org/author/

Given their importance in computer science, I would like to have them in
al-folio.
2024-04-07 17:05:41 -03:00
George
00fdc13d6c
Added Bluesky social (#2314)
Now that Bluesky is [finally
available](https://fontawesome.com/changelog) at Font Awesome, we can
add it to the template.

---------

Signed-off-by: George Araujo <george.gcac@gmail.com>
2024-04-02 17:28:27 -03:00
Yi Su
088ba7e58c
add flickr to social integration (#2286)
- add flickr to social integration

---------

Co-authored-by: Yi Su <yi_su@apple.com>
2024-03-20 16:23:30 -03:00