From 07330b9bf9cd3d8fa017d13f67076af00710372d Mon Sep 17 00:00:00 2001 From: Rohan Deb Sarkar Date: Sun, 10 Jul 2022 10:34:16 +0530 Subject: [PATCH] Adds support `max_author_limit` (#732) * Adds support max author limit * typo * fix * display all authors by default * Added an example * Added 'and' before the last author * Improve hiding/showing more authors * Add title text Co-authored-by: Maruan Al-Shedivat Co-authored-by: Maruan --- _bibliography/papers.bib | 8 ++++++ _config.yml | 6 ++++- _data/coauthors.yml | 16 ++++++++++++ _layouts/bib.html | 53 ++++++++++++++++++++++++++++++++++++---- _pages/publications.md | 2 +- _sass/_base.scss | 9 +++++++ 6 files changed, 87 insertions(+), 7 deletions(-) diff --git a/_bibliography/papers.bib b/_bibliography/papers.bib index 20da7686f527..7e93bba29b0c 100644 --- a/_bibliography/papers.bib +++ b/_bibliography/papers.bib @@ -71,3 +71,11 @@ @article{einstein1905electrodynamics author={Einstein, A.}, year={1905} } + +@book{przibram1967letters, + bibtex_show={true}, + title={Letters on wave mechanics}, + author={Einstein, Albert and Schrödinger, Erwin and Planck, Max and Lorentz, Hendrik Antoon and Przibram, Karl}, + year={1967}, + publisher={Vision} +} diff --git a/_config.yml b/_config.yml index 9e23f1ab8bc5..ba85977562d9 100644 --- a/_config.yml +++ b/_config.yml @@ -234,7 +234,11 @@ scholar: query: "@*" -filtered_bibtex_keywords: [abbr, abstract, arxiv, bibtex_show, html, pdf, selected, supp, blog, code, poster, slides, website, preview] # Filter out certain bibtex entry keywords used internally from the bib output +# Filter out certain bibtex entry keywords used internally from the bib output +filtered_bibtex_keywords: [abbr, abstract, arxiv, bibtex_show, html, pdf, selected, supp, blog, code, poster, slides, website, preview] + +# Maximum number of authors to be shown, other authors will be visible on hover, leave blank to show all authors +max_author_limit: 3 # ----------------------------------------------------------------------------- # Responsive WebP Images diff --git a/_data/coauthors.yml b/_data/coauthors.yml index 0c1c954a395b..8ed521248d81 100644 --- a/_data/coauthors.yml +++ b/_data/coauthors.yml @@ -16,3 +16,19 @@ - firstname: ["Carl Philipp Emanuel", "C. P. E."] url: https://en.wikipedia.org/wiki/Carl_Philipp_Emanuel_Bach + +"Przibram": + - firstname: ["Karl"] + url: https://link.springer.com/article/10.1007/s00016-019-00242-z + +"Schrödinger": + - firstname: ["Erwin"] + url: https://en.wikipedia.org/wiki/Erwin_Schr%C3%B6dinger + +"Lorentz": + - firstname: ["Hendrik Antoon"] + url: https://en.wikipedia.org/wiki/Hendrik_Lorentz + +"Planck": + - firstname: ["Max"] + url: https://en.wikipedia.org/wiki/Max_Planck diff --git a/_layouts/bib.html b/_layouts/bib.html index f0d7fce64568..716fe866a8f4 100644 --- a/_layouts/bib.html +++ b/_layouts/bib.html @@ -27,9 +27,17 @@
{{entry.title}}
- {%- for author in entry.author_array -%} + {% assign author_array_size = entry.author_array | size %} + + {%- if site.max_author_limit and author_array_size > site.max_author_limit %} + {% assign author_array_limit = site.max_author_limit %} + {% else %} + {% assign author_array_limit = author_array_size %} + {% endif %} + + {%- for author in entry.author_array limit: author_array_limit -%} {%- assign author_is_self = false -%} - {%- if author.last == site.scholar.last_name%} + {%- if author.last == site.scholar.last_name %} {%- if site.scholar.first_name contains author.first -%} {%- assign author_is_self = true -%} {%- endif -%} @@ -62,18 +70,53 @@ {%- endif -%} {%- endif -%} {%- else -%} + {%- if author_array_limit == author_array_size %} and {% endif %} {% if author_is_self -%} - and {{author.last}}, {{author.first}} + {{author.last}}, {{author.first}} {% else -%} {%- if coauthor_url -%} - and {{author.last}}, {{author.first}} + {{author.last}}, {{author.first}} {% else -%} - and {{author.last}}, {{author.first}} + {{author.last}}, {{author.first}} {%- endif -%} {%- endif -%} {%- endunless -%} {%- endif -%} {%- endfor %} + + {% assign more_authors = author_array_size | minus: author_array_limit %} + + {%- if more_authors > 0 %} + {% assign more_authors_hide = more_authors | append: " more author" %} + {% if more_authors > 1 %} + {% assign more_authors_hide = more_authors_hide | append: "s" %} + {% endif %} + {% assign more_authors_show = '' %} + {%- for author in entry.author_array offset: author_array_limit -%} + {% assign more_authors_show = more_authors_show | append: author.last | append: ", " | append: author.first %} + {% unless forloop.last %} + {% assign more_authors_show = more_authors_show | append: ", " %} + {% endunless %} + {%- endfor -%} + and + {{more_authors_hide}} + {% endif %} +
diff --git a/_pages/publications.md b/_pages/publications.md index fa76cd4975e6..5a370a726c68 100644 --- a/_pages/publications.md +++ b/_pages/publications.md @@ -3,7 +3,7 @@ layout: page permalink: /publications/ title: publications description: publications by categories in reversed chronological order. generated by jekyll-scholar. -years: [1956, 1950, 1935, 1905] +years: [1967, 1956, 1950, 1935, 1905] nav: true nav_order: 1 --- diff --git a/_sass/_base.scss b/_sass/_base.scss index f30547a68d3e..887eb9c11ab2 100644 --- a/_sass/_base.scss +++ b/_sass/_base.scss @@ -519,6 +519,15 @@ footer.sticky-bottom { border-bottom: 1px solid; font-style: normal; } + > span.more-authors { + color: var(--global-text-color-light); + border-bottom: 1px dashed var(--global-text-color-light); + cursor: pointer; + &:hover { + color: var(--global-text-color); + border-bottom: 1px dashed var(--global-text-color); + } + } } .links { a.btn {