Skip to content

Commit 351f663

Browse files
committed
Merge branch 'al-folio-main'
2 parents 1f9e2b2 + 039027e commit 351f663

File tree

8 files changed

+325
-195
lines changed

8 files changed

+325
-195
lines changed

CUSTOMIZE.md

Lines changed: 120 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,15 @@ Note that throughout the [README.md](README.md) and [CUSTOMIZE.md](CUSTOMIZE.md)
2525
- [Key Integration Points](#key-integration-points)
2626
- [Modifying the CV information](#modifying-the-cv-information)
2727
- [Modifying the user and repository information](#modifying-the-user-and-repository-information)
28+
- [Configuring external service URLs](#configuring-external-service-urls)
2829
- [Creating new pages](#creating-new-pages)
2930
- [Creating new blog posts](#creating-new-blog-posts)
3031
- [Creating new projects](#creating-new-projects)
3132
- [Adding some news](#adding-some-news)
3233
- [Adding Collections](#adding-collections)
34+
- [Creating a new collection](#creating-a-new-collection)
35+
- [Using frontmatter fields in your collection](#using-frontmatter-fields-in-your-collection)
36+
- [Collections with categories and tags](#collections-with-categories-and-tags)
3337
- [Adding a new publication](#adding-a-new-publication)
3438
- [Author annotation](#author-annotation)
3539
- [Buttons (through custom bibtex keywords)](#buttons-through-custom-bibtex-keywords)
@@ -278,6 +282,30 @@ What this means is, if there is no resume data defined in [\_config.yml](_config
278282

279283
The user and repository information is defined in [\_data/repositories.yml](_data/repositories.yml). You can add as many users and repositories as you want. Both informations are used in the `repositories` section.
280284

285+
### Configuring external service URLs
286+
287+
The repository page uses external services to display GitHub statistics and trophies. By default, these are:
288+
289+
- `github-readme-stats.vercel.app` for user stats and repository cards
290+
- `github-profile-trophy.vercel.app` for GitHub profile trophies
291+
292+
**Important:** These default services are hosted by third parties and may not be available 100% of the time. For better reliability, privacy, and customization, you can self-host these services and configure your website to use your own instances.
293+
294+
To use your own instances of these services, configure the URLs in [\_config.yml](_config.yml):
295+
296+
```yaml
297+
external_services:
298+
github_readme_stats_url: https://github-readme-stats.vercel.app
299+
github_profile_trophy_url: https://github-profile-trophy.vercel.app
300+
```
301+
302+
To self-host these services, follow the deployment instructions in their respective repositories:
303+
304+
- [github-readme-stats](https://github.com/anuraghazra/github-readme-stats)
305+
- [github-profile-trophy](https://github.com/ryo-ma/github-profile-trophy)
306+
307+
Once deployed, update the URLs above to point to your custom deployment.
308+
281309
## Creating new pages
282310
283311
You can create new pages by adding new Markdown files in the [\_pages](_pages/) directory. The easiest way to do this is to copy an existing page and modify it. You can choose the layout of the page by changing the [layout](https://jekyllrb.com/docs/layouts/) attribute in the [frontmatter](https://jekyllrb.com/docs/front-matter/) of the Markdown file, and also the path to access it by changing the [permalink](https://jekyllrb.com/docs/permalinks/) attribute. You can also add new layouts in the [\_layouts](_layouts/) directory if you feel the need for it. To have the page be displayed for different languages, simply create one markdown file with the same name in each language. It is possible to [use different permalinks per language](https://github.com/untra/polyglot?tab=readme-ov-file#using-different-permalinks-per-language) if you want to.
@@ -300,19 +328,105 @@ You can add news in the about page by adding new Markdown files in the [\_news/L
300328

301329
## Adding Collections
302330

303-
This Jekyll theme implements [collections](https://jekyllrb.com/docs/collections/) to let you break up your work into categories. The theme comes with three default collections: `news`, `projects`, and `books`. Items from the `news` collection are automatically displayed on the home page, while items from the `projects` collection are displayed on a responsive grid on projects page and items from the `books` collection are displayed on its own `bookshelf` page inside `submenus`.
331+
This Jekyll theme implements [collections](https://jekyllrb.com/docs/collections/) to let you break up your work into categories. The theme comes with three default collections: `news`, `projects`, and `books`. Items from the `news` collection are automatically displayed on the home page, while items from the `projects` collection are displayed on a responsive grid on the projects page, and items from the `books` collection are displayed on its own `bookshelf` page inside `submenus`.
332+
333+
You can easily create your own collections for any type of content—teaching materials, courses, apps, short stories, or whatever suits your needs.
334+
335+
### Creating a new collection
336+
337+
To create a new collection, follow these steps. We will create a `teaching` collection, but you can replace `teaching` with any name you prefer:
338+
339+
1. **Add the collection to `_config.yml`**
340+
341+
Open the `collections` section in [\_config.yml](_config.yml) and add your new collection:
342+
343+
```yaml
344+
collections:
345+
news:
346+
defaults:
347+
layout: post
348+
output: true
349+
projects:
350+
output: true
351+
teaching:
352+
output: true
353+
permalink: /teaching/:path/
354+
```
355+
356+
- `output: true` makes the collection items accessible as separate pages
357+
- `permalink` defines the URL path for each collection item (`:path` is replaced with the filename)
358+
- Note: You can customize the [permalink structure](https://jekyllrb.com/docs/permalinks/#collections) as needed. If not set, it uses `/COLLECTION_NAME/:name/`.
359+
360+
2. **Create a folder for your collection items**
361+
362+
Create a new folder in the root directory with an underscore prefix, matching your collection name. For a `teaching` collection, create `_teaching/`:
304363

305-
You can easily create your own collections, apps, short stories, courses, or whatever your creative work is. To do this, edit the collections in the [\_config.yml](_config.yml) file, create a corresponding folder, and create a landing page for your collection, similar to [\_pages/LANG/projects.md](_pages/en-us/projects.md).
364+
```text
365+
_teaching/
366+
├── course_1.md
367+
├── course_2.md
368+
└── course_3.md
369+
```
370+
371+
3. **Create a landing page for your collection**
372+
373+
Add a Markdown file in `_pages/` (e.g., `teaching.md`) that will serve as the main page for your collection. You can use [\_pages/projects.md](_pages/projects.md) or [\_pages/books.md](_pages/books.md) as a template and adapt it for your needs.
374+
375+
In your landing page, access your collection using the `site.COLLECTION_NAME` variable:
376+
377+
```liquid
378+
{% assign teaching_items = site.teaching | sort: 'date' | reverse %}
379+
380+
{% for item in teaching_items %}
381+
<h3>{{ item.title }}</h3>
382+
<p>{{ item.content }}</p>
383+
{% endfor %}
384+
```
385+
386+
Replace `COLLECTION_NAME` with your actual collection name (e.g., `site.teaching`).
387+
388+
4. **Add a link to your collection page**
389+
390+
Update [\_pages/dropdown.md](_pages/dropdown.md) or the navigation configuration in [\_config.yml](_config.yml) to add a menu link to your new page.
391+
392+
5. **Create collection items**
393+
394+
Add Markdown files in your new collection folder (e.g., `_teaching/`) with appropriate frontmatter and content.
395+
396+
For more information regarding collections, check [Jekyll official documentation](https://jekyllrb.com/docs/collections/) and [step-by=step guide](https://jekyllrb.com/docs/step-by-step/09-collections/).
397+
398+
### Using frontmatter fields in your collection
399+
400+
When creating items in your collection, you can define custom frontmatter fields and use them in your landing page. For example:
401+
402+
```markdown
403+
---
404+
layout: page
405+
title: Introduction to Research Methods
406+
importance: 1
407+
category: methods
408+
---
409+
410+
Course description and content here...
411+
```
412+
413+
Then in your landing page template:
414+
415+
```liquid
416+
{% if item.category == 'methods' %}
417+
<span class="badge">{{ item.category }}</span>
418+
{% endif %}
419+
```
306420

307-
If you wish to create a collection with support for categories and tags, like the blog posts, you just need to add this collection to the `jekyll-archives` section of your [\_config.yml](_config.yml) file. You can check how this is done with the `books` collection. For more information about customizing the archives section or creating your own archives page, check the [jekyll-archives-v2 documentation](https://george-gca.github.io/jekyll-archives-v2/).
421+
### Collections with categories and tags
308422

309-
To access the collections, you can use the `site.COLLECTION_NAME` variable in your templates.
423+
If you want to add category and tag support (like the blog posts have), you need to configure the `jekyll-archives` section in [\_config.yml](_config.yml). See how this is done with the `books` collection for reference. For more details, check the [jekyll-archives-v2 documentation](https://george-gca.github.io/jekyll-archives-v2/).
310424

311425
## Adding a new publication
312426

313427
To add publications create a new entry in the [\_bibliography/papers.bib](_bibliography/papers.bib) file. You can find the BibTeX entry of a publication in Google Scholar by clicking on the quotation marks below the publication title, then clicking on "BibTeX", or also in the conference page itself. By default, the publications will be sorted by year and the most recent will be displayed first. You can change this behavior and more in the `Jekyll Scholar` section in [\_config.yml](_config.yml) file.
314428

315-
You can add extra information to a publication, like a PDF file in the `assets/pdfs/` directory and add the path to the PDF file in the BibTeX entry with the `pdf` field. Some of the supported fields are: `abstract`, `altmetric`, `annotation`, `arxiv`, `bibtex_show`, `blog`, `code`, `dimensions`, `doi`, `eprint`, `html`, `isbn`, `pdf`, `pmid`, `poster`, `slides`, `supp`, `video`, and `website`.
429+
You can add extra information to a publication, like a PDF file in the `assets/pdfs/` directory and add the path to the PDF file in the BibTeX entry with the `pdf` field. Some of the supported fields are: `abstract`, `altmetric`, `annotation`, `arxiv`, `bibtex_show`, `blog`, `code`, `dimensions`, `doi`, `eprint`, `hal`, `html`, `isbn`, `pdf`, `pmid`, `poster`, `slides`, `supp`, `video`, and `website`.
316430

317431
### Author annotation
318432

@@ -362,6 +476,7 @@ There are several custom bibtex keywords that you can use to affect how the entr
362476
- `blog`: Adds a "Blog" button redirecting to the specified link
363477
- `code`: Adds a "Code" button redirecting to the specified link
364478
- `dimensions`: Adds a [Dimensions](https://www.dimensions.ai/) badge (Note: if DOI or PMID is provided just use `true`, otherwise only add the Dimensions' identifier here - the link is generated automatically)
479+
- `hal`: Adds a link to the HAL website (Note: only add the hal identifier (hal-xxx or tel-xxx) here - the link is generated automatically)
365480
- `html`: Inserts an "HTML" button redirecting to the user-specified link
366481
- `pdf`: Adds a "PDF" button redirecting to a specified file (if a full link is not specified, the file will be assumed to be placed in the /assets/pdf/ directory)
367482
- `poster`: Adds a "Poster" button redirecting to a specified file (if a full link is not specified, the file will be assumed to be placed in the /assets/pdf/ directory)

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,6 @@ Feel free to add your own page(s) by sending a PR.
134134
<a href="https://shubhashisroydipta.com/" target="_blank">★</a>
135135
<a href="https://astanziola.github.io" target="_blank">★</a>
136136
<a href="https://tinkerer.in" target="_blank">★</a>
137-
<a href="https://sam-bieberich.github.io/" target="_blank">★</a>
138137
<a href="https://afraniomelo.github.io/en/" target="_blank">★</a>
139138
<a href="https://jonaruthardt.github.io" target="_blank">★</a>
140139
<a href="https://www.zla.app/" target="_blank">★</a>
@@ -180,6 +179,8 @@ Feel free to add your own page(s) by sending a PR.
180179
<a href="https://zlatanajanovic.com/" target="_blank">★</a>
181180
<a href="https://mchadolias.github.io/" target="_blank">★</a>
182181
<a href="https://syanyong.github.io/" target="_blank">★</a>
182+
<a href="https://jucheval.github.io/" target="_blank">★</a>
183+
<a href="https://j1yoo.github.io/" target="_blank">★</a>
183184
</td>
184185
</tr>
185186
<tr>

_config.yml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,13 @@ repo_trophies:
2727
theme_light: flat # https://github.com/ryo-ma/github-profile-trophy
2828
theme_dark: gitdimmed # https://github.com/ryo-ma/github-profile-trophy
2929

30+
# External service URLs for repository page
31+
# To use a different instance or service for displaying GitHub stats and trophies,
32+
# update these URLs. These are used in the repository templates.
33+
external_services:
34+
github_readme_stats_url: https://github-readme-stats.vercel.app
35+
github_profile_trophy_url: https://github-profile-trophy.vercel.app
36+
3037
# -----------------------------------------------------------------------------
3138
# RSS Feed
3239
# -----------------------------------------------------------------------------
@@ -319,10 +326,14 @@ filtered_bibtex_keywords:
319326
bibtex_show,
320327
blog,
321328
code,
329+
dimensions,
330+
eprint,
322331
google_scholar_id,
332+
hal,
323333
html,
324334
inspirehep_id,
325335
pdf,
336+
pmid,
326337
poster,
327338
preview,
328339
selected,

0 commit comments

Comments
 (0)