Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Display files in browser where appropriate. #14

Open
ramesbury opened this issue Sep 13, 2019 · 54 comments
Open

Display files in browser where appropriate. #14

ramesbury opened this issue Sep 13, 2019 · 54 comments
Labels
enhancement New feature or request UI

Comments

@ramesbury
Copy link

It would be nice to open html files in the browser instead of having to download and up zip the file. CircleCi does this. This is useful for test results or lint results and other types of reports.

@GuiSim
Copy link

GuiSim commented Feb 6, 2020

We'd love to be able to access images directly in the browser without having to download+extract the ZIP.

@auscompgeek
Copy link

To add to the mimetypes, I have PDF artifacts, and it would also be nice if they simply opened in an appropriate viewer.

@amyreese
Copy link

amyreese commented Apr 1, 2020

I'm also looking for this feature so that we can fully deprecate and replace our dependency on CircleCI. We generate Sphinx pages (html, css, js), and CircleCI gives us a link to view these directly from the CI results page. This is an important piece of functionality for some of our projects.

Is this on someone's roadmap with an ETA, or is this something that I can help with implementing on top of the v2-preview action?

@tysonite
Copy link

It would be very nice if someone with typescript experience can implement that as v2 is out finally!

@konradpabjan
Copy link
Collaborator

Chiming in now that v2 is released. The zip file that you see is a GitHub UI limitation. Files get uploaded individually one by one. The zip that you see only gets generated when you click to download the artifact from the UI (we don't have anything in the UI to let you browse artifact files and consequently download them) The zip currently gets created so you can get all the contents of your artifact with a single download. So we have some work to do on our end that is independent of how the artifact gets uploaded.

Please be aware that we have plans to significantly enhance the UI so you can browse and download files individually (and consequently open files in the browser such as PDFs and HTML documents). No ETA, but we'll share information for sure once things start coming up.

@hgustafsson
Copy link

Even if the UI is not there yet, is it possible to obtain a separate artifact file by some tailored URL? If not, could it perhaps be implemented as a first step?

@hiqqs
Copy link

hiqqs commented Jul 23, 2020

seems more like a bug if you upload an artifact of a .zip file for it to just then be rezipped as an artifact. Artifact uploads should be able to be referenced via URL and viewed within the UI without having to unzip for an individual file that was pushed ie .html, .jpg etc

@ellistarn
Copy link

Any progress on this? Would love an update since the last comment 6mos ago.

@0xGuybrush
Copy link

Even if the UI is not there yet, is it possible to obtain a separate artifact file by some tailored URL? If not, could it perhaps be implemented as a first step?

This would be useful alright, as at least I can, for example modify my Slack message on failure to go straight to the HTML page that contains test results.

Personally, I don't really need a way to browse to it from the UI (or at least it's much lower priority) if I have a way to link to them directly by knowing the pattern of URLs to files.

@rcowsill
Copy link

Another stopgap that might be useful is providing direct access to a file if it's the only one in the artifact.

@konradpabjan
Copy link
Collaborator

V4 is out today officially! https://github.blog/changelog/2023-12-14-github-actions-artifacts-v4-is-now-generally-available/

This is the major architecture that I was talking about. Took a long long time but there are a host of improvements so I recommend folks switch over to v4 as soon as possible 😃

Anway, artifacts uploaded using v4 are now powered by a backend that can theoretically support all sorts of fancy improvements so we can now start to plan/brainstorm cool UI changes like artifact previews and file content browsers without having to download the full artifact and unzipping. Getting v4 out was the hardest piece of work. Target deadlines and estimates are tough though and we do have a lot of other work that we need to do so I can't comment on when exactly a feature like this would be out.

Just be aware that we really want to do this but there is other work...

george-gca added a commit to alshedivat/al-folio that referenced this issue Jan 22, 2024
Splitted prettier GitHub action into two:
- `on push`, only runs on direct pushes, if test fails generates an
artifact (that lasts for 3 days) with an html version of the changes
needed to pass prettier test
- `on PR`, only runs on PRs, if test fails comments on the PR with the
HTML content of the diff

I couldn't actually test the `on PR` version since it needs to be on a
PR in the master branch, so this will only be triggered after this PR is
accepted, and for the next PR that fails prettier test.

PS: currently the artifact is a zip file with the html inside. It is not
currently possible to generate it other way, we have to wait for [this
issue](actions/upload-artifact#14) to be
closed.

---------

Signed-off-by: George Araújo <george.gcac@gmail.com>
chwag added a commit to chwag/chwag.github.io that referenced this issue Mar 7, 2024
* Implemented latest posts on about page (#1307)

Adresses #340

---------

Signed-off-by: George Araújo <george.gcac@gmail.com>

* Implemented details tag for distill blog  (#1321)

* Fix publication button spacing (#1322)

* docs: add george-gca as a contributor for code (#1323)

* Update README.md

* Add star to academic portfolios (#1333)

* Added support for table of contents in blog posts (#1278)

![image](https://user-images.githubusercontent.com/31376482/226411600-e5619108-3842-4c44-b582-61fcc94a1b0c.png)

---------

Signed-off-by: George Araújo <george.gcac@gmail.com>

* Fix typo (#1356)

* added one more researcher (#1353)

Added my own website to the "stars" section

* Fix copy code button position (#1348)

Fix issue #1303 by adding a code wrapper outside the code block. 
Ref:
https://stackoverflow.com/questions/60771472/position-a-button-such-that-it-wont-scroll-with-contents

* Scopus integration (#1364)

Fixes #1362

* Removed blog header-bar when title and description are empty (#1370)

When blog title and description are empty, go from this


![image](https://user-images.githubusercontent.com/31376482/234630799-f4c2cd46-7ad0-4d45-a0f6-2badcf0da558.png)

to this


![image](https://user-images.githubusercontent.com/31376482/234630683-f11c8a88-438a-4db3-974e-ba9184d5516f.png)

Signed-off-by: George Araujo <george.gcac@gmail.com>

* Increased allowed max size of news and latest posts in about (#1369)

Fixed size of news and latest posts in about page when visualizing in
mobile.

Signed-off-by: George Araujo <george.gcac@gmail.com>

* Fixed hard-coded bib files in templates (#1373)

The bibliography filename `papers.bib` is hard coded in templates, and
the equivalent setting in `_config.yml` is not used anywhere. So
changing the bib filename in `_config.yml` won't have any effects.

This PR replaces hard-coded filenames with the value from `_config.yml`.

* Fixed bug when using latex in title and description (#1361)

Fixes #1252.

Signed-off-by: George Araujo <george.gcac@gmail.com>

* Fixed news limit (#1359)

Fixes #1346.

---------

Signed-off-by: George Araujo <george.gcac@gmail.com>
Co-authored-by: Yifan Jiang <55911052+YifanJiang233@users.noreply.github.com>
Co-authored-by: Raffaele Mancuso <54762742+raffaem@users.noreply.github.com>
Co-authored-by: Yue Gao <11145354+Lodour@users.noreply.github.com>

* Toc sidebar (#1366)

Implemented #966.


![image](https://user-images.githubusercontent.com/31376482/234411523-b02087d9-a437-4f77-9f54-de5eef122439.png)

---------

Signed-off-by: George Araujo <george.gcac@gmail.com>

* Toc sidebar color fix (#1375)

Fixed color and increased font size of toc sidebar

---------

Signed-off-by: George Araujo <george.gcac@gmail.com>

* Reduced a little font-size in toc sidebar (#1376)

Signed-off-by: George Araujo <george.gcac@gmail.com>

* added star to academic examples (#1377)

* Added support for Bootstrap table (#1283)

Added support for [Bootstrap Table](https://bootstrap-table.com/).
Haven't checked the impact on website loading, but I believe [this kind
of table](https://examples.bootstrap-table.com/#welcomes/from-data.html)
is way more useful for blog posts and projects pages.

* add star to academic examples (#1380)

* Add an academic example  (#1381)

https://bajinsheng.github.io/

* Added thumbnail support for blog posts (#1371)

Implemented #425 based on given code.


![image](https://user-images.githubusercontent.com/31376482/234644266-07c1aebd-6a83-482f-8ac2-846fe5c0653d.png)

---------

Signed-off-by: George Araujo <george.gcac@gmail.com>

* Moved bootstrap table css to head.html (#1387)

Signed-off-by: George Araujo <george.gcac@gmail.com>

* Fixed bootstrap table css (#1388)

Fixed bootstrap table css that is being overwritten by mdb css

Signed-off-by: George Araujo <george.gcac@gmail.com>

* Update README.md (#1389)

Added academic personal website

* Including Lattes CV in Socials (#1404)

Resubmitting the PR #1383

* README upgrade (#1394)

* Fix typo ; Update _config.yml (#1418)

Co-authored-by: George <31376482+george-gca@users.noreply.github.com>

* Fixed typo in blog post (#1411)

* add star to academic examples (#1423)

* Fix table color (#1424)

Fix table color when dark mode is default.

---------

Signed-off-by: George Araujo <george.gcac@gmail.com>

* Custom blockquotes (#1419)

Added some custom blockquotes `tip`, `warning`, and `danger` as seen in
[jekyll-gitbook](https://sighingnow.github.io/jekyll-gitbook/jekyll/2022-06-30-tips_warnings_dangers.html),
and a blog post showcasing them.

Light look:

![image](https://github.com/alshedivat/al-folio/assets/31376482/8441bd56-a1a6-41c0-951f-2a2efa20c16c)

Dark look:

![image](https://github.com/alshedivat/al-folio/assets/31376482/a916218a-176e-40d0-ad87-6acc9eedf8e3)

---------

Signed-off-by: George Araujo <george.gcac@gmail.com>

* Audio and Video support (#1367)

Since #1253 has been hanging there for a while, I decided to part from
it and add audio and video support.

---------

Signed-off-by: George Araujo <george.gcac@gmail.com>

* add academic personal webpage example (#1431)

Hello, I'd appreciate it if you could consider including my academic
personal webpage as an example. Thank you.

* add star to academic examples (#1439)

* Added star for samadamday.com in the README (#1443)

* Update README personal page stars (#1467)

* Update ruby to 3.2.2 in deploy.yml (#1459)

* Add star to academic examples (#1445)

* Fixes "General Information" section of CV in dark mode (#1432)

When the dark mode is default, or if you set the page to dark mode and
then refresh, the content in "General Information" can't be seen.
This PR fixes the problem.

* Make latest post redirect if the blog post redirects (#1451)

Fixes #1450, and the behavior of the site with this "new" code is shown
in the Expected behavior screenshots there.

I copy-pasted the redirect logic from `blog/index.html` into
`_includes/latest_posts.html`, with minor name changes.

I also cleaned up a line in `blog/index.html`.

* update fontawesome version (#1485)

* correct spotify title (#1484)

* add functionality to display categories, like tags, in blog home page (#1482)

Added the functionality to display categories on the front page of the
blog, just like tags.

* fixes #1497 (#1505)

* Removed need for years in bibliography page (#1500)

Implementing #1390.

Signed-off-by: George Araujo <george.gcac@gmail.com>

* Added support for featured blog posts (#1498)

Implementing #1440. Still not sure if the year should be shown there or
not. Also, I limited to be displayed at least 2 at most 3 elements on
the row of featured blog posts, since when having only 1 featured post
the card would occupy the whole row (and it looks weird). What do you
think @alshedivat? Also, idk how to force the cards to have the same
height. I think it would look nicer, but my lack of web dev skills made
a difference here.

Some current screenshots:


![image](https://github.com/alshedivat/al-folio/assets/31376482/11b280dd-70b6-4bc4-84b6-987aa6412d55)


![image](https://github.com/alshedivat/al-folio/assets/31376482/d94aac41-246d-4b4e-afd0-161aab5a9b88)

---------

Signed-off-by: George Araujo <george.gcac@gmail.com>
Co-authored-by: Maruan <alshedivat@users.noreply.github.com>

* Added two more examples (#1517)

Added the following examples:
* A personal homepage
* A workshop website

* Update Docker Images to support M1 Mac (#1486)

I added multi-architecture support for docker images. 

- #1469 

ToDo: 
- [ ] Update deploy tag file accrodingly

* Created GitHub action to update site pagespeed svg (#1529)

Addresses #1524

Signed-off-by: George Araujo <george.gcac@gmail.com>

* Updated Pagespeed results

* Revert "Created GitHub action to update site pagespeed svg" (#1530)

Reverts alshedivat/al-folio#1529

* Updated README FAQ section (#1532)

* Added support for jupyter notebooks #417 (#1511)

Implemented #417.

---------

Signed-off-by: George Araújo <george.gcac@gmail.com>
Co-authored-by: Amir Pourmand <pourmand1376@gmail.com>

* Added support for jupyter dark mode (#1538)

Signed-off-by: George Araujo <george.gcac@gmail.com>

* Create .dockerignore

* Added anmspro.github.io in academics (#1549)

Added anmspro.github.io in academics

* CV Restyled (#1339)

I have redesigned the CV to have some options that I have in my pdf CV.

I'm not too inspired to include more example data, if anyone wants to
add data, go ahead.

With my data the CV looks like this:
[https://jmrplens.github.io/cv/](https://jmrplens.github.io/cv/ ).
My data: [VIEW
FILE](https://github.com/jmrplens/jmrplens.github.io/blob/ce8b5b67dbc5a37dafe9083681b92a6746640b13/_data/cv.yml)

Some screenshots:
<img width="45%" alt="Screenshot of Google Chrome (19-4-23, 23-09-51)"
src="https://user-images.githubusercontent.com/28966312/233200752-e49afa44-1c07-42eb-b38c-337f81b60406.png"><img
width="45%" alt="Screenshot of Google Chrome (19-4-23, 23-10-22)"
src="https://user-images.githubusercontent.com/28966312/233200844-0201d061-df3e-4e80-8107-3b6f7c72faa3.png">
<img width="45%" alt="Screenshot of Google Chrome (19-4-23, 23-10-37)"
src="https://user-images.githubusercontent.com/28966312/233200898-77040d1a-bf9a-47f1-a46d-3008f7331020.png"><img
width="45%" alt="Screenshot of Google Chrome (19-4-23, 23-10-54)"
src="https://user-images.githubusercontent.com/28966312/233200949-055fe27e-ce06-4929-91e8-cab2983b4850.png">

Mobile:

<img width="45%" alt="Screenshot of Google Chrome (19-4-23, 23-21-36)"
src="https://user-images.githubusercontent.com/28966312/233203168-8b5cc777-e3f8-4387-96d4-a5d405d7032b.png"><img
width="45%" alt="Screenshot of Google Chrome (19-4-23, 23-21-48)"
src="https://user-images.githubusercontent.com/28966312/233203238-5ccc424e-b0e3-41a1-bd2b-2c64e01cfc85.png">
<img width="45%" alt="Screenshot of Google Chrome (19-4-23, 23-22-00)"
src="https://user-images.githubusercontent.com/28966312/233203297-7174be99-08a1-427a-a414-5bded2d6c2d8.png"><img
width="45%" alt="Screenshot of Google Chrome (19-4-23, 23-22-14)"
src="https://user-images.githubusercontent.com/28966312/233203312-f5067ce7-134f-4a39-bb5b-aaa3d247b3e7.png">

---------

Co-authored-by: George <31376482+george-gca@users.noreply.github.com>

* Add jsonresume support (#1547)

Just as discussed in #1513 , this pull request adds support for
[jsonresume](https://jsonresume.org/). Create the resume once, either as
a file in the repository or at [github gist](https://gist.github.com/)
called `resume.json`. Put the file in the `_config.yaml` file and that's
it! Other platforms like [resumake](https://latexresu.me/) use the same
schema.

I also incorperated the changes introduced by #1339 to the best of my
abilites. The style could be further improved.

**Please merge this pull request after #1339 is merged, due to
dependencies from it**

If someone has a bettet approach on how to solve the problem that each
section needs its own template, please let me know. But for now it works
fine and is still backwards compatible with the `cv.yaml` file.

Co-authored-by: George <31376482+george-gca@users.noreply.github.com>

* Publication image zoom (#1554)

Fixes #1552

---------

Signed-off-by: George Araujo <george.gcac@gmail.com>

* Support for bibliography in blog posts and projects (#1553)

Implemented #1193

---------

Signed-off-by: George Araujo <george.gcac@gmail.com>

* Remove repeated layout template of cv.html (#1555)

The layout template of cv.html has repeated parts. When site.data.resume
is not defined, the cv page will be rendered incorrectly.

* Made some small changes to code (#1558)

Signed-off-by: George Araujo <george.gcac@gmail.com>

* Change analytics script from Panelbear to Cronitor (#1561)

Panelbear is now Cronitor RUM, the old script does not work.

* Added metadata info when blog post (#1573)

Changed metadata info for when page is a blog post.

Signed-off-by: George Araujo <george.gcac@gmail.com>

* Added Zotero socials (#1572)

Solving #1569 
I added Zotero socials because I needed them; opened a issue/pull
request in case I'm not the only one.

Second pull request (previous: #1570 ) because unwanted commits
retroactively crept in somehow. It was easier to force reset (which
closed the pull request automatically apparently).

* Added missing socials to metadata (#1575)

Signed-off-by: George Araujo <george.gcac@gmail.com>

* Update Dockerfile (#1581)

* Zotero ID Bugfix (#1580)

#1569 Fixed mismatch between zotero-id in _config.yml and the zotero-id
called upon in the socials html file introduced by #1572 (sorry about
that; slipped in when I had to reset my zotero-branch)

* Update Tag Deploys to Support M1 Macbooks (#1522)

I should merge this whenever normal deploy is well-tested for Mac
computers.

* Al folio main giscus pages (#1596)

Solves #1586 by adding the option for giscus comments sites using the
pages layout and minimally modifies Project 2 to show giscus comments as
an example

* incorrect max-height in figure.html (#1593)

figure.html was incorrectly setting height=max-height instead of
max-height=max-height

* Cache busting for _sass and individual files (#1557)

Addressing #1395 but with a different solution from #1478, using
semantic versioning based on implementation found
[here](https://distresssignal.org/busting-css-cache-with-jekyll-md5-hash).

Implemented a way of calculating the hash for both a single file or
directory. This way we can calculate the hash for when there is a change
in the `_sass` dir, for example, or in the contents of a single file.

Examples of generated outputs of the plugin:
```
/al-folio/assets/css/main.css?d41d8cd98f00b204e9800998ecf8427e
/al-folio/assets/js/theme.js?96d6b3e1c3604aca8b6134c7afdd5db6
/al-folio/assets/js/dark_mode.js?9b17307bb950ffa2e34be0227f53558f
/al-folio/assets/js/no_defer.js?d633890033921b33e0ceb13d22340a9c
/al-folio/assets/js/common.js?acdb9690d7641b2f8d40529018c71a01
/al-folio/assets/js/copy_code.js?c9d9dd48933de3831b3ee5ec9c209cac
/al-folio/assets/img/prof_pic.jpg?974957d202f671e4fa6700c04e68deae
```

Signed-off-by: George Araujo <george.gcac@gmail.com>

* Added jupyter to README (#1637)

Signed-off-by: George Araujo <george.gcac@gmail.com>

* add star to academic examples (#1647)

Dear `al-folio` maintainers,

I would greatly appreciate it if you could add my homepage as a star in
the academic examples.

Thank you for your wonderful work on this.

* Update README to make Docker Recommended way (#1523)

Docker is well-tested for a long time. I think it is better to make it
the recommended method for all OS types.

This way, it is a lot easier to install docker (than to install jekyll
and ruby and what not) and also we wouldn't have to deal with issues
like these:
- https://github.com/alshedivat/al-folio/issues/1520
- https://github.com/alshedivat/al-folio/issues/1491

* Update README.md (#1657)

* Update README.md (#1661)

add star to academic example

* Add all contributors section to README.md

* Fix _variables.scss filename in README (#1683)

* Add website (#1674)

* Don't display badge if startDate is empty (#1682)

* Add a star. (#1695)

* Add star to README.md (#1684)

Added academic website to README.md.
Also added `_blank` target to earlier ones.

Co-authored-by: George <31376482+george-gca@users.noreply.github.com>

* Add a star (#1705)

Added academic website to README.md.

* Add a star (#1723)

* Fix regex to limit keyword scope to fields (#1629)

improved version of the original fix contributed by @paberr in #1429

* Moved ToC Menu to Sidebar (#1582)

Addressing #1551 using the same sidebar as in #1366, removing the inline ToC menu from the CV

* add WeChat to socials (#1730)

When the WeChat icon in socials is clicked, a picture of your WeChat QR
code is shown in the center of the screen. The actual picture of your QR
code has to be uploaded.

* Update README.md (#1748)

* Adding a page (*) in README.md (#1755)

Adding https://kudhru.github.io/ in the academics section

* Update README (#1754)

* added the link to my personal academic website
([mbarbetti.github.io](https://mbarbetti.github.io))
* added the link to the website for a workshop named "Beyond Vision:
Physics meets AI" ([BVPAI
2023](https://physicsmeetsai.github.io/beyond-vision)) held within ICIAP
2023

---------

Co-authored-by: Amir Pourmand <pourmand1376@gmail.com>

* Added a star (#1764)

* Fixing bootstrap dark-table top border (#1763)

This addresses https://github.com/alshedivat/al-folio/issues/1425.

Contributions:
- Added border attribute to `.table-dark` within `_base.scss` to
override bootstrap theme border settings for `.tabled-bordered`.
Displays top border in dark mode for only those tables that are bordered

* Added support to PurgeCSS (#1562)

Tackled #1329 with [PurgeCSS](https://purgecss.com/).

Being talking with @varuniyer about using
[jekyll-uncss](https://github.com/episource/jekyll-uncss) to reduce css
file sizes by ditching unused classes. This approach have 3 main
problems:

1 - have some limitations as pointed
[here](https://github.com/alshedivat/al-folio/issues/1329#issuecomment-1546517327)
2 - last update to
[jekyll-uncss](https://github.com/episource/jekyll-uncss) was about 3
years ago, so it might have a few issues
3 - [uncss](https://github.com/uncss/uncss) haven't seem a new release
in a while, currently [lacking
maintenance](https://github.com/uncss/uncss/issues/459), and using some
deprecated libraries as seem here:

```
npm install -g uncss
npm WARN deprecated request-promise-native@1.0.9: request-promise-native has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142
npm WARN deprecated har-validator@5.1.5: this library is no longer supported
npm WARN deprecated w3c-hr-time@1.0.2: Use your platform's native performance.now() and performance.timeOrigin.
npm WARN deprecated uuid@3.4.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
```

I thought about giving PurgeCSS a go, since it has been more [actively
maintaned](https://github.com/FullHuman/purgecss), but
[jekyll-purgecss](https://github.com/mhanberg/jekyll-purgecss) haven't.

For this, I needed to change to use some local libraries instead of
getting them via CDN. The good news is that it is quite effective in
reducing css file sizes. Comparing dir sizes with `du -hs
_site/assets/css/`:

| current | minify | PurgeCSS | PurgeCSS + minify |
| ------- | ------ | -------- | ----------------- |
| 1,1M    | 988K   | 456K     | 420K              |

---------

Signed-off-by: George Araujo <george.gcac@gmail.com>

* Added support for multiple profiles in about page (#1243)

Addresses #963.

Supports two setups: getting profile text from page content.

```markdown
---
layout: about
title: about
permalink: /
subtitle: <a href='#'>Affiliations</a>. Address. Contacts. Moto. Etc.

profiles:
  # if you want to include more than one profile, just replicate the following block
  # and create one content file for each profile inside _pages/
  - align: right
    image: prof_pic.jpg
    # content: about_einstein.md
    image_circular: false # crops the image to make it circular
    more_info: >
      <p>555 your office number</p>
      <p>123 your address street</p>
      <p>Your City, State 12345</p>

news: true  # includes a list of news items
selected_papers: true # includes a list of papers marked as "selected={true}"
social: true  # includes social icons at the bottom of the page
---

Write your biography here. Tell the world about yourself. Link to your favorite [subreddit](http://reddit.com). You can put a picture in, too. The code is already in, just name your picture `prof_pic.jpg` and put it in the `img/` folder.

Put your address / P.O. box / other info right below your picture. You can also disable any these elements by editing `profile` property of the YAML header of your `_pages/about.md`. Edit `_bibliography/papers.bib` and Jekyll will render your [publications page](/al-folio/publications/) automatically.

Link to your social media connections, too. This theme is set up to use [Font Awesome icons](http://fortawesome.github.io/Font-Awesome/) and [Academicons](https://jpswalsh.github.io/academicons/), like the ones below. Add your Facebook, Twitter, LinkedIn, Google Scholar, or just disable all of them.
```

Or getting profile text from `content` (useful when having multiple
profiles).

```markdown
---
layout: about
title: about
permalink: /
subtitle: <a href='#'>Affiliations</a>. Address. Contacts. Moto. Etc.

profiles:
  # if you want to include more than one profile, just replicate the following block
  # and create one content file for each profile inside _pages/
  - align: right
    image: prof_pic.jpg
    content: about_einstein.md
    image_circular: false # crops the image to make it circular
    more_info: >
      <p>555 your office number</p>
      <p>123 your address street</p>
      <p>Your City, State 12345</p>
  - align: left
    image: prof_pic.jpg
    content: about_einstein.md
    image_circular: false # crops the image to make it circular
    more_info: >
      <p>555 your office number</p>
      <p>123 your address street</p>
      <p>Your City, State 12345</p>

news: true  # includes a list of news items
selected_papers: true # includes a list of papers marked as "selected={true}"
social: true  # includes social icons at the bottom of the page
---
```

Which looks like this:


![image](https://user-images.githubusercontent.com/31376482/223251956-aec09f92-55c4-4a17-8ab6-0b30da0970cc.png)

---------

Signed-off-by: George Araújo <george.gcac@gmail.com>
Signed-off-by: George Araujo <george.gcac@gmail.com>

* Fixed weird bib btn behavior (#1776)

Fixes #1774 by reverting mdb usage to cdn. Weirdly enough, when using
from local file it triggers a ripple effect when using `btn` class. It
states in the [official
docs](https://mdbootstrap.com/docs/standard/methods/ripple/) that:

> By default, ripple is added to every button (via .btn class)

Using [this
solution](https://mdbootstrap.com/support/standard/disable-waves-ripple-effect/)
only make this flicking happens faster. Also this does seem to be [an
issue](https://mdbootstrap.com/support/standard/how-to-disable-ripple-effect/)
still in the [latest
version](https://github.com/mdbootstrap/mdb-ui-kit/issues/1505) (even
though we are using an older one).

Signed-off-by: George Araujo <george.gcac@gmail.com>

* Added description to profiles page (#1777)

Added support for description in profiles page

Signed-off-by: George Araujo <george.gcac@gmail.com>

* Create .github/release.yml

Adds a template for automatic generation of release notes

* Update README.md

add link to iclr 2024 blog post track

* Update README.md

add link to workshop on diffusion models

* Update README.md

add all contributors to toc

* Optimize Dockerfile (#1700)

* Fix Docker Problem (#1785)

* Update README.md (#1789)

added an example of a personal web page

* Update giscus setup via github action (#1792)

giscus settings in `_config.yml` had al-folio repo specified by default.
many users kept these defaults in their own repos, which resulted in
getting comments from blog posts of different users posted to al-folio
discussions. this is undesirable, since users lose control over the
discussions in their blogs.

this PR solves the issue:
- first, we set `giscus.repo` to blank in `_config.yml`. if the field is
kept blank, when the website is built locally, the user will see a
warning saying that giscus comments are misconfigured.
- second, we add a step to the `deploy` workflow that writes repository
name to `giscus.repo` in `_config.yml`. that way, even if `giscus.repo`
field is left black or set to an incorrect repo, it gets correctly
populated at deployment time.

other small changes in this PR are small stylistic adjustments.

* Remove by year grouping from selected publications (#1796)

* Make publication thumbnails optional + fix small layout bugs (#1797)

* Fix a small bug in giscus template

* Add Reload to Docker (Automatic Reload of Changes to _config.yaml) (#1702)

- #1640

* Add DockerSlim (#1699)

* Update Dockerfile

* fix reference disappearing for distill blog in absence of author (#1804)

* Added my website in the list (#1834)

* Update README.md (#1837)

* Update README.md (#1856)

* Added shubhashisroydipta.com to README.md (#1816)

* fix inconsistent alignment for latest posts (#1832)

* Add my website (#1859)

* Update README.md (#1938)

Adding my site. Amazing template, it was incredibly easy to setup and is
super flexible!

* Adding my site. Thanks! (#1945)

* Update Font Awesome url (#1943)

Previous link returns a `404`

* Update README.md (#1901)

Added new Q&A (Q7). Github credentials error when deploying. Changing
the github config url from `http` to `ssh`

* ENH image zooming in distill posts (#1826)

Towards https://github.com/alshedivat/al-folio/discussions/1374

The image zooming feature did not work with distill layout previously.

* Better Readme (#1806)

* Update cv.html (#1820)

resume fixing that isn't showing up

* Update resume.json (#1821)

populating resume.json to give easier start to people that dont
understand very well how to setup the fields

* Fixes #1952 (#1955)

Fixes #1952 by updating font awesome version. Also updated icons names
to newest font awesome style.

---------

Signed-off-by: George Araujo <george.gcac@gmail.com>

* Fixes #1584 (#1971)

Removed link to blog when showing years in news

Signed-off-by: George Araujo <george.gcac@gmail.com>

* Update cv.md (#1973)

Fix path typo in description

* Implemented support for tikzjax (#1990)

Implemented #1976.

Signed-off-by: George Araújo <george.gcac@gmail.com>

* Fixed redirect post access from blog archive (#1994)

Fixes #1831

Signed-off-by: George Araújo <george.gcac@gmail.com>

* Ensure the zoomed image is in front of toc sidebar (#1998)

Fixes #1888

Signed-off-by: George Araújo <george.gcac@gmail.com>

* Updated README to explictly tell how to proceed on fresh install (#1993)

Updated README to explicitly tell how to proceed on creating your own
version based on this template. Also removed the video tutorial since it
was for an older version, recommending to fork the repo and it was
missing the `--lsi` parameter from jekyll command. Also was not using
docker, the current recommended way.

---------

Signed-off-by: George Araújo <george.gcac@gmail.com>

* check for active children in submenus (#1869)

This patch checks, if the title of the current page matches with the
title of a submenu child. If so, it sets the submenu and the
corresponding child as active, highlighting it in the header.

* added ability to switch off pagination on the blog page (#1909)

* Now blog can be reorganized in header (#1996)

Fixes #1559 #1795

Signed-off-by: George Araújo <george.gcac@gmail.com>

* Added video button to bib entries (#2008)

When the video entry is added to bib:

e.g.,

```
{
...
video={https://www.youtube.com/embed/jNQXAC9IVRw}
...
}
```
A dedicated button appears for videos. When clicked, a playable video
appears under the research article (like abstracts and bibtex)

* bring back `repo_id` and `category_id` in `giscus` section (#1892)

After deploying my website (Cloudflare Pages), my Giscus did not work, I
realized these two paramesters are removed. After adding them again, my
Giscus worked correctly.
These new values are values from previous commits of original repository

---------

Co-authored-by: Maruan Al-Shedivat <maruan@genesistherapeutics.ai>

* Responsive image fix (#2014)

Fixes #1967 

Update the way responsive images are used to only use one srcset, and
add corresponding `sizes` attribute to the relevant layouts and
templates.
I did not go through and add `sizes` to all the example posts/projects.
When `sizes` is not specified by the user, the `figure.html` template
defaults to 95% the width of the viewport which should work fine for
most cases; users can optimize further if they wish by feeding `sizes`
into the template.

Additionally:
 - Enabled support for .gif to .webp compression
- fix error in jekyll-imagemagick config where all images were resized
to be 800px or less. (for example img-1400.webp was actually only 800px
wide, etc.)
- added note about making sure imagemagick is installed before enabling
it in responsive images section of `_config.yml`

* fix live-reloading in docker (#2022)

Fix #2021 : The webpage hosted by docker would not be automatically
reloaded because the port used for live-reloading (port 35729) is not
forwarded.

* Remove imagemagick strip (#2028)

I had added -strip arg to the imagemagick call as it is generally
desirable to strip metadata from images before publishing them, however
it seems to occasionally cause issues with jekyll-imagemagick
auto-regeneration, regenerating images even when they have not changed.

* Changed trophies layout to better suit different screen sizes (#2038)

Signed-off-by: George Araújo <george.gcac@gmail.com>

* Changed mermaid support in template (#1992)

Fix #1609

---------

Signed-off-by: George Araujo <george.gcac@gmail.com>
Co-authored-by: Maruan Al-Shedivat <maruan@genesistherapeutics.ai>

* Upgrading the README file (#2034)

I decided to break the README file into different ones to declutter it
from the main page. Also adding some more explanation on the structure
of the template. Tackling #2032 and #2033

---------

Signed-off-by: George Araujo <george.gcac@gmail.com>

* Added information about using wsl on Windows (#2040)

Signed-off-by: George Araujo <george.gcac@gmail.com>

* Removed background from template example

* Added citation examples, simplified citation code (#2056)

Since the citation file and other stuff is already defined in
`_config.yml`, removed them when calling `{% bibliography %}`. Also
realized that `jekyll-scholar` helps in displaying only the papers cited
in page, changed to use that.

Signed-off-by: George Araújo <george.gcac@gmail.com>

* Add direct link to `use this template`

* Normalizing coauthor names before search (#2057)

Signed-off-by: George Araújo <george.gcac@gmail.com>

* format code with prettier.io (#2048)

summary:
- adds prettier formatter configuration
- formats the entire repo using prettier, ignoring minified files
(`*.min.css`) and heavy generated html
- changes extensions of all `.html` files to `.liquid`, which is more
correct and necessary for prettier to work correctly
- replaces "%-" and "-%" with just "%" — manual liquid formatting using
minus signs is superfluous since we are compressing and minifying the
code anyway
- adds CI action for running prettier check on PR and pushes to master

* Add .git-blame-ignore-revs

* Move news and 404 to pages (#2060)

moves news and 404 from repo root dir to `_pages/` where they are
supposed to be + changes their extensions to `.md`

* Fix prettier (#2062)

Changed rule to minified files, reverted changes to minified files

---------

Signed-off-by: George Araújo <george.gcac@gmail.com>

* Update .git-blame-ignore-revs

* Fixed small typo (#2064)

instalation -> installation

Thank you for this resource!

* Added additional user to README.md (#2063)

Added new user to academics section in readme. 

Thank you for this great resource!

* Fixed missing changes to liquid file

* Fixed FAQ link in CONTRIBUTING.md

* Changed file paths in bug_report.md

* Fix custom blockquotes (#2071)

Fixed issue #2066. Removed `>` in front of `{: .block-tip }` which was
introduced by prettier in the example post.

* Fix broken links (#2077)

Added GitHub action to check for broken links in repo before commit,
ignoring files with liquid tags since these were not yet processed and
also README since some sites created from this template doesn't have
valid urls anymore. Fixed some broken links in repo.

---------

Signed-off-by: George Araújo <george.gcac@gmail.com>

* Link checks on deploy (#2079)

Added another GitHub action to check for broken local links on version
of the site that will be deployed.

The `broken-links` action check for broken links considering
documentation files (like INSTALLING.md) and also pages like
[_pages/about.md](https://github.com/alshedivat/al-folio/blob/master/_pages/about.md),
but it can't check for broken links when the link will be handled by
jekyll tags (like in
[_pages/blog.md](https://github.com/alshedivat/al-folio/blob/master/_pages/blog.md).

With `broken-links-site` we can check if all the links that will be used
on the final site that refer to local files are correct. Focusing only
on local files since this would end up calling too many checks for
library files, like
`https://unpkg.com/bootstrap-table@1.22.1/dist/bootstrap-table.min.css`.

---------

Signed-off-by: George Araújo <george.gcac@gmail.com>

* Axe accessibility test support (#2080)

Added GitHub action to do axe accessibility tests with [axe
cli](https://github.com/dequelabs/axe-core-npm/tree/develop/packages/cli).
I believe it is best by default to let this be run only manually, since
fixing some of the issues are not straightforward (I haven't fixed them
all for this template yet).

---------

Signed-off-by: George Araújo <george.gcac@gmail.com>

* Fixed role main in default.liquid

* Added missing separator in README

* Update contributing on README.md

* Added star history to README.md

* Updated toc on README.md

* Update INSTALL.md version of al-folio

* Adding star (#2095)

Thank you all!!!

* Changed conditions of running GitHub actions (#2082)

The GitHub actions were running everytime a new commit was made to the
repo, but that wasn't needed. For example, we don't need to try to
create a new docker image if the libraries didn't change, same to build
the whole site after a change in the README.md.

---------

Signed-off-by: George Araújo <george.gcac@gmail.com>

* Downgrade ruby version (#2098)

Signed-off-by: George Araújo <george.gcac@gmail.com>

* Update INSTALL.md (#2091)

- #2090

* Fixed dark mode not working after purgecss

* Added one more researcher using al-folio (#2105)

Added my own website as a star to the "Academics" section

* Added acknowledge section to feature_request.md

* Added diff tools to INSTALL.md

* Prettier check now generates a diff comment on PR (#2085)

Splitted prettier GitHub action into two:
- `on push`, only runs on direct pushes, if test fails generates an
artifact (that lasts for 3 days) with an html version of the changes
needed to pass prettier test
- `on PR`, only runs on PRs, if test fails comments on the PR with the
HTML content of the diff

I couldn't actually test the `on PR` version since it needs to be on a
PR in the master branch, so this will only be triggered after this PR is
accepted, and for the next PR that fails prettier test.

PS: currently the artifact is a zip file with the html inside. It is not
currently possible to generate it other way, we have to wait for [this
issue](https://github.com/actions/upload-artifact/issues/14) to be
closed.

---------

Signed-off-by: George Araújo <george.gcac@gmail.com>

* Update prettier-on-pr.yml permissions

* Changed how prettier comments on PR works (#2112)

Signed-off-by: George Araújo <george.gcac@gmail.com>

* Fixed prettier actions (#2113)

After some thorough testing, finally made prettier on PR work. Since an
html file can't be used as comment on GitHub, changed to simply point to
the action that failed and to the file containing the html diff.

Signed-off-by: George Araújo <george.gcac@gmail.com>

* Moved prettier comment on PR to its own action (#2114)

Signed-off-by: George Araújo <george.gcac@gmail.com>

* Added Lighthouse test GitHub action (#2084)

Added support for Lighthouse test as a GitHub action, and it appears
like
[this](https://github.com/george-gca/multi-language-al-folio?tab=readme-ov-file#lighthouse-pagespeed-insights).
The only thing missing is for @alshedivat to create a [repository
secret](https://github.com/MyActionWay/lighthouse-badger-workflows#lighthouse-badger-easyyml)
named `LIGHTHOUSE_BADGER_TOKEN` with the information needed.

---------

Signed-off-by: George Araújo <george.gcac@gmail.com>

* Lighthouse-Badger[bot]: Results Added

* Fixed lighthouse html viewer links

* Added anchor to category sections (#2006)

Added anchor to categories so one could navigate to the category section
from the URL:

e.g.,

https://alshedivat.github.io/al-folio/projects#fun

* Added lighthouse_results to .prettierignore

* Improved issues templates (#2110)

Since a lot of issues opened are just questions that should be opened as
so, and sometimes the issue template is just not followed, I decided to
make opening new issues a little more "enforced", if not clear.

I based the new templates on the ones from [pytorch
lightning](https://github.com/Lightning-AI/pytorch-lightning/issues/new/choose),
which I think are pretty good. The visuals will only appear after the
merge is processed, but you can have an idea of how it will look like by
checking their templates and how they look.

---------

Signed-off-by: George Araújo <george.gcac@gmail.com>

* Removed 0 from bug report

* Updated links in 1_bug_report.yml

* Updated links in 2_feature_request.yml

* Updated links in issue template config.yml

* Fixed url in config.yml

* Fixed urls in 2_feature_request.yml

* Fixed urls in 1_bug_report.yml

* Updated checkout step in lighthouse-badger.yml

* Lighthouse-Badger[bot]: Results Added

* Added support for Chart.js (#2126)

Solved #460.


![image](https://github.com/alshedivat/al-folio/assets/31376482/ce65dbe2-031e-4208-b374-08ec89beaaca)

---------

Signed-off-by: George Araújo <george.gcac@gmail.com>

* Added integrity check to mermaid.js

* Added Echarts support (#2129)

Since I added support for chart.js and while doing so found some other
wonderful charting libraries, I thought, why not give support to some
more? So adding support to [Apache
Echarts](https://echarts.apache.org/en/index.html).


![image](https://github.com/alshedivat/al-folio/assets/31376482/088f0932-524f-4fcd-a34b-b132f569a675)


![image](https://github.com/alshedivat/al-folio/assets/31376482/36bfe4f8-a9d1-4b6d-a912-fb40ba3b5337)

---------

Signed-off-by: George Araújo <george.gcac@gmail.com>

* GeoJSON support (#2130)

Added support for GeoJSON maps.


![image](https://github.com/alshedivat/al-folio/assets/31376482/48e91158-a717-4d01-b6d7-47d45f0580e4)

---------

Signed-off-by: George Araújo <george.gcac@gmail.com>

* Vega lite support (#2131)

Added support for [vega lite](https://vega.github.io/vega-lite/) charts.


![image](https://github.com/alshedivat/al-folio/assets/31376482/789c14d3-93b6-4d3f-94a6-7cec1f0f0b59)


![image](https://github.com/alshedivat/al-folio/assets/31376482/17f9021c-08c4-4922-9f97-1046b146a965)

---------

Signed-off-by: George Araújo <george.gcac@gmail.com>

* Added leaflet reference to 2024-01-26-geojson-map.md

* Closing #2122 (#2135)

Added lighthouse badger token info to FAQ

---------

Signed-off-by: George Araújo <george.gcac@gmail.com>

* Workflow fix (#2136)

Signed-off-by: George Araújo <george.gcac@gmail.com>

* Advanced image viewers (#2132)

Image slider with [Swiper](https://swiperjs.com/).


![image](https://github.com/alshedivat/al-folio/assets/31376482/9068823c-571a-4d31-8e95-755a40a15ec9)

Image comparison slider with
[img-comparison-slider](https://img-comparison-slider.sneas.io/).


![image](https://github.com/alshedivat/al-folio/assets/31376482/97812477-c13b-43b1-8f0b-cb098462de3c)

---------

Signed-off-by: George Araújo <george.gcac@gmail.com>

* Support for diff2html (#2133)

Added support to display diff code in a prettier way with
[diff2html](https://diff2html.xyz/).


![image](https://github.com/alshedivat/al-folio/assets/31376482/5f93b09c-3850-499a-999b-cb0ae13fddae)

It displays code like [in this
example](https://diff2html.xyz/demo.html).

---------

Signed-off-by: George Araújo <george.gcac@gmail.com>

* Move libs versions to config (#2139)

Moved libs versions and hashes to `_config.yml`.

Fixes #2067.

Deferring everything possible to keep pages loads fast.

---------

Signed-off-by: George Araújo <george.gcac@gmail.com>

* Update FAQ.md with Prettier info

* Avoid deploying site when changes are in README files

* Lighthouse-Badger[bot]: Results Added

* Removing lighthouse results from deploy trigger

* Removing lighthouse_results from broken-links trigger

* Lighthouse-Badger[bot]: Results Added

* Adding display swap to Google Fonts

Adding suggestion from [Lighthouse results](https://developer.chrome.com/docs/lighthouse/performance/font-display/?utm_source=lighthouse&utm_medium=cli#google_fonts)

* Added link to jekyll docs about post file naming

* Fixed axe workflow (#2149)

Signed-off-by: George Araújo <george.gcac@gmail.com>

* improved redirect mapping (#2157)

In reference to issue:
https://github.com/alshedivat/al-folio/discussions/1818

Redirect cases were only happening on the surface level, essentially
just affecting the links on [blog
index](https://alshedivat.github.io/al-folio/blog/page/4/index.htm) and
[year tag](https://alshedivat.github.io/al-folio/blog/2022/). However,
from the actual
[site](https://alshedivat.github.io/al-folio/blog/2022/redirect/), it
would automatically redirect to the `base_url` rather than the actual
`redirect`.

In my update, if `redirect: true`, like it is in `404.md`, redirect
behavior is the same, redirecting to the `base_url`. If it is an
external link, then the redirect is external. And finally if it is an
internal redirect, like it is in
https://alshedivat.github.io/al-folio/blog/2022/redirect/, than the
redirect is `page.redirect | relative_url`

* Updated FAQ with old repository information (#2161)

Signed-off-by: George Araújo <george.gcac@gmail.com>

* Added jekyll-diagrams error to FAQ (#2162)

Signed-off-by: George Araújo <george.gcac@gmail.com>

* center footer text by default (#2165)

This PR changes the footer text on the website (for both the sticky and
fixed footer) to be centered by default. This change is based on the
discussion post #257.

* Fix Image Dimension Styles for Better Responsiveness (#2166)

In this pull request, I've made adjustments to the image element's
handling of dimension properties. Previously, `min-width`, `min-height`,
`max-width`, and `max-height` were incorrectly placed as HTML attributes
on the `<img>` tag, which is not supported for these CSS properties.
This oversight could lead to issues with image responsiveness and layout
stability.

Changes:
- Moved `min-width`, `min-height`, `max-width`, and `max-height`
properties into the `style` attribute of the `<img>` tag. This change
ensures that these properties are correctly applied and recognized as
CSS properties, enhancing the responsiveness and flexibility of our
image displays.
- Retained `width` and `height` as attributes on the `<img>` tag to
maintain the intrinsic aspect ratio of images and help the browser
allocate space before images are fully loaded, improving the page load
experience.

These adjustments will ensure that our images are more responsive and
better adhere to the specified dimensions, improving the overall user
experience for the template.

* Update README.md (#2182)

Add my acdemic portfolio to the Acdemic section of README.

* Update README.md (#2187)

adding my page to the README section. Kudos to the dev team!

* Added support for google scholar citations (#2193)

Closes #1809, but there are caveats:
1 - it only works at build time, which means it won't update the numbers
unless you build your site again
2 - Google might block the request if it receives lots of it, failing
the whole process.

This is how it looks like when it can fetch the information:

![Screenshot from 2024-02-13
00-37-52](https://github.com/alshedivat/al-folio/assets/31376482/646d1f3c-1294-491b-bc13-9013e38918b4)

And this when it fails:


![image](https://github.com/alshedivat/al-folio/assets/31376482/516eefff-d394-44ad-8702-8982233f8c4f)

Signed-off-by: George Araujo <george.gcac@gmail.com>

* Fixed bug when number has , on scholar citations

* Add academic community example (#2195)

Adds [https://ericslyman.com/](https://ericslyman.com/) to the list of
academic community examples.

* Fixed related publications appearing in toc (#2196)

Fixes #2192

---------

Signed-off-by: George Araujo <george.gcac@gmail.com>

* remove the space in names of "site" (#2188)

I removed the spaces between the first, middle and last names in the
header.

It's just my preference, I don't know if it would be accepted but I have
done this for my own page using this repository as a template.

* Implement Default Lazy Loading for Images with Configurable Option (#2183)

This PR introduces an enhancement to the site's image-loading strategy
by implementing lazy loading as the default behavior for all images. The
motivation behind this change is to improve the site's load times.

**Changes:**
1. **Default Lazy Loading:** By `default`, all images will now have the
`loading="lazy"` attribute.

2. **Configurable Option in `_config.yml`:** Added a new configuration
option under `lazy_loading_images.enable`.

3. **Override Capability:** For `specific images` where the user doesn't
want lazy loading, they can `override` this by directly setting the
`loading attribute` in the `image tag`.

* fix author spacing (#2197)

This PR fixes issue https://github.com/alshedivat/al-folio/issues/2185
and addresses discussion
https://github.com/alshedivat/al-folio/discussions/2153.

- removes leading whitespace before commas in author list
- fixes author spacing

* Changed lazy loading in figure.liquid

* Changed lazy loading in _config.yml

* Added/Improved Formatting for Checkboxes (#2191)

A proposed solution for #2190. Padding is added such that I considered
it aesthetically pleasing and the bullet points in front of the check
marks were removed.

---------

Co-authored-by: George <31376482+george-gca@users.noreply.github.com>

* Lighthouse-Badger[bot]: Results Added

* Lighthouse fixes (#2199)

Our score went down a little bit after the last few changes. Avoiding
lazy loading some images (as introduced in #2183), since [it is strongly
recommended to omit hero images and other images or iframes that are
likely to appear above the fold from being
lazy-loaded](https://web.dev/articles/browser-level-lazy-loading-for-cmss#avoid_lazy_loading_above-the-fold_elements).
Also added missing `alt` to google scholar field.

---------

Signed-off-by: George Araujo <george.gcac@gmail.com>

* Lighthouse-Badger[bot]: Results Added

* Fixed coauthors examples in CUSTOMIZE

* Fixed broken latex in _posts/2015-10-20-math.md (#2219)

Latex math is currently broken in
[_posts/2015-10-20-math.md](https://alshedivat.github.io/al-folio/blog/2015/math/)
. Fixed it by replacing starts with underscore

---------

Co-authored-by: George <31376482+george-gca@users.noreply.github.com>

* Emphasized more how the name of the repository must be

* Add functionality to open external links in jupyter notebooks in new tab (#2233)

See https://github.com/alshedivat/al-folio/pull/2230

---------

Co-authored-by: Scherrmann <scherrmann@bwl.uni-muenchen.de>

* Update INSTALL.md (#2237)

Added "Recommended Approach" as a subheading which was not under
Installing , but was in the contents section.

* Updated information about lsi

* Correct config variable for enabling latest_posts on about page (#2243)

I noticed disabling latest_posts in `_config.yml` didn't work because
the variable in the liquid template was seemingly incorrect. This should
fix that.

---------

Co-authored-by: Jake Nabasny <jake@nabasny.com>

* Replace `polyfill.io` (#2241)

The PR replaces `polyfill.io` inside the template with
`cdnjs.cloudflare.com/polyfill`.

---

`polyfill.io` was acquired by **a China-based CDN company** "Funnull",
see [the announcement from the `polyfill.io` domain owner's
Twitter](https://x.com/JakeDChampion/status/1761315227008643367) and
https://github.com/polyfillpolyfill/polyfill-service/issues/2834.
Despite Funnull's claims of operating in the United States, the
predominance of Simplified Chinese on its website suggests otherwise,
and it turns out that **"Funnull" is notorious for providing service for
the betting and pornography industries**.

[The original creator of the `polyfill.io` has voiced his concern on
Twitter](https://twitter.com/triblondon/status/1761852117579427975). And
since the acquisition, numerous issues have emerged
(https://github.com/polyfillpolyfill/polyfill-service/issues/2835,
https://github.com/polyfillpolyfill/polyfill-service/issues/2838,
https://github.com/alist-org/alist/issues/6100), rendering the
`polyfill.io` service **extremely unstable**. Since then, Fastly
([Announcement](https://community.fastly.com/t/new-options-for-polyfill-io-users/2540))
and Cloudflare
([Announcement](https://blog.cloudflare.com/polyfill-io-now-available-on-cdnjs-reduce-your-supply-chain-risk))
has hosted their own instances of `polyfill.io` service.

* Add option for local HTML files (#2245)

Add option to link HTML local files from publications page.

---------

Co-authored-by: Jake Nabasny <jake@nabasny.com>

* Delete reports directory

---------

Signed-off-by: George Araújo <george.gcac@gmail.com>
Signed-off-by: George Araujo <george.gcac@gmail.com>
Co-authored-by: George <31376482+george-gca@users.noreply.github.com>
Co-authored-by: gaspardbb <40466739+gaspardbb@users.noreply.github.com>
Co-authored-by: Maruan <alshedivat@users.noreply.github.com>
Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: Varun Iyer <tech@varuniyer.info>
Co-authored-by: Furkan Akkurt <71407287+furkanakkurt1335@users.noreply.github.com>
Co-authored-by: Yuki M. Asano <yuki.m.asano@gmail.com>
Co-authored-by: Yifan Jiang <55911052+YifanJiang233@users.noreply.github.com>
Co-authored-by: Raffaele Mancuso <54762742+raffaem@users.noreply.github.com>
Co-authored-by: Yue Gao <11145354+Lodour@users.noreply.github.com>
Co-authored-by: Hashe037 <64798080+Hashe037@users.noreply.github.com>
Co-authored-by: Wang Boyu <wang-boyu@users.noreply.github.com>
Co-authored-by: Jinsheng Ba <43855029@qq.com>
Co-authored-by: sfanzon <126147228+sfanzon@users.noreply.github.com>
Co-authored-by: CDN (Diego) Damasceno <1561504+damascenodiego@users.noreply.github.com>
Co-authored-by: danickblouin <45211997+danickblouin@users.noreply.github.com>
Co-authored-by: Qingqing Chen <qchen47@buffalo.edu>
Co-authored-by: Kai Yao <kai.yao@intel.com>
Co-authored-by: Lily (Xianling) Zhang <alchemxz@gmail.com>
Co-authored-by: Sam Adam-Day <me@samadamday.com>
Co-authored-by: Fan Pu Zeng <fanpu@users.noreply.github.com>
Co-authored-by: ebohnenb <80862730+ebohnenb@users.noreply.github.com>
Co-authored-by: Lucas Emanuel Resck <41991486+lucasresck@users.noreply.github.com>
Co-authored-by: Samuel Chin <samuelchin91@gmail.com>
Co-authored-by: Jesse Wei <jessew3102@gmail.com>
Co-authored-by: Juan Carlos Niebles <niebles@gmail.com>
Co-authored-by: Loris Fichera <loris.fichera@gmail.com>
Co-authored-by: Amir Pourmand <pourmand1376@gmail.com>
Co-authored-by: github-actions[bot] <actions@github.com>
Co-authored-by: Abu Noman Md. Sakib <33668152+anmspro@users.noreply.github.com>
Co-authored-by: José M. Requena Plens <joreple@upv.es>
Co-authored-by: Mirza Arnaut <mirza.arnaut45@gmail.com>
Co-authored-by: Henry.W <58690749+yahaha-233@users.noreply.github.com>
Co-authored-by: David Krassnig <96623786+DavidKrassnig@users.noreply.github.com>
Co-authored-by: NakuraMino <33564642+NakuraMino@users.noreply.github.com>
Co-authored-by: Daniel Berlyne <104771503+danberlyne@users.noreply.github.com>
Co-authored-by: filippomazzoli <71236181+filippomazzoli@users.noreply.github.com>
Co-authored-by: Alejandro Escontrela <alejandroescontrela@gmail.com>
Co-authored-by: Raffaele Mancuso <raffaele.mancuso4@unibo.it>
Co-authored-by: Kyle Oman <koman@astro.rug.nl>
Co-authored-by: Carlson B <49326130+cbueth@users.noreply.github.com>
Co-authored-by: Decwest <fumiyaonishi1016@gmail.com>
Co-authored-by: Jed Burkat <129440663+jedbur@users.noreply.github.com>
Co-authored-by: gzwongkk <gzwongkk@gmail.com>
Co-authored-by: Johannes Hörner <110042110+johanneshoerner@users.noreply.github.com>
Co-authored-by: Henry Zhang <36073872+Henrium@users.noreply.github.com>
Co-authored-by: Dhruv Kumar <kudhru@users.noreply.github.com>
Co-authored-by: Matteo Barbetti <55536905+mbarbetti@users.noreply.github.com>
Co-authored-by: Nikolai Zhivotenko <niko.zvt@gmail.com>
Co-authored-by: Lance Wilhelm <lance.wilhelm@gmail.com>
Co-authored-by: Martin Bulla <MartinBulla@users.noreply.github.com>
Co-authored-by: Maruan Al-Shedivat <maruan@genesistherapeutics.ai>
Co-authored-by: Giordano d'Aloisio <giordano.daloisio@gmail.com>
Co-authored-by: Monk <ankit.pal@saama.com>
Co-authored-by: Shubhashis Roy Dipta <iamdipta@gmail.com>
Co-authored-by: Abhinav Mehta <abhinavmehta1993@gmail.com>
Co-authored-by: Antonio Stanziola <stanziola.antonio@gmail.com>
Co-authored-by: Shubhankar <ghltshubh@users.noreply.github.com>
Co-authored-by: Rachel <rstein66@gmail.com>
Co-authored-by: Javkhlantugs <jay.mudgil@gmail.com>
Co-authored-by: Yao Xiao <108576690+Charlie-XIAO@users.noreply.github.com>
Co-authored-by: Pablo Diego Pereira <pablodiegoo@gmail.com>
Co-authored-by: civita <14911217+civita@users.noreply.github.com>
Co-authored-by: Tianmaru <tianmaru@gmail.com>
Co-authored-by: Dinesh Natesan <AbstractGeek@users.noreply.github.com>
Co-authored-by: Fares Abawi <f.abawi@outlook.com>
Co-authored-by: Alireza Dehghanzadeh <86428901+alerezaaa@users.noreply.github.com>
Co-authored-by: Noah West <68435033+nWestie@users.noreply.github.com>
Co-authored-by: WEI EN TSAI <twe105@gapp.nthu.edu.tw>
Co-authored-by: Sam B <107863539+Sam-Bieberich@users.noreply.github.com>
Co-authored-by: Yifan Jiang <jiangyifan_sh@outlook.com>
Co-authored-by: Afrânio Melo <40374017+afraniomelo@users.noreply.github.com>
Co-authored-by: Jona Ruthardt <50911852+JonaRuthardt@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Andrew Boyer <asboyer@gmail.com>
Co-authored-by: Ethan Olesinski <47125809+eolesinski@users.noreply.github.com>
Co-authored-by: ZL Asica <40444637+ZL-Asica@users.noreply.github.com>
Co-authored-by: Stavros Kalapothas <stavros@ubinet.gr>
Co-authored-by: Eric Slyman (they/them) <slymane@oregonstate.edu>
Co-authored-by: Maksym Zub <kroistsmeh@gmail.com>
Co-authored-by: Moritz Scherrmann <mscherrmann@outlook.de>
Co-authored-by: Scherrmann <scherrmann@bwl.uni-muenchen.de>
Co-authored-by: Sasika Amarasinghe <77430135+SasikaA073@users.noreply.github.com>
Co-authored-by: Jake Nabasny, PhD <jnabasny@gmail.com>
Co-authored-by: Jake Nabasny <jake@nabasny.com>
Co-authored-by: Sukka <isukkaw@gmail.com>
jason-merlo pushed a commit to jason-merlo/jason-merlo.github.io that referenced this issue Apr 12, 2024
Splitted prettier GitHub action into two:
- `on push`, only runs on direct pushes, if test fails generates an
artifact (that lasts for 3 days) with an html version of the changes
needed to pass prettier test
- `on PR`, only runs on PRs, if test fails comments on the PR with the
HTML content of the diff

I couldn't actually test the `on PR` version since it needs to be on a
PR in the master branch, so this will only be triggered after this PR is
accepted, and for the next PR that fails prettier test.

PS: currently the artifact is a zip file with the html inside. It is not
currently possible to generate it other way, we have to wait for [this
issue](actions/upload-artifact#14) to be
closed.

---------

Signed-off-by: George Araújo <george.gcac@gmail.com>
andrewmzhang added a commit to andrewmzhang/andrewmzhang-2021 that referenced this issue Apr 28, 2024
* Added support for featured blog posts (#1498)

Implementing #1440. Still not sure if the year should be shown there or
not. Also, I limited to be displayed at least 2 at most 3 elements on
the row of featured blog posts, since when having only 1 featured post
the card would occupy the whole row (and it looks weird). What do you
think @alshedivat? Also, idk how to force the cards to have the same
height. I think it would look nicer, but my lack of web dev skills made
a difference here.

Some current screenshots:


![image](https://github.com/alshedivat/al-folio/assets/31376482/11b280dd-70b6-4bc4-84b6-987aa6412d55)


![image](https://github.com/alshedivat/al-folio/assets/31376482/d94aac41-246d-4b4e-afd0-161aab5a9b88)

---------

Signed-off-by: George Araujo <george.gcac@gmail.com>
Co-authored-by: Maruan <alshedivat@users.noreply.github.com>

* Added two more examples (#1517)

Added the following examples:
* A personal homepage
* A workshop website

* Update Docker Images to support M1 Mac (#1486)

I added multi-architecture support for docker images. 

- #1469 

ToDo: 
- [ ] Update deploy tag file accrodingly

* Created GitHub action to update site pagespeed svg (#1529)

Addresses #1524

Signed-off-by: George Araujo <george.gcac@gmail.com>

* Updated Pagespeed results

* Revert "Created GitHub action to update site pagespeed svg" (#1530)

Reverts alshedivat/al-folio#1529

* Updated README FAQ section (#1532)

* Added support for jupyter notebooks #417 (#1511)

Implemented #417.

---------

Signed-off-by: George Araújo <george.gcac@gmail.com>
Co-authored-by: Amir Pourmand <pourmand1376@gmail.com>

* Added support for jupyter dark mode (#1538)

Signed-off-by: George Araujo <george.gcac@gmail.com>

* Create .dockerignore

* Added anmspro.github.io in academics (#1549)

Added anmspro.github.io in academics

* CV Restyled (#1339)

I have redesigned the CV to have some options that I have in my pdf CV.

I'm not too inspired to include more example data, if anyone wants to
add data, go ahead.

With my data the CV looks like this:
[https://jmrplens.github.io/cv/](https://jmrplens.github.io/cv/ ).
My data: [VIEW
FILE](https://github.com/jmrplens/jmrplens.github.io/blob/ce8b5b67dbc5a37dafe9083681b92a6746640b13/_data/cv.yml)

Some screenshots:
<img width="45%" alt="Screenshot of Google Chrome (19-4-23, 23-09-51)"
src="https://user-images.githubusercontent.com/28966312/233200752-e49afa44-1c07-42eb-b38c-337f81b60406.png"><img
width="45%" alt="Screenshot of Google Chrome (19-4-23, 23-10-22)"
src="https://user-images.githubusercontent.com/28966312/233200844-0201d061-df3e-4e80-8107-3b6f7c72faa3.png">
<img width="45%" alt="Screenshot of Google Chrome (19-4-23, 23-10-37)"
src="https://user-images.githubusercontent.com/28966312/233200898-77040d1a-bf9a-47f1-a46d-3008f7331020.png"><img
width="45%" alt="Screenshot of Google Chrome (19-4-23, 23-10-54)"
src="https://user-images.githubusercontent.com/28966312/233200949-055fe27e-ce06-4929-91e8-cab2983b4850.png">

Mobile:

<img width="45%" alt="Screenshot of Google Chrome (19-4-23, 23-21-36)"
src="https://user-images.githubusercontent.com/28966312/233203168-8b5cc777-e3f8-4387-96d4-a5d405d7032b.png"><img
width="45%" alt="Screenshot of Google Chrome (19-4-23, 23-21-48)"
src="https://user-images.githubusercontent.com/28966312/233203238-5ccc424e-b0e3-41a1-bd2b-2c64e01cfc85.png">
<img width="45%" alt="Screenshot of Google Chrome (19-4-23, 23-22-00)"
src="https://user-images.githubusercontent.com/28966312/233203297-7174be99-08a1-427a-a414-5bded2d6c2d8.png"><img
width="45%" alt="Screenshot of Google Chrome (19-4-23, 23-22-14)"
src="https://user-images.githubusercontent.com/28966312/233203312-f5067ce7-134f-4a39-bb5b-aaa3d247b3e7.png">

---------

Co-authored-by: George <31376482+george-gca@users.noreply.github.com>

* Add jsonresume support (#1547)

Just as discussed in #1513 , this pull request adds support for
[jsonresume](https://jsonresume.org/). Create the resume once, either as
a file in the repository or at [github gist](https://gist.github.com/)
called `resume.json`. Put the file in the `_config.yaml` file and that's
it! Other platforms like [resumake](https://latexresu.me/) use the same
schema.

I also incorperated the changes introduced by #1339 to the best of my
abilites. The style could be further improved.

**Please merge this pull request after #1339 is merged, due to
dependencies from it**

If someone has a bettet approach on how to solve the problem that each
section needs its own template, please let me know. But for now it works
fine and is still backwards compatible with the `cv.yaml` file.

Co-authored-by: George <31376482+george-gca@users.noreply.github.com>

* Publication image zoom (#1554)

Fixes #1552

---------

Signed-off-by: George Araujo <george.gcac@gmail.com>

* Support for bibliography in blog posts and projects (#1553)

Implemented #1193

---------

Signed-off-by: George Araujo <george.gcac@gmail.com>

* Remove repeated layout template of cv.html (#1555)

The layout template of cv.html has repeated parts. When site.data.resume
is not defined, the cv page will be rendered incorrectly.

* Made some small changes to code (#1558)

Signed-off-by: George Araujo <george.gcac@gmail.com>

* Change analytics script from Panelbear to Cronitor (#1561)

Panelbear is now Cronitor RUM, the old script does not work.

* Added metadata info when blog post (#1573)

Changed metadata info for when page is a blog post.

Signed-off-by: George Araujo <george.gcac@gmail.com>

* Added Zotero socials (#1572)

Solving #1569 
I added Zotero socials because I needed them; opened a issue/pull
request in case I'm not the only one.

Second pull request (previous: #1570 ) because unwanted commits
retroactively crept in somehow. It was easier to force reset (which
closed the pull request automatically apparently).

* Added missing socials to metadata (#1575)

Signed-off-by: George Araujo <george.gcac@gmail.com>

* Update Dockerfile (#1581)

* Zotero ID Bugfix (#1580)

#1569 Fixed mismatch between zotero-id in _config.yml and the zotero-id
called upon in the socials html file introduced by #1572 (sorry about
that; slipped in when I had to reset my zotero-branch)

* Update Tag Deploys to Support M1 Macbooks (#1522)

I should merge this whenever normal deploy is well-tested for Mac
computers.

* Al folio main giscus pages (#1596)

Solves #1586 by adding the option for giscus comments sites using the
pages layout and minimally modifies Project 2 to show giscus comments as
an example

* incorrect max-height in figure.html (#1593)

figure.html was incorrectly setting height=max-height instead of
max-height=max-height

* Cache busting for _sass and individual files (#1557)

Addressing #1395 but with a different solution from #1478, using
semantic versioning based on implementation found
[here](https://distresssignal.org/busting-css-cache-with-jekyll-md5-hash).

Implemented a way of calculating the hash for both a single file or
directory. This way we can calculate the hash for when there is a change
in the `_sass` dir, for example, or in the contents of a single file.

Examples of generated outputs of the plugin:
```
/al-folio/assets/css/main.css?d41d8cd98f00b204e9800998ecf8427e
/al-folio/assets/js/theme.js?96d6b3e1c3604aca8b6134c7afdd5db6
/al-folio/assets/js/dark_mode.js?9b17307bb950ffa2e34be0227f53558f
/al-folio/assets/js/no_defer.js?d633890033921b33e0ceb13d22340a9c
/al-folio/assets/js/common.js?acdb9690d7641b2f8d40529018c71a01
/al-folio/assets/js/copy_code.js?c9d9dd48933de3831b3ee5ec9c209cac
/al-folio/assets/img/prof_pic.jpg?974957d202f671e4fa6700c04e68deae
```

Signed-off-by: George Araujo <george.gcac@gmail.com>

* Added jupyter to README (#1637)

Signed-off-by: George Araujo <george.gcac@gmail.com>

* add star to academic examples (#1647)

Dear `al-folio` maintainers,

I would greatly appreciate it if you could add my homepage as a star in
the academic examples.

Thank you for your wonderful work on this.

* Update README to make Docker Recommended way (#1523)

Docker is well-tested for a long time. I think it is better to make it
the recommended method for all OS types.

This way, it is a lot easier to install docker (than to install jekyll
and ruby and what not) and also we wouldn't have to deal with issues
like these:
- https://github.com/alshedivat/al-folio/issues/1520
- https://github.com/alshedivat/al-folio/issues/1491

* Update README.md (#1657)

* Update README.md (#1661)

add star to academic example

* Add all contributors section to README.md

* Fix _variables.scss filename in README (#1683)

* Add website (#1674)

* Don't display badge if startDate is empty (#1682)

* Add a star. (#1695)

* Add star to README.md (#1684)

Added academic website to README.md.
Also added `_blank` target to earlier ones.

Co-authored-by: George <31376482+george-gca@users.noreply.github.com>

* Add a star (#1705)

Added academic website to README.md.

* Add a star (#1723)

* Fix regex to limit keyword scope to fields (#1629)

improved version of the original fix contributed by @paberr in #1429

* Moved ToC Menu to Sidebar (#1582)

Addressing #1551 using the same sidebar as in #1366, removing the inline ToC menu from the CV

* add WeChat to socials (#1730)

When the WeChat icon in socials is clicked, a picture of your WeChat QR
code is shown in the center of the screen. The actual picture of your QR
code has to be uploaded.

* Update README.md (#1748)

* Adding a page (*) in README.md (#1755)

Adding https://kudhru.github.io/ in the academics section

* Update README (#1754)

* added the link to my personal academic website
([mbarbetti.github.io](https://mbarbetti.github.io))
* added the link to the website for a workshop named "Beyond Vision:
Physics meets AI" ([BVPAI
2023](https://physicsmeetsai.github.io/beyond-vision)) held within ICIAP
2023

---------

Co-authored-by: Amir Pourmand <pourmand1376@gmail.com>

* Added a star (#1764)

* Fixing bootstrap dark-table top border (#1763)

This addresses https://github.com/alshedivat/al-folio/issues/1425.

Contributions:
- Added border attribute to `.table-dark` within `_base.scss` to
override bootstrap theme border settings for `.tabled-bordered`.
Displays top border in dark mode for only those tables that are bordered

* Added support to PurgeCSS (#1562)

Tackled #1329 with [PurgeCSS](https://purgecss.com/).

Being talking with @varuniyer about using
[jekyll-uncss](https://github.com/episource/jekyll-uncss) to reduce css
file sizes by ditching unused classes. This approach have 3 main
problems:

1 - have some limitations as pointed
[here](https://github.com/alshedivat/al-folio/issues/1329#issuecomment-1546517327)
2 - last update to
[jekyll-uncss](https://github.com/episource/jekyll-uncss) was about 3
years ago, so it might have a few issues
3 - [uncss](https://github.com/uncss/uncss) haven't seem a new release
in a while, currently [lacking
maintenance](https://github.com/uncss/uncss/issues/459), and using some
deprecated libraries as seem here:

```
npm install -g uncss
npm WARN deprecated request-promise-native@1.0.9: request-promise-native has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142
npm WARN deprecated har-validator@5.1.5: this library is no longer supported
npm WARN deprecated w3c-hr-time@1.0.2: Use your platform's native performance.now() and performance.timeOrigin.
npm WARN deprecated uuid@3.4.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
```

I thought about giving PurgeCSS a go, since it has been more [actively
maintaned](https://github.com/FullHuman/purgecss), but
[jekyll-purgecss](https://github.com/mhanberg/jekyll-purgecss) haven't.

For this, I needed to change to use some local libraries instead of
getting them via CDN. The good news is that it is quite effective in
reducing css file sizes. Comparing dir sizes with `du -hs
_site/assets/css/`:

| current | minify | PurgeCSS | PurgeCSS + minify |
| ------- | ------ | -------- | ----------------- |
| 1,1M    | 988K   | 456K     | 420K              |

---------

Signed-off-by: George Araujo <george.gcac@gmail.com>

* Added support for multiple profiles in about page (#1243)

Addresses #963.

Supports two setups: getting profile text from page content.

```markdown
---
layout: about
title: about
permalink: /
subtitle: <a href='#'>Affiliations</a>. Address. Contacts. Moto. Etc.

profiles:
  # if you want to include more than one profile, just replicate the following block
  # and create one content file for each profile inside _pages/
  - align: right
    image: prof_pic.jpg
    # content: about_einstein.md
    image_circular: false # crops the image to make it circular
    more_info: >
      <p>555 your office number</p>
      <p>123 your address street</p>
      <p>Your City, State 12345</p>

news: true  # includes a list of news items
selected_papers: true # includes a list of papers marked as "selected={true}"
social: true  # includes social icons at the bottom of the page
---

Write your biography here. Tell the world about yourself. Link to your favorite [subreddit](http://reddit.com). You can put a picture in, too. The code is already in, just name your picture `prof_pic.jpg` and put it in the `img/` folder.

Put your address / P.O. box / other info right below your picture. You can also disable any these elements by editing `profile` property of the YAML header of your `_pages/about.md`. Edit `_bibliography/papers.bib` and Jekyll will render your [publications page](/al-folio/publications/) automatically.

Link to your social media connections, too. This theme is set up to use [Font Awesome icons](http://fortawesome.github.io/Font-Awesome/) and [Academicons](https://jpswalsh.github.io/academicons/), like the ones below. Add your Facebook, Twitter, LinkedIn, Google Scholar, or just disable all of them.
```

Or getting profile text from `content` (useful when having multiple
profiles).

```markdown
---
layout: about
title: about
permalink: /
subtitle: <a href='#'>Affiliations</a>. Address. Contacts. Moto. Etc.

profiles:
  # if you want to include more than one profile, just replicate the following block
  # and create one content file for each profile inside _pages/
  - align: right
    image: prof_pic.jpg
    content: about_einstein.md
    image_circular: false # crops the image to make it circular
    more_info: >
      <p>555 your office number</p>
      <p>123 your address street</p>
      <p>Your City, State 12345</p>
  - align: left
    image: prof_pic.jpg
    content: about_einstein.md
    image_circular: false # crops the image to make it circular
    more_info: >
      <p>555 your office number</p>
      <p>123 your address street</p>
      <p>Your City, State 12345</p>

news: true  # includes a list of news items
selected_papers: true # includes a list of papers marked as "selected={true}"
social: true  # includes social icons at the bottom of the page
---
```

Which looks like this:


![image](https://user-images.githubusercontent.com/31376482/223251956-aec09f92-55c4-4a17-8ab6-0b30da0970cc.png)

---------

Signed-off-by: George Araújo <george.gcac@gmail.com>
Signed-off-by: George Araujo <george.gcac@gmail.com>

* Fixed weird bib btn behavior (#1776)

Fixes #1774 by reverting mdb usage to cdn. Weirdly enough, when using
from local file it triggers a ripple effect when using `btn` class. It
states in the [official
docs](https://mdbootstrap.com/docs/standard/methods/ripple/) that:

> By default, ripple is added to every button (via .btn class)

Using [this
solution](https://mdbootstrap.com/support/standard/disable-waves-ripple-effect/)
only make this flicking happens faster. Also this does seem to be [an
issue](https://mdbootstrap.com/support/standard/how-to-disable-ripple-effect/)
still in the [latest
version](https://github.com/mdbootstrap/mdb-ui-kit/issues/1505) (even
though we are using an older one).

Signed-off-by: George Araujo <george.gcac@gmail.com>

* Added description to profiles page (#1777)

Added support for description in profiles page

Signed-off-by: George Araujo <george.gcac@gmail.com>

* Create .github/release.yml

Adds a template for automatic generation of release notes

* Update README.md

add link to iclr 2024 blog post track

* Update README.md

add link to workshop on diffusion models

* Update README.md

add all contributors to toc

* Optimize Dockerfile (#1700)

* Fix Docker Problem (#1785)

* Update README.md (#1789)

added an example of a personal web page

* Update giscus setup via github action (#1792)

giscus settings in `_config.yml` had al-folio repo specified by default.
many users kept these defaults in their own repos, which resulted in
getting comments from blog posts of different users posted to al-folio
discussions. this is undesirable, since users lose control over the
discussions in their blogs.

this PR solves the issue:
- first, we set `giscus.repo` to blank in `_config.yml`. if the field is
kept blank, when the website is built locally, the user will see a
warning saying that giscus comments are misconfigured.
- second, we add a step to the `deploy` workflow that writes repository
name to `giscus.repo` in `_config.yml`. that way, even if `giscus.repo`
field is left black or set to an incorrect repo, it gets correctly
populated at deployment time.

other small changes in this PR are small stylistic adjustments.

* Remove by year grouping from selected publications (#1796)

* Make publication thumbnails optional + fix small layout bugs (#1797)

* Fix a small bug in giscus template

* Add Reload to Docker (Automatic Reload of Changes to _config.yaml) (#1702)

- #1640

* Add DockerSlim (#1699)

* Update Dockerfile

* fix reference disappearing for distill blog in absence of author (#1804)

* Added my website in the list (#1834)

* Update README.md (#1837)

* Update README.md (#1856)

* Added shubhashisroydipta.com to README.md (#1816)

* fix inconsistent alignment for latest posts (#1832)

* Add my website (#1859)

* Update README.md (#1938)

Adding my site. Amazing template, it was incredibly easy to setup and is
super flexible!

* Adding my site. Thanks! (#1945)

* Update Font Awesome url (#1943)

Previous link returns a `404`

* Update README.md (#1901)

Added new Q&A (Q7). Github credentials error when deploying. Changing
the github config url from `http` to `ssh`

* ENH image zooming in distill posts (#1826)

Towards https://github.com/alshedivat/al-folio/discussions/1374

The image zooming feature did not work with distill layout previously.

* Better Readme (#1806)

* Update cv.html (#1820)

resume fixing that isn't showing up

* Update resume.json (#1821)

populating resume.json to give easier start to people that dont
understand very well how to setup the fields

* Fixes #1952 (#1955)

Fixes #1952 by updating font awesome version. Also updated icons names
to newest font awesome style.

---------

Signed-off-by: George Araujo <george.gcac@gmail.com>

* Fixes #1584 (#1971)

Removed link to blog when showing years in news

Signed-off-by: George Araujo <george.gcac@gmail.com>

* Update cv.md (#1973)

Fix path typo in description

* Implemented support for tikzjax (#1990)

Implemented #1976.

Signed-off-by: George Araújo <george.gcac@gmail.com>

* Fixed redirect post access from blog archive (#1994)

Fixes #1831

Signed-off-by: George Araújo <george.gcac@gmail.com>

* Ensure the zoomed image is in front of toc sidebar (#1998)

Fixes #1888

Signed-off-by: George Araújo <george.gcac@gmail.com>

* Updated README to explictly tell how to proceed on fresh install (#1993)

Updated README to explicitly tell how to proceed on creating your own
version based on this template. Also removed the video tutorial since it
was for an older version, recommending to fork the repo and it was
missing the `--lsi` parameter from jekyll command. Also was not using
docker, the current recommended way.

---------

Signed-off-by: George Araújo <george.gcac@gmail.com>

* check for active children in submenus (#1869)

This patch checks, if the title of the current page matches with the
title of a submenu child. If so, it sets the submenu and the
corresponding child as active, highlighting it in the header.

* added ability to switch off pagination on the blog page (#1909)

* Now blog can be reorganized in header (#1996)

Fixes #1559 #1795

Signed-off-by: George Araújo <george.gcac@gmail.com>

* Added video button to bib entries (#2008)

When the video entry is added to bib:

e.g.,

```
{
...
video={https://www.youtube.com/embed/jNQXAC9IVRw}
...
}
```
A dedicated button appears for videos. When clicked, a playable video
appears under the research article (like abstracts and bibtex)

* bring back `repo_id` and `category_id` in `giscus` section (#1892)

After deploying my website (Cloudflare Pages), my Giscus did not work, I
realized these two paramesters are removed. After adding them again, my
Giscus worked correctly.
These new values are values from previous commits of original repository

---------

Co-authored-by: Maruan Al-Shedivat <maruan@genesistherapeutics.ai>

* Responsive image fix (#2014)

Fixes #1967 

Update the way responsive images are used to only use one srcset, and
add corresponding `sizes` attribute to the relevant layouts and
templates.
I did not go through and add `sizes` to all the example posts/projects.
When `sizes` is not specified by the user, the `figure.html` template
defaults to 95% the width of the viewport which should work fine for
most cases; users can optimize further if they wish by feeding `sizes`
into the template.

Additionally:
 - Enabled support for .gif to .webp compression
- fix error in jekyll-imagemagick config where all images were resized
to be 800px or less. (for example img-1400.webp was actually only 800px
wide, etc.)
- added note about making sure imagemagick is installed before enabling
it in responsive images section of `_config.yml`

* fix live-reloading in docker (#2022)

Fix #2021 : The webpage hosted by docker would not be automatically
reloaded because the port used for live-reloading (port 35729) is not
forwarded.

* Remove imagemagick strip (#2028)

I had added -strip arg to the imagemagick call as it is generally
desirable to strip metadata from images before publishing them, however
it seems to occasionally cause issues with jekyll-imagemagick
auto-regeneration, regenerating images even when they have not changed.

* Changed trophies layout to better suit different screen sizes (#2038)

Signed-off-by: George Araújo <george.gcac@gmail.com>

* Changed mermaid support in template (#1992)

Fix #1609

---------

Signed-off-by: George Araujo <george.gcac@gmail.com>
Co-authored-by: Maruan Al-Shedivat <maruan@genesistherapeutics.ai>

* Upgrading the README file (#2034)

I decided to break the README file into different ones to declutter it
from the main page. Also adding some more explanation on the structure
of the template. Tackling #2032 and #2033

---------

Signed-off-by: George Araujo <george.gcac@gmail.com>

* Added information about using wsl on Windows (#2040)

Signed-off-by: George Araujo <george.gcac@gmail.com>

* Removed background from template example

* Added citation examples, simplified citation code (#2056)

Since the citation file and other stuff is already defined in
`_config.yml`, removed them when calling `{% bibliography %}`. Also
realized that `jekyll-scholar` helps in displaying only the papers cited
in page, changed to use that.

Signed-off-by: George Araújo <george.gcac@gmail.com>

* Add direct link to `use this template`

* Normalizing coauthor names before search (#2057)

Signed-off-by: George Araújo <george.gcac@gmail.com>

* format code with prettier.io (#2048)

summary:
- adds prettier formatter configuration
- formats the entire repo using prettier, ignoring minified files
(`*.min.css`) and heavy generated html
- changes extensions of all `.html` files to `.liquid`, which is more
correct and necessary for prettier to work correctly
- replaces "%-" and "-%" with just "%" — manual liquid formatting using
minus signs is superfluous since we are compressing and minifying the
code anyway
- adds CI action for running prettier check on PR and pushes to master

* Add .git-blame-ignore-revs

* Move news and 404 to pages (#2060)

moves news and 404 from repo root dir to `_pages/` where they are
supposed to be + changes their extensions to `.md`

* Fix prettier (#2062)

Changed rule to minified files, reverted changes to minified files

---------

Signed-off-by: George Araújo <george.gcac@gmail.com>

* Update .git-blame-ignore-revs

* Fixed small typo (#2064)

instalation -> installation

Thank you for this resource!

* Added additional user to README.md (#2063)

Added new user to academics section in readme. 

Thank you for this great resource!

* Fixed missing changes to liquid file

* Fixed FAQ link in CONTRIBUTING.md

* Changed file paths in bug_report.md

* Fix custom blockquotes (#2071)

Fixed issue #2066. Removed `>` in front of `{: .block-tip }` which was
introduced by prettier in the example post.

* Fix broken links (#2077)

Added GitHub action to check for broken links in repo before commit,
ignoring files with liquid tags since these were not yet processed and
also README since some sites created from this template doesn't have
valid urls anymore. Fixed some broken links in repo.

---------

Signed-off-by: George Araújo <george.gcac@gmail.com>

* Link checks on deploy (#2079)

Added another GitHub action to check for broken local links on version
of the site that will be deployed.

The `broken-links` action check for broken links considering
documentation files (like INSTALLING.md) and also pages like
[_pages/about.md](https://github.com/alshedivat/al-folio/blob/master/_pages/about.md),
but it can't check for broken links when the link will be handled by
jekyll tags (like in
[_pages/blog.md](https://github.com/alshedivat/al-folio/blob/master/_pages/blog.md).

With `broken-links-site` we can check if all the links that will be used
on the final site that refer to local files are correct. Focusing only
on local files since this would end up calling too many checks for
library files, like
`https://unpkg.com/bootstrap-table@1.22.1/dist/bootstrap-table.min.css`.

---------

Signed-off-by: George Araújo <george.gcac@gmail.com>

* Axe accessibility test support (#2080)

Added GitHub action to do axe accessibility tests with [axe
cli](https://github.com/dequelabs/axe-core-npm/tree/develop/packages/cli).
I believe it is best by default to let this be run only manually, since
fixing some of the issues are not straightforward (I haven't fixed them
all for this template yet).

---------

Signed-off-by: George Araújo <george.gcac@gmail.com>

* Fixed role main in default.liquid

* Added missing separator in README

* Update contributing on README.md

* Added star history to README.md

* Updated toc on README.md

* Update INSTALL.md version of al-folio

* Adding star (#2095)

Thank you all!!!

* Changed conditions of running GitHub actions (#2082)

The GitHub actions were running everytime a new commit was made to the
repo, but that wasn't needed. For example, we don't need to try to
create a new docker image if the libraries didn't change, same to build
the whole site after a change in the README.md.

---------

Signed-off-by: George Araújo <george.gcac@gmail.com>

* Downgrade ruby version (#2098)

Signed-off-by: George Araújo <george.gcac@gmail.com>

* Update INSTALL.md (#2091)

- #2090

* Fixed dark mode not working after purgecss

* Added one more researcher using al-folio (#2105)

Added my own website as a star to the "Academics" section

* Added acknowledge section to feature_request.md

* Added diff tools to INSTALL.md

* Prettier check now generates a diff comment on PR (#2085)

Splitted prettier GitHub action into two:
- `on push`, only runs on direct pushes, if test fails generates an
artifact (that lasts for 3 days) with an html version of the changes
needed to pass prettier test
- `on PR`, only runs on PRs, if test fails comments on the PR with the
HTML content of the diff

I couldn't actually test the `on PR` version since it needs to be on a
PR in the master branch, so this will only be triggered after this PR is
accepted, and for the next PR that fails prettier test.

PS: currently the artifact is a zip file with the html inside. It is not
currently possible to generate it other way, we have to wait for [this
issue](https://github.com/actions/upload-artifact/issues/14) to be
closed.

---------

Signed-off-by: George Araújo <george.gcac@gmail.com>

* Update prettier-on-pr.yml permissions

* Changed how prettier comments on PR works (#2112)

Signed-off-by: George Araújo <george.gcac@gmail.com>

* Fixed prettier actions (#2113)

After some thorough testing, finally made prettier on PR work. Since an
html file can't be used as comment on GitHub, changed to simply point to
the action that failed and to the file containing the html diff.

Signed-off-by: George Araújo <george.gcac@gmail.com>

* Moved prettier comment on PR to its own action (#2114)

Signed-off-by: George Araújo <george.gcac@gmail.com>

* Added Lighthouse test GitHub action (#2084)

Added support for Lighthouse test as a GitHub action, and it appears
like
[this](https://github.com/george-gca/multi-language-al-folio?tab=readme-ov-file#lighthouse-pagespeed-insights).
The only thing missing is for @alshedivat to create a [repository
secret](https://github.com/MyActionWay/lighthouse-badger-workflows#lighthouse-badger-easyyml)
named `LIGHTHOUSE_BADGER_TOKEN` with the information needed.

---------

Signed-off-by: George Araújo <george.gcac@gmail.com>

* Lighthouse-Badger[bot]: Results Added

* Fixed lighthouse html viewer links

* Added anchor to category sections (#2006)

Added anchor to categories so one could navigate to the category section
from the URL:

e.g.,

https://alshedivat.github.io/al-folio/projects#fun

* Added lighthouse_results to .prettierignore

* Improved issues templates (#2110)

Since a lot of issues opened are just questions that should be opened as
so, and sometimes the issue template is just not followed, I decided to
make opening new issues a little more "enforced", if not clear.

I based the new templates on the ones from [pytorch
lightning](https://github.com/Lightning-AI/pytorch-lightning/issues/new/choose),
which I think are pretty good. The visuals will only appear after the
merge is processed, but you can have an idea of how it will look like by
checking their templates and how they look.

---------

Signed-off-by: George Araújo <george.gcac@gmail.com>

* Removed 0 from bug report

* Updated links in 1_bug_report.yml

* Updated links in 2_feature_request.yml

* Updated links in issue template config.yml

* Fixed url in config.yml

* Fixed urls in 2_feature_request.yml

* Fixed urls in 1_bug_report.yml

* Updated checkout step in lighthouse-badger.yml

* Lighthouse-Badger[bot]: Results Added

* Added support for Chart.js (#2126)

Solved #460.


![image](https://github.com/alshedivat/al-folio/assets/31376482/ce65dbe2-031e-4208-b374-08ec89beaaca)

---------

Signed-off-by: George Araújo <george.gcac@gmail.com>

* Added integrity check to mermaid.js

* Added Echarts support (#2129)

Since I added support for chart.js and while doing so found some other
wonderful charting libraries, I thought, why not give support to some
more? So adding support to [Apache
Echarts](https://echarts.apache.org/en/index.html).


![image](https://github.com/alshedivat/al-folio/assets/31376482/088f0932-524f-4fcd-a34b-b132f569a675)


![image](https://github.com/alshedivat/al-folio/assets/31376482/36bfe4f8-a9d1-4b6d-a912-fb40ba3b5337)

---------

Signed-off-by: George Araújo <george.gcac@gmail.com>

* GeoJSON support (#2130)

Added support for GeoJSON maps.


![image](https://github.com/alshedivat/al-folio/assets/31376482/48e91158-a717-4d01-b6d7-47d45f0580e4)

---------

Signed-off-by: George Araújo <george.gcac@gmail.com>

* Vega lite support (#2131)

Added support for [vega lite](https://vega.github.io/vega-lite/) charts.


![image](https://github.com/alshedivat/al-folio/assets/31376482/789c14d3-93b6-4d3f-94a6-7cec1f0f0b59)


![image](https://github.com/alshedivat/al-folio/assets/31376482/17f9021c-08c4-4922-9f97-1046b146a965)

---------

Signed-off-by: George Araújo <george.gcac@gmail.com>

* Added leaflet reference to 2024-01-26-geojson-map.md

* Closing #2122 (#2135)

Added lighthouse badger token info to FAQ

---------

Signed-off-by: George Araújo <george.gcac@gmail.com>

* Workflow fix (#2136)

Signed-off-by: George Araújo <george.gcac@gmail.com>

* Advanced image viewers (#2132)

Image slider with [Swiper](https://swiperjs.com/).


![image](https://github.com/alshedivat/al-folio/assets/31376482/9068823c-571a-4d31-8e95-755a40a15ec9)

Image comparison slider with
[img-comparison-slider](https://img-comparison-slider.sneas.io/).


![image](https://github.com/alshedivat/al-folio/assets/31376482/97812477-c13b-43b1-8f0b-cb098462de3c)

---------

Signed-off-by: George Araújo <george.gcac@gmail.com>

* Support for diff2html (#2133)

Added support to display diff code in a prettier way with
[diff2html](https://diff2html.xyz/).


![image](https://github.com/alshedivat/al-folio/assets/31376482/5f93b09c-3850-499a-999b-cb0ae13fddae)

It displays code like [in this
example](https://diff2html.xyz/demo.html).

---------

Signed-off-by: George Araújo <george.gcac@gmail.com>

* Move libs versions to config (#2139)

Moved libs versions and hashes to `_config.yml`.

Fixes #2067.

Deferring everything possible to keep pages loads fast.

---------

Signed-off-by: George Araújo <george.gcac@gmail.com>

* Update FAQ.md with Prettier info

* Avoid deploying site when changes are in README files

* Lighthouse-Badger[bot]: Results Added

* Removing lighthouse results from deploy trigger

* Removing lighthouse_results from broken-links trigger

* Lighthouse-Badger[bot]: Results Added

* Adding display swap to Google Fonts

Adding suggestion from [Lighthouse results](https://developer.chrome.com/docs/lighthouse/performance/font-display/?utm_source=lighthouse&utm_medium=cli#google_fonts)

* Added link to jekyll docs about post file naming

* Fixed axe workflow (#2149)

Signed-off-by: George Araújo <george.gcac@gmail.com>

* improved redirect mapping (#2157)

In reference to issue:
https://github.com/alshedivat/al-folio/discussions/1818

Redirect cases were only happening on the surface level, essentially
just affecting the links on [blog
index](https://alshedivat.github.io/al-folio/blog/page/4/index.htm) and
[year tag](https://alshedivat.github.io/al-folio/blog/2022/). However,
from the actual
[site](https://alshedivat.github.io/al-folio/blog/2022/redirect/), it
would automatically redirect to the `base_url` rather than the actual
`redirect`.

In my update, if `redirect: true`, like it is in `404.md`, redirect
behavior is the same, redirecting to the `base_url`. If it is an
external link, then the redirect is external. And finally if it is an
internal redirect, like it is in
https://alshedivat.github.io/al-folio/blog/2022/redirect/, than the
redirect is `page.redirect | relative_url`

* Updated FAQ with old repository information (#2161)

Signed-off-by: George Araújo <george.gcac@gmail.com>

* Added jekyll-diagrams error to FAQ (#2162)

Signed-off-by: George Araújo <george.gcac@gmail.com>

* center footer text by default (#2165)

This PR changes the footer text on the website (for both the sticky and
fixed footer) to be centered by default. This change is based on the
discussion post #257.

* Fix Image Dimension Styles for Better Responsiveness (#2166)

In this pull request, I've made adjustments to the image element's
handling of dimension properties. Previously, `min-width`, `min-height`,
`max-width`, and `max-height` were incorrectly placed as HTML attributes
on the `<img>` tag, which is not supported for these CSS properties.
This oversight could lead to issues with image responsiveness and layout
stability.

Changes:
- Moved `min-width`, `min-height`, `max-width`, and `max-height`
properties into the `style` attribute of the `<img>` tag. This change
ensures that these properties are correctly applied and recognized as
CSS properties, enhancing the responsiveness and flexibility of our
image displays.
- Retained `width` and `height` as attributes on the `<img>` tag to
maintain the intrinsic aspect ratio of images and help the browser
allocate space before images are fully loaded, improving the page load
experience.

These adjustments will ensure that our images are more responsive and
better adhere to the specified dimensions, improving the overall user
experience for the template.

* Update README.md (#2182)

Add my acdemic portfolio to the Acdemic section of README.

* Update README.md (#2187)

adding my page to the README section. Kudos to the dev team!

* Added support for google scholar citations (#2193)

Closes #1809, but there are caveats:
1 - it only works at build time, which means it won't update the numbers
unless you build your site again
2 - Google might block the request if it receives lots of it, failing
the whole process.

This is how it looks like when it can fetch the information:

![Screenshot from 2024-02-13
00-37-52](https://github.com/alshedivat/al-folio/assets/31376482/646d1f3c-1294-491b-bc13-9013e38918b4)

And this when it fails:


![image](https://github.com/alshedivat/al-folio/assets/31376482/516eefff-d394-44ad-8702-8982233f8c4f)

Signed-off-by: George Araujo <george.gcac@gmail.com>

* Fixed bug when number has , on scholar citations

* Add academic community example (#2195)

Adds [https://ericslyman.com/](https://ericslyman.com/) to the list of
academic community examples.

* Fixed related publications appearing in toc (#2196)

Fixes #2192

---------

Signed-off-by: George Araujo <george.gcac@gmail.com>

* remove the space in names of "site" (#2188)

I removed the spaces between the first, middle and last names in the
header.

It's just my preference, I don't know if it would be accepted but I have
done this for my own page using this repository as a template.

* Implement Default Lazy Loading for Images with Configurable Option (#2183)

This PR introduces an enhancement to the site's image-loading strategy
by implementing lazy loading as the default behavior for all images. The
motivation behind this change is to improve the site's load times.

**Changes:**
1. **Default Lazy Loading:** By `default`, all images will now have the
`loading="lazy"` attribute.

2. **Configurable Option in `_config.yml`:** Added a new configuration
option under `lazy_loading_images.enable`.

3. **Override Capability:** For `specific images` where the user doesn't
want lazy loading, they can `override` this by directly setting the
`loading attribute` in the `image tag`.

* fix author spacing (#2197)

This PR fixes issue https://github.com/alshedivat/al-folio/issues/2185
and addresses discussion
https://github.com/alshedivat/al-folio/discussions/2153.

- removes leading whitespace before commas in author list
- fixes author spacing

* Changed lazy loading in figure.liquid

* Changed lazy loading in _config.yml

* Added/Improved Formatting for Checkboxes (#2191)

A proposed solution for #2190. Padding is added such that I considered
it aesthetically pleasing and the bullet points in front of the check
marks were removed.

---------

Co-authored-by: George <31376482+george-gca@users.noreply.github.com>

* Lighthouse-Badger[bot]: Results Added

* Lighthouse fixes (#2199)

Our score went down a little bit after the last few changes. Avoiding
lazy loading some images (as introduced in #2183), since [it is strongly
recommended to omit hero images and other images or iframes that are
likely to appear above the fold from being
lazy-loaded](https://web.dev/articles/browser-level-lazy-loading-for-cmss#avoid_lazy_loading_above-the-fold_elements).
Also added missing `alt` to google scholar field.

---------

Signed-off-by: George Araujo <george.gcac@gmail.com>

* Lighthouse-Badger[bot]: Results Added

* Fixed coauthors examples in CUSTOMIZE

* Fixed broken latex in _posts/2015-10-20-math.md (#2219)

Latex math is currently broken in
[_posts/2015-10-20-math.md](https://alshedivat.github.io/al-folio/blog/2015/math/)
. Fixed it by replacing starts with underscore

---------

Co-authored-by: George <31376482+george-gca@users.noreply.github.com>

* Emphasized more how the name of the repository must be

* Add functionality to open external links in jupyter notebooks in new tab (#2233)

See https://github.com/alshedivat/al-folio/pull/2230

---------

Co-authored-by: Scherrmann <scherrmann@bwl.uni-muenchen.de>

* Update INSTALL.md (#2237)

Added "Recommended Approach" as a subheading which was not under
Installing , but was in the contents section.

* Updated information about lsi

* Correct config variable for enabling latest_posts on about page (#2243)

I noticed disabling latest_posts in `_config.yml` didn't work because
the variable in the liquid template was seemingly incorrect. This should
fix that.

---------

Co-authored-by: Jake Nabasny <jake@nabasny.com>

* Replace `polyfill.io` (#2241)

The PR replaces `polyfill.io` inside the template with
`cdnjs.cloudflare.com/polyfill`.

---

`polyfill.io` was acquired by **a China-based CDN company** "Funnull",
see [the announcement from the `polyfill.io` domain owner's
Twitter](https://x.com/JakeDChampion/status/1761315227008643367) and
https://github.com/polyfillpolyfill/polyfill-service/issues/2834.
Despite Funnull's claims of operating in the United States, the
predominance of Simplified Chinese on its website suggests otherwise,
and it turns out that **"Funnull" is notorious for providing service for
the betting and pornography industries**.

[The original creator of the `polyfill.io` has voiced his concern on
Twitter](https://twitter.com/triblondon/status/1761852117579427975). And
since the acquisition, numerous issues have emerged
(https://github.com/polyfillpolyfill/polyfill-service/issues/2835,
https://github.com/polyfillpolyfill/polyfill-service/issues/2838,
https://github.com/alist-org/alist/issues/6100), rendering the
`polyfill.io` service **extremely unstable**. Since then, Fastly
([Announcement](https://community.fastly.com/t/new-options-for-polyfill-io-users/2540))
and Cloudflare
([Announcement](https://blog.cloudflare.com/polyfill-io-now-available-on-cdnjs-reduce-your-supply-chain-risk))
has hosted their own instances of `polyfill.io` service.

* Add option for local HTML files (#2245)

Add option to link HTML local files from publications page.

---------

Co-authored-by: Jake Nabasny <jake@nabasny.com>

* Delete reports directory

* Exclude more files from site (#2257)

Signed-off-by: George Araujo <george.gcac@gmail.com>

* Removed *.yml from _config.yml

* Delete assets/img/pagespeed.svg

* Make clear that you should not touch `gh-pages` branch

* Make clear that you should not touch `gh-pages` branch

* Update INSTALL.md

* Added "follow system" option to theme toggle (#2261)

The theme toggle button now has a third option, which follows the user's
system preferences.

- In the code there's now a distinction between the theme setting (which
can be "dark", "light" or "system") and the computed theme.
- The theme setting is now stored as the "theme-setting" local storage
variable. Since this is different from the old variable ("theme"), this
will effectively reset all current user themes to the default "system".
Maybe this is not what you want.
- The "system" theme icon is currently a half circle symbol.
- The toggle button now displays the current theme setting, rather than
the next theme setting (as far as I know this is consistent with other
sites which have three theme options).
- `theme.js` is now loaded regardless of `site.enable_darkmode`. This is
because other scripts which were always loaded relied on being able to
determine the theme. `theme.js` no longer initialises the theme itself
though; this only happens when `site.enable_darkmode`.
- When the theme setting is "system", the theme will change immediately
whenever the user changes their system theme.

#2261

---------

Signed-off-by: George Araujo <george.gcac@gmail.com>
Co-authored-by: George Araujo <george.gcac@gmail.com>

* fix links (#2278)

This PR fixes/updates broken/outdated links on the `README.md`

* Update INSTALL.md (#2285)

Added a step to the "Recommended Approach" telling the user to wait for
the GitHub Actions to be completed so that the gh-pages branch can be
created.

* Add academic community example (#2289)

Adds [https://ztjona.github.io/](https://ztjona.github.io/) to the list
of academic community examples.

* add flickr to social integration (#2286)

- add flickr to social integration

---------

Co-authored-by: Yi Su <yi_su@apple.com>

* Add academic community example (#2300)

* Update FAQ.md with sqrt error message

* Added permalink info to CUSTOMIZE.md

* Added links to jekyll docs in CUSTOMIZE.md

* Added post about why write a blog

* 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>

* Remove bootstrap-table from archive tables (#2306)

The blog archive page tables have `table-borderless`, but
bootstrap-table JS adds `table-bordered` by default and this forces an
`!important` border.
Since these tables are also supposed to be borderless, this PR excludes
them from bootstrap-table, just like the news and CV table are.

* Update README.md with deployment word

* 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.

* 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.

* 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>

* Use JEKYLL_ENV=development in Docker Compose setup (#2336)

Fixes #2303.

See #2333 for discussion.

* 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.

* Update FAQ.md with layout error information

* Added `pseudocode.js` support (#2344)

Signed-off-by: George Araújo <george.gcac@gmail.com>

* 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.

* feat: vscode devcontainer (#2335)

I added a [Remote Development
Containers](https://code.visualstudio.com/docs/devcontainers/tutorial)
in Visual Studio Code (VSCode).

Lots of people like to develop in Containers to have a clean system.
With this PR, it is possible to work with al-folio without any
installation (except for VS Code, its Remote Dev Container extension,
and Docker).

Once you've opened the `al-folio` repository, a prompt will appear
requesting to reopen the project within a container.

<img width="541" alt="grafik"
src="https://github.com/alshedivat/al-folio/assets/1998723/2963446f-8e42-4df1-9e8c-22691d78b7e4">

Upon doing so, Jekyll will automatically start within the container and
prompt you to open the website's preview sidebar directly in VSCode or
using your Browser. Additionally, it installs extensions for `liquid`
and Prettier (`npx prettier`). Files are formatted using
`al-folios`-prettier settings (`.prettierrc`) to streamline pull request
submission.

Additionally, the performance seems to be much better compared to the
`docker-compose`setup, see #2333.

---------

Co-authored-by: George <31376482+george-gca@users.noreply.github.com>

* New website using al-folio added to README.md (#2345)

* Update work.liquid to show the location of work experience under cv page (#2298)

adding "location" element when location object is added to work
experience. Location icon and the entered value will appear on the CV
page under the work experience section. This feature already exists for
education section, but not for work. The change is made to make the
experiece more consistent.


![image](https://github.com/alshedivat/al-folio/assets/158527033/9b55e139-1078-4655-8a18-56ac43da4d74)

* adding null check to external-posts.rb to avoid parsing failure (#2347)

Adjusting issue #2343 by adding null check.

* Fix docker compose command using the slimmed docker image (#2351)

Fixing the docker command based on `docker compose [-f <arg>...]
[options] [COMMAND] [ARGS...]` format on the
[website](https://docs.docker.com/compose/reference/#command-options-overview-and-help).
Because the old command would give error: `unknown shorthand flag: 'f'
in -f`

* Update CONTRIBUTING.md with prettier information

* Fixed reference to commit in CONTRIBUTING.md

* Update CONTRIBUTING.md

* Update work.liquid to show the location of work experience under cv … (#2349)

…page

same as pull request https://github.com/alshedivat/al-folio/pull/2298
and commit
https://github.com/alshedivat/al-folio/commit/363f277aa82df6e03f172dbcf2f9c1fbe84aca26
for **Volunteer** section

* Feat bib preview (closes #1162) (#2352)

This PR enables to have `abbr` and `preview` for a single publication
(closing #1162).

The following example shows all three possibilities: 1) Preview + Abbr
2) Preview only 3) Abbr only.

<img width="786" alt="grafik"
src="https://github.com/alshedivat/al-folio/assets/1998723/0633f443-b430-4fa6-a0eb-750170a638bd">

* Feat reworked project layout (closing #2246) (#2357)

The current state of project looks a bit unharmonized.

# Vertical layout before:

<img width="834" alt="Bildschirmfoto 2024-04-20 um 18 09 16"
src="https://github.com/alshedivat/al-folio/assets/1998723/55ba0968-bfd9-443f-b58a-eb6723deccfc">

# Vertical layout after:

<img width="834" alt="Bildschirmfoto 2024-04-20 um 18 10 28"
src="https://github.com/alshedivat/al-folio/assets/1998723/9b06b9b8-9228-4dfd-ab10-ca16ce028b1d">

# Horizontal layout before:

<img width="834" alt="Bildschirmfoto 2024-04-20 um 18 08 54"
src="https://github.com/alshedivat/al-folio/assets/1998723/97aaf5b4-1d3e-4a1c-8175-3a97391739b3">

# Horizontal layout after:

<img width="834" alt="Bildschirmfoto 2024-04-20 um 18 07 46"
src="https://github.com/alshedivat/al-folio/assets/1998723/a357fa62-8551-4e92-91d3-3d5d01dbc605">

***

These improvements are not perfect, but to be honest, I have no deep
experiences with bootstrap. Actually, I just read the
[docs](https://getbootstrap.com/docs/4.4/components/card/) and tried my
best.
But I think it looks way better than before.

I'm pretty happy with the vertical layout, but the horizontal could be
improved.
I tried various things to get a better alignment of the image, without
any success.
In theroy, there is e.g. `card-img-top`, but I could not make it work.

I changed the project descriptions to make some of these edge-cases
visible.

Feedback and improvements (especially code) are more than welcome

Closes #2246

* Fixed security issue with download 3rd party plugin (#2364)

Signed-off-by: George Araujo <george.gcac@gmail.com>

* Fixed security issue with download 3rd party plugin (#2365)

Added condition to avoid security issue according to GitHub's dependabot


![image](https://github.com/alshedivat/al-folio/assets/31376482/b470a83a-5038-48be-99a6-1cbf63de57bf)

---------

Signed-off-by: George Araujo <george.gcac@gmail.com>

* add last updated date to posts (#2341)

This PR is related to #2309. I added an optional `last_updated` field.
This new field represents the timestamp for when the post was last
updated. Consequently, the existing `date` metadata should now be
interpreted as the creation date of the post.

The formatting for displaying these dates has been standardized as
follows:

```text
Created: July 11, 2023   |   Last Updated: April 14, 2024
```

For a practical implementation example, please refer to [this
post](https://torydeng.github.io/blog/2023/deploying-server/) on my
website, where I have applied these changes.

---

Any feedback is wellcome.

* Set user agent for lychee (#2368)

See: https://github.com/alshedivat/al-folio/discussions/2366
See: https://github.com/lycheeverse/lychee/issues/1411

* Fix bib preview mobile (#2359)

[Reference](https://github.com/alshedivat/al-folio/pull/2352#issuecomment-2067965077)

I'm not sure if the removal of `max-width: 90vw;` for all images causes
any side issues.
I could at least not find any. But having this properties will produce
unaligned preview sizes.
Help/testing is more than welcome.


# Before
<img width="364" alt="Bildschirmfoto 2024-04-21 um 14 17 51"
src="https://github.com/alshedivat/al-folio/assets/1998723/5ad1a4d7-dfe6-43f8-98ec-eae19dd991c2">

# After

<img width="364" alt="Bildschirmfoto 2024-04-21 um 14 21 53"
src="https://github.com/alshedivat/al-folio/assets/1998723/fb942403-a01f-42ec-95c6-697378ed0d92">
...
<img width="364" alt="Bildschirmfoto 2024-04-21 um 14 22 03"
src="https://github.com/alshedivat/al-folio/assets/1998723/1ddf43d8-98a8-421d-9f64-3352190c4bb8">

* Cleanup after merge from alshedivat/master

* Reformat with prettier

* Fixes bad link

* Modifies linker check excludes

---------

Signed-off-by: George Araujo <george.gcac@gmail.com>
Signed-off-by: George Araújo <george.gcac@gmail.com>
Co-authored-by: George <31376482+george-gca@users.noreply.github.com>
Co-authored-by: Maruan <alshedivat@users.noreply.github.com>
Co-authored-by: Loris Fichera <loris.fichera@gmail.com>
Co-authored-by: Amir Pourmand <pourmand1376@gmail.com>
Co-authored-by: github-actions[bot] <actions@github.com>
Co-authored-by: Abu Noman Md. Sakib <33668152+anmspro@users.noreply.github.com>
Co-authored-by: José M. Requena Plens <joreple@upv.es>
Co-authored-by: Mirza Arnaut <mirza.arnaut45@gmail.com>
Co-authored-by: Henry.W <58690749+yahaha-233@users.noreply.github.com>
Co-authored-by: David Krassnig <96623786+DavidKrassnig@users.noreply.github.com>
Co-authored-by: NakuraMino <33564642+NakuraMino@users.noreply.github.com>
Co-authored-by: Daniel Berlyne <104771503+danberlyne@users.noreply.github.com>
Co-authored-by: filippomazzoli <71236181+filippomazzoli@users.noreply.github.com>
Co-authored-by: Alejandro Escontrela <alejandroescontrela@gmail.com>
Co-authored-by: Raffaele Mancuso <raffaele.mancuso4@unibo.it>
Co-authored-by: Kyle Oman <koman@astro.rug.nl>
Co-authored-by: Carlson B <49326130+cbueth@users.noreply.github.com>
Co-authored-by: Decwest <fumiyaonishi1016@gmail.com>
Co-authored-by: Jed Burkat <129440663+jedbur@users.noreply.github.com>
Co-authored-by: gzwongkk <gzwongkk@gmail.com>
Co-authored-by: Johannes Hörner <110042110+johanneshoerner@users.noreply.github.com>
Co-authored-by: Henry Zhang <36073872+Henrium@users.noreply.github.com>
Co-authored-by: Dhruv Kumar <kudhru@users.noreply.github.com>
Co-authored-by: Matteo Barbetti <55536905+mbarbetti@users.noreply.github.com>
Co-authored-by: Nikolai Zhivotenko <niko.zvt@gmail.com>
Co-authored-by: Lance Wilhelm <lance.wilhelm@gmail.com>
Co-authored-by: Martin Bulla <MartinBulla@users.noreply.github.com>
Co-authored-by: Maruan Al-Shedivat <maruan@genesistherapeutics.ai>
Co-authored-by: Yifan Jiang <55911052+YifanJiang233@users.noreply.github.com>
Co-authored-by: Giordano d'Aloisio <giordano.daloisio@gmail.com>
Co-authored-by: Monk <ankit.pal@saama.com>
Co-authored-by: Shubhashis Roy Dipta <iamdipta@gmail.com>
Co-authored-by: Abhinav Mehta <abhinavmehta1993@gmail.com>
Co-authored-by: Antonio Stanziola <stanziola.antonio@gmail.com>
Co-authored-by: Shubhankar <ghltshubh@users.noreply.github.com>
Co-authored-by: Rachel <rstein66@gmail.com>
Co-authored-by: Javkhlantugs <jay.mudgil@gmail.com>
Co-authored-by: Yao Xiao <108576690+Charlie-XIAO@users.noreply.github.com>
Co-authored-by: Pablo Diego Pereira <pablodiegoo@gmail.com>
Co-authored-by: civita <14911217+civita@users.noreply.github.com>
Co-authored-by: Tianmaru <tianmaru@gmail.com>
Co-authored-by: Dinesh Natesan <AbstractGeek@users.noreply.github.com>
Co-authored-by: Fares Abawi <f.abawi@outlook.com>
Co-authored-by: Alireza Dehghanzadeh <86428901+alerezaaa@users.noreply.github.com>
Co-authored-by: Noah West <68435033+nWestie@users.noreply.github.com>
Co-authored-by: WEI EN TSAI <twe105@gapp.nthu.edu.tw>
Co-authored-by: Sam B <107863539+Sam-Bieberich@users.noreply.github.com>
Co-authored-by: Yifan Jiang <jiangyifan_sh@outlook.com>
Co-authored-by: Afrânio Melo <40374017+afraniomelo@users.noreply.github.com>
Co-authored-by: Jona Ruthardt <50911852+JonaRuthardt@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Andrew Boyer <asboyer@gmail.com>
Co-authored-by: Ethan Olesinski <47125809+eolesinski@users.noreply.github.com>
Co-authored-by: ZL Asica <40444637+ZL-Asica@users.noreply.github.com>
Co-authored-by: Stavros Kalapothas <stavros@ubinet.gr>
Co-authored-by: Eric Slyman (they/them) <slymane@oregonstate.edu>
Co-authored-by: Furkan Akkurt <71407287+furkanakkurt1335@users.noreply.github.com>
Co-authored-by: Maksym Zub <kroistsmeh@gmail.com>
Co-authored-by: Moritz Scherrmann <mscherrmann@outlook.de>
Co-authored-by: Scherrmann <scherrmann@bwl.uni-muenchen.de>
Co-authored-by: Sasika Amarasinghe <77430135+SasikaA073@users.noreply.github.com>
Co-authored-by: Jake Nabasny, PhD <jnabasny@gmail.com>
Co-authored-by: Jake Nabasny <jake@nabasny.com>
Co-authored-by: Sukka <isukkaw@gmail.com>
Co-authored-by: Sam Adam-Day <me@samadamday.com>
Co-authored-by: George Araujo <george.gcac@gmail.com>
Co-authored-by: Maria Teleki <maria@teleki.net>
Co-authored-by: Jonathan Zea <z_tjalezea@outlook.com>
Co-authored-by: Yi Su <nuance1979@users.noreply.github.com>
Co-authored-by: Yi Su <yi_su@apple.com>
Co-authored-by: Chris Choi <mychoi314@gmail.com>
Co-authored-by: Simmo Saan <simmo.saan@gmail.com>
Co-authored-by: CheariX <CheariX@users.noreply.github.com>
Co-authored-by: Andreas Säuberli <38892775+saeub@users.noreply.github.com>
Co-authored-by: Davide Riccobelli <49486400+riccobelli@users.noreply.github.com>
Co-authored-by: christopherjang1 <158527033+christopherjang1@users.noreply.github.com>
Co-authored-by: Billy Chau <31171483+amztc34283@users.noreply.github.com>
Co-authored-by: Gabriel Zhang <81345419+yuanzzhang@users.noreply.github.com>
Co-authored-by: Tao Deng <3070053397@qq.com>
h2o64 pushed a commit to h2o64/h2o64.github.io that referenced this issue May 4, 2024
Splitted prettier GitHub action into two:
- `on push`, only runs on direct pushes, if test fails generates an
artifact (that lasts for 3 days) with an html version of the changes
needed to pass prettier test
- `on PR`, only runs on PRs, if test fails comments on the PR with the
HTML content of the diff

I couldn't actually test the `on PR` version since it needs to be on a
PR in the master branch, so this will only be triggered after this PR is
accepted, and for the next PR that fails prettier test.

PS: currently the artifact is a zip file with the html inside. It is not
currently possible to generate it other way, we have to wait for [this
issue](actions/upload-artifact#14) to be
closed.

---------

Signed-off-by: George Araújo <george.gcac@gmail.com>
BoAi01 pushed a commit to BoAi01/boai01.github.io that referenced this issue May 7, 2024
Splitted prettier GitHub action into two:
- `on push`, only runs on direct pushes, if test fails generates an
artifact (that lasts for 3 days) with an html version of the changes
needed to pass prettier test
- `on PR`, only runs on PRs, if test fails comments on the PR with the
HTML content of the diff

I couldn't actually test the `on PR` version since it needs to be on a
PR in the master branch, so this will only be triggered after this PR is
accepted, and for the next PR that fails prettier test.

PS: currently the artifact is a zip file with the html inside. It is not
currently possible to generate it other way, we have to wait for [this
issue](actions/upload-artifact#14) to be
closed.

---------

Signed-off-by: George Araújo <george.gcac@gmail.com>
@mcharb
Copy link

mcharb commented Jun 4, 2024

Hello, are there any updates on this? My company is assessing GHA as a potential candidate for CI. Not being able to view HTML test reports or even full logs without first downloading them constitutes a huge regression for operations. We're coming from Jenkins, GHA is a leap forward in pipeline development, but the UX for operations is still lagging IMO. At the end of the day, my dev teams spend far more time running pipelines and troubleshooting failures than developing the pipelines themselves. Thanks.

siril-teja pushed a commit to siril-teja/siril-teja.github.io-old that referenced this issue Jun 19, 2024
Splitted prettier GitHub action into two:
- `on push`, only runs on direct pushes, if test fails generates an
artifact (that lasts for 3 days) with an html version of the changes
needed to pass prettier test
- `on PR`, only runs on PRs, if test fails comments on the PR with the
HTML content of the diff

I couldn't actually test the `on PR` version since it needs to be on a
PR in the master branch, so this will only be triggered after this PR is
accepted, and for the next PR that fails prettier test.

PS: currently the artifact is a zip file with the html inside. It is not
currently possible to generate it other way, we have to wait for [this
issue](actions/upload-artifact#14) to be
closed.

---------

Signed-off-by: George Araújo <george.gcac@gmail.com>
ngmarchant pushed a commit to ngmarchant/ngmarchant.github.io that referenced this issue Jun 21, 2024
Splitted prettier GitHub action into two:
- `on push`, only runs on direct pushes, if test fails generates an
artifact (that lasts for 3 days) with an html version of the changes
needed to pass prettier test
- `on PR`, only runs on PRs, if test fails comments on the PR with the
HTML content of the diff

I couldn't actually test the `on PR` version since it needs to be on a
PR in the master branch, so this will only be triggered after this PR is
accepted, and for the next PR that fails prettier test.

PS: currently the artifact is a zip file with the html inside. It is not
currently possible to generate it other way, we have to wait for [this
issue](actions/upload-artifact#14) to be
closed.

---------

Signed-off-by: George Araújo <george.gcac@gmail.com>
@jcsim1024
Copy link

jcsim1024 commented Jul 4, 2024

I am commenting my tempory solution in case there is someone like me who is using cucumber or karate. With junit xml format enabled I have been able to publish reports in my browser. Junit is a popular format so maybe it's available in your test framwork :

      - name : Publish all Junit XML tests results in Github Summary (Unit test + Integration test Karate )
        uses: test-summary/action@v2
        if: always()
        with:
            paths: |
              **/karate-reports/feature.*.xml
              **/surefire-reports/TEST-*.xml

Then you will be able to know exactly which test failed without having to download extract... or scroll down through the black and white raw ci output.

image

I hope it helps,
Looking forward to see that html preview feature!

karapostK pushed a commit to karapostK/karapostK.github.io that referenced this issue Jul 4, 2024
Splitted prettier GitHub action into two:
- `on push`, only runs on direct pushes, if test fails generates an
artifact (that lasts for 3 days) with an html version of the changes
needed to pass prettier test
- `on PR`, only runs on PRs, if test fails comments on the PR with the
HTML content of the diff

I couldn't actually test the `on PR` version since it needs to be on a
PR in the master branch, so this will only be triggered after this PR is
accepted, and for the next PR that fails prettier test.

PS: currently the artifact is a zip file with the html inside. It is not
currently possible to generate it other way, we have to wait for [this
issue](actions/upload-artifact#14) to be
closed.

---------

Signed-off-by: George Araújo <george.gcac@gmail.com>
Mor1Ma1 pushed a commit to Mor1Ma1/zhuoyuanmai2.github.io that referenced this issue Jul 27, 2024
Splitted prettier GitHub action into two:
- `on push`, only runs on direct pushes, if test fails generates an
artifact (that lasts for 3 days) with an html version of the changes
needed to pass prettier test
- `on PR`, only runs on PRs, if test fails comments on the PR with the
HTML content of the diff

I couldn't actually test the `on PR` version since it needs to be on a
PR in the master branch, so this will only be triggered after this PR is
accepted, and for the next PR that fails prettier test.

PS: currently the artifact is a zip file with the html inside. It is not
currently possible to generate it other way, we have to wait for [this
issue](actions/upload-artifact#14) to be
closed.

---------

Signed-off-by: George Araújo <george.gcac@gmail.com>
@therealryan
Copy link

The rank inelegance of my current workaround has finally driven me to build another option: https://github.com/therealryan/bowlby - a wee application that handles the download/unzipping and serves artifact contents to your browser.

If you want to expose it for everyone's benefit there's a small amount of operational effort (it needs to run somewhere and be provisioned with an api token which will eventually expire), but that might be an acceptable cost to avoid dealing with zip files. You can also run it locally for purely personal consumption.

Naturally, now that I've gone to this effort we can expect the announcement of official support for browsing artifact contents to appear in the next few days...

@paulgessinger
Copy link

@therealryan I built something very similar about 2 years ago: https://github.com/paulgessinger/herald
It repackages artifacts as ZST, and caches both artifact zips and individual files on local disk.

It's not documented, however.

@Steve-Glass
Copy link

👋 Chiming in from the Actions product team. Appreciate all of the feedback on this issue. While I can't guarantee when this will be implemented, I can say that it is on our radar for general Actions improvements. I'll report back in once we've figured out where and when it will officially land on the roadmap.

@mmkal
Copy link

mmkal commented Oct 15, 2024

While we wait for an official solution - I also ended up building a solution for this, which is hopefully quite close to what the builtin offering from GitHub will be. You can try it right now: https://artifact.ci

How it works:

  • GitHub app is installed
  • It listens for GitHub webhook events
  • When there are artifacts uploaded with this action, add a link via GitHub checks, which will render the artifacts in the browser

I'm using this IRL already on my repos, here's an example of what the GitHub Check looks like with vitest HTML output: https://github.com/mmkal/expect-type/runs/31567129309

The origin story is also pretty similar I suspect, I needed this for myself for another project, so I built it, then polished it a bit to make it (hopefully) easy to use for others.

The code is open source, the GitHub repo is linked from the homepage. It's an app deployed to Vercel using Supabase storage.

Feedback is very welcome!

@trungleduc
Copy link

trungleduc commented Oct 30, 2024

Hello all, I also built another solution for rendering artifacts, my app is just a static page and does not require a backend to handle the artifact downloading or serving of the assets so there is no limit on usage. You can try it now at https://appsharing.space/static-app

To make it work, you also need to install this GitHub App to your repository https://github.com/apps/appsharing-space

Here is an example of playwright report rendered by appsharing.space: https://appsharing.space/static-app?url=https://github.com/jupytercad/JupyterCAD/actions/runs/11598959467/artifacts/2124638065&indexPath=playwright-report/index.html

Same as the above tool, I needed it for my project, here is an example of my workflow to comment the preview link to PRs https://github.com/jupytercad/JupyterCAD/blob/main/.github/workflows/comment-on-pr.yml.

Hope this can help others.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request UI
Projects
None yet
Development

No branches or pull requests