From 7c2a85c3513fc59b3aa363de9af02bed2adf2f18 Mon Sep 17 00:00:00 2001 From: George Cushen Date: Mon, 4 Feb 2019 22:14:28 +0000 Subject: [PATCH] feat: improve listings - link author profile pages in listings - display author name (rather than username) in metadata - refactor `list_format` to `view` and use new consistent mappings - add `citation_style` in `params.toml` - re-order Accomplishments widget in Demo - make params/comments more consistent in all widget front matter - Author page: don't show username if profile exists as that will already show the user's display name - Publication card: move author and publication name to metadata bar to be consistent with other listings - Remove portrait.jpg from static as it was duplicated for Demo author BREAKING CHANGES: See issue below. See #909 --- exampleSite/config/_default/params.toml | 30 ++++----- exampleSite/content/author/admin/_index.md | 19 +----- exampleSite/content/home/about.md | 1 - exampleSite/content/home/accomplishments.md | 2 +- exampleSite/content/home/contact.md | 5 +- exampleSite/content/home/hero.md | 5 +- exampleSite/content/home/hero_carousel.md | 5 +- exampleSite/content/home/posts.md | 11 ++-- exampleSite/content/home/projects.md | 12 ++-- exampleSite/content/home/publications.md | 18 +++--- .../content/home/publications_featured.md | 20 +++--- exampleSite/content/home/skills.md | 10 +-- exampleSite/content/home/tags.md | 5 +- exampleSite/content/home/talks.md | 15 +++-- exampleSite/content/home/talks_featured.md | 15 +++-- exampleSite/content/home/teaching.md | 5 +- exampleSite/content/post/_index.md | 11 ++-- exampleSite/content/publication/_index.md | 14 ++--- exampleSite/content/talk/_index.md | 11 ++-- i18n/en.yaml | 6 +- layouts/author/list.html | 10 ++- layouts/partials/css/academic.css | 34 +++-------- layouts/partials/page_header.html | 7 +-- layouts/partials/page_metadata.html | 27 +++++---- layouts/partials/page_metadata_authors.html | 23 +++++++ ...ost_li_detailed.html => post_li_card.html} | 0 ...st_li_stream.html => post_li_compact.html} | 0 ...{post_li_simple.html => post_li_list.html} | 0 ...ct_li_simple.html => project_li_list.html} | 0 layouts/partials/publication_li_apa.html | 16 ----- ...detailed.html => publication_li_card.html} | 20 +----- layouts/partials/publication_li_citation.html | 35 +++++++++++ ...tream.html => publication_li_compact.html} | 4 +- ...i_simple.html => publication_li_list.html} | 4 +- layouts/partials/publication_li_mla.html | 16 ----- ...alk_li_detailed.html => talk_li_card.html} | 0 ...lk_li_stream.html => talk_li_compact.html} | 0 ...{talk_li_simple.html => talk_li_list.html} | 0 layouts/partials/widgets/posts.html | 31 +++++----- layouts/partials/widgets/projects.html | 6 +- layouts/partials/widgets/publications.html | 57 +++++++++--------- .../widgets/publications_featured.html | 16 +++-- layouts/partials/widgets/talks.html | 36 +++++------ layouts/partials/widgets/talks_featured.html | 10 +-- layouts/project/single.html | 28 ++++----- layouts/section/post.html | 10 +-- layouts/section/publication.html | 16 +++-- layouts/section/talk.html | 10 +-- static/img/portrait.jpg | Bin 12861 -> 0 bytes 49 files changed, 293 insertions(+), 343 deletions(-) create mode 100644 layouts/partials/page_metadata_authors.html rename layouts/partials/{post_li_detailed.html => post_li_card.html} (100%) rename layouts/partials/{post_li_stream.html => post_li_compact.html} (100%) rename layouts/partials/{post_li_simple.html => post_li_list.html} (100%) rename layouts/partials/{project_li_simple.html => project_li_list.html} (100%) delete mode 100644 layouts/partials/publication_li_apa.html rename layouts/partials/{publication_li_detailed.html => publication_li_card.html} (62%) create mode 100644 layouts/partials/publication_li_citation.html rename layouts/partials/{publication_li_stream.html => publication_li_compact.html} (92%) rename layouts/partials/{publication_li_simple.html => publication_li_list.html} (79%) delete mode 100644 layouts/partials/publication_li_mla.html rename layouts/partials/{talk_li_detailed.html => talk_li_card.html} (100%) rename layouts/partials/{talk_li_stream.html => talk_li_compact.html} (100%) rename layouts/partials/{talk_li_simple.html => talk_li_list.html} (100%) delete mode 100644 static/img/portrait.jpg diff --git a/exampleSite/config/_default/params.toml b/exampleSite/config/_default/params.toml index c99a108a..d8ca5cd2 100644 --- a/exampleSite/config/_default/params.toml +++ b/exampleSite/config/_default/params.toml @@ -131,27 +131,19 @@ sharing = true # Examples: "Mon, Jan 2, 2006" or "2006-01-02" date_format = "January 2006" + # Citation style ("apa" or "mla") + citation_style = "apa" + # Configuration of project pages. [projects] - # Post list format. - # 0 = Simple - # 1 = Detailed - # 2 = Stream - post_format = 2 - - # Publication list format. - # 0 = Simple - # 1 = Detailed - # 2 = APA - # 3 = MLA - # 4 = Stream - publication_format = 4 - - # Talk list format. - # 0 = Simple - # 1 = Detailed - # 2 = Stream - talk_format = 2 + # Views for associated content. + # 1: List + # 2: Compact + # 3: Card + # 4: Citation (publications only) + post_view = 2 + publication_view = 4 + talk_view = 2 # Search. [search] diff --git a/exampleSite/content/author/admin/_index.md b/exampleSite/content/author/admin/_index.md index b15df05b..c1e2a992 100644 --- a/exampleSite/content/author/admin/_index.md +++ b/exampleSite/content/author/admin/_index.md @@ -42,22 +42,9 @@ interests = [ year = 2008 # Social/Academic Networking -# -# Icon pack "fab" includes the following social network icons: -# -# twitter, weibo, linkedin, github, facebook, pinterest, google-plus, -# youtube, instagram, soundcloud -# -# For email icon, use "fas" icon pack, "envelope" icon, and -# "mailto:your@email.com" as the link. -# -# Full list: https://fontawesome.com/icons -# -# Icon pack "ai" includes the following academic icons: -# -# cv, google-scholar, arxiv, orcid, researchgate, mendeley -# -# Full list: https://jpswalsh.github.io/academicons/ +# For available icons, see: https://sourcethemes.com/academic/docs/widgets/#icons +# For an email link, use "fas" icon pack, "envelope" icon, and a link in the +# form "mailto:your-email@example.com" or "#contact" for contact widget. [[social]] icon = "envelope" diff --git a/exampleSite/content/home/about.md b/exampleSite/content/home/about.md index 9284093d..cdc6a6d3 100644 --- a/exampleSite/content/home/about.md +++ b/exampleSite/content/home/about.md @@ -3,7 +3,6 @@ widget = "about" # Do not modify this line! active = true # Activate this widget? true/false weight = 5 # Order that this section will appear in. -date = 2016-04-20T00:00:00 title = "Biography" diff --git a/exampleSite/content/home/accomplishments.md b/exampleSite/content/home/accomplishments.md index e829b103..0c8463bb 100644 --- a/exampleSite/content/home/accomplishments.md +++ b/exampleSite/content/home/accomplishments.md @@ -7,7 +7,7 @@ title = "Accomplish­ments" subtitle = "" # Order that this section will appear in. -weight = 15 +weight = 9 # Date format # Refer to https://sourcethemes.com/academic/docs/customization/#date-format diff --git a/exampleSite/content/home/contact.md b/exampleSite/content/home/contact.md index d8e684c7..bc63b2ae 100644 --- a/exampleSite/content/home/contact.md +++ b/exampleSite/content/home/contact.md @@ -1,8 +1,7 @@ +++ # Contact widget. -widget = "contact" -active = true -date = 2016-04-20T00:00:00 +widget = "contact" # Do not modify this line! +active = true # Activate this widget? true/false title = "Contact" subtitle = "" diff --git a/exampleSite/content/home/hero.md b/exampleSite/content/home/hero.md index 0c0bbff9..a12c8249 100644 --- a/exampleSite/content/home/hero.md +++ b/exampleSite/content/home/hero.md @@ -1,8 +1,7 @@ +++ # Hero widget. -widget = "hero" -active = true -date = 2017-10-15T00:00:00 +widget = "hero" # Do not modify this line! +active = true # Activate this widget? true/false title = "Academic" diff --git a/exampleSite/content/home/hero_carousel.md b/exampleSite/content/home/hero_carousel.md index e9902207..e9b23986 100644 --- a/exampleSite/content/home/hero_carousel.md +++ b/exampleSite/content/home/hero_carousel.md @@ -1,8 +1,7 @@ +++ # Hero Carousel widget. -widget = "hero_carousel" -active = false -date = 2017-10-15T00:00:00 +widget = "hero_carousel" # Do not modify this line! +active = false # Activate this widget? true/false # Order that this section will appear in. weight = 1 diff --git a/exampleSite/content/home/posts.md b/exampleSite/content/home/posts.md index e4d85897..97db3a5c 100644 --- a/exampleSite/content/home/posts.md +++ b/exampleSite/content/home/posts.md @@ -4,7 +4,6 @@ widget = "posts" # Do not modify this line! active = true # Activate this widget? true/false weight = 40 # Order that this section will appear. -date = 2016-04-20T00:00:00 title = "Recent Posts" subtitle = "" @@ -12,11 +11,11 @@ subtitle = "" # Number of recent posts to list. count = 5 -# List format. -# 0 = Simple -# 1 = Detailed -# 2 = Stream -list_format = 2 +# View. +# 1 = List +# 2 = Compact +# 3 = Card +view = 2 # Filter posts by tag or category. # E.g. to only show posts tagged with `Academic`, set `filter_tag = "Academic"` diff --git a/exampleSite/content/home/projects.md b/exampleSite/content/home/projects.md index 4927f634..19281c3b 100644 --- a/exampleSite/content/home/projects.md +++ b/exampleSite/content/home/projects.md @@ -1,8 +1,7 @@ +++ # Projects widget. -widget = "projects" -active = true -date = 2016-04-20T00:00:00 +widget = "projects" # Do not modify this line! +active = true # Activate this widget? true/false title = "Projects" subtitle = "" @@ -16,9 +15,10 @@ weight = 50 folder = "project" # View. -# Customize how projects are displayed. -# Legend: 0 = list, 1 = cards, 2 = showcase. -view = 1 +# 1 = List +# 3 = Card +# 5 = Showcase +view = 3 # Widget layout # Legend: 0 = two columns (default), 1 = single column diff --git a/exampleSite/content/home/publications.md b/exampleSite/content/home/publications.md index 8a4760d2..27b91c3c 100644 --- a/exampleSite/content/home/publications.md +++ b/exampleSite/content/home/publications.md @@ -1,9 +1,8 @@ +++ # Recent Publications widget. # This widget displays recent publications from `content/publication/`. -widget = "publications" -active = true -date = 2016-04-20T00:00:00 +widget = "publications" # Do not modify this line! +active = true # Activate this widget? true/false title = "Recent Publications" subtitle = "" @@ -14,13 +13,12 @@ weight = 20 # Number of publications to list. count = 10 -# List format. -# 0 = Simple -# 1 = Detailed -# 2 = APA -# 3 = MLA -# 4 = Stream -list_format = 4 +# View. +# 1 = List +# 2 = Compact +# 3 = Card +# 4 = Citation +view = 2 # Filter by publication type. # -1: Any diff --git a/exampleSite/content/home/publications_featured.md b/exampleSite/content/home/publications_featured.md index 2b6839f2..68ef514d 100644 --- a/exampleSite/content/home/publications_featured.md +++ b/exampleSite/content/home/publications_featured.md @@ -1,10 +1,9 @@ +++ # Featured Publications widget. # This widget displays publications from `content/publication/` which have -# `featured = true` in their `+++` front matter. -widget = "publications_featured" -active = true -date = 2016-04-20T00:00:00 +# `featured = true` in their front matter. +widget = "publications_featured" # Do not modify this line! +active = true # Activate this widget? true/false title = "Featured Publications" subtitle = "" @@ -12,13 +11,12 @@ subtitle = "" # Order that this section will appear in. weight = 10 -# List format. -# 0 = Simple -# 1 = Detailed -# 2 = APA -# 3 = MLA -# 4 = Stream -list_format = 1 +# View. +# 1 = List +# 2 = Compact +# 3 = Card +# 4 = Citation +view = 3 # Filter by publication type. # -1: Any diff --git a/exampleSite/content/home/skills.md b/exampleSite/content/home/skills.md index 6fe72e51..015ac24c 100644 --- a/exampleSite/content/home/skills.md +++ b/exampleSite/content/home/skills.md @@ -1,10 +1,7 @@ +++ # Feature/Skill widget. widget = "featurette" # Do not modify this line! -date = 2017-09-20T00:00:00 - -# Activate this widget? true/false -active = true +active = true # Activate this widget? true/false title = "Skills" subtitle = "" @@ -16,10 +13,7 @@ weight = 7 # # Add/remove as many `[[feature]]` blocks below as you like. # -# Available icon packs and icons: -# * fas - Font Awesome standard icons (see https://fontawesome.com/icons) -# * fab - Font Awesome brand icons (see https://fontawesome.com/icons) -# * ai - academic icons (see https://jpswalsh.github.io/academicons/) +# For available icons, see: https://sourcethemes.com/academic/docs/widgets/#icons [[feature]] icon = "r-project" diff --git a/exampleSite/content/home/tags.md b/exampleSite/content/home/tags.md index 5ac0755a..84a59667 100644 --- a/exampleSite/content/home/tags.md +++ b/exampleSite/content/home/tags.md @@ -1,8 +1,7 @@ +++ # Tag Cloud widget. -widget = "tag_cloud" -active = true -date = 2017-09-20T00:00:00 +widget = "tag_cloud" # Do not modify this line! +active = true # Activate this widget? true/false title = "Tags" subtitle = "" diff --git a/exampleSite/content/home/talks.md b/exampleSite/content/home/talks.md index 37ec9c3f..b76ac36a 100644 --- a/exampleSite/content/home/talks.md +++ b/exampleSite/content/home/talks.md @@ -1,8 +1,7 @@ +++ # Recent and Upcoming Talks widget. -widget = "talks" -active = true -date = 2016-04-20T00:00:00 +widget = "talks" # Do not modify this line! +active = true # Activate this widget? true/false title = "Recent & Upcoming Talks" subtitle = "" @@ -13,11 +12,11 @@ weight = 30 # Number of talks to list. count = 10 -# List format. -# 0 = Simple -# 1 = Detailed -# 2 = Stream -list_format = 2 +# View. +# 1 = List +# 2 = Compact +# 3 = Card +view = 2 # Exclude talks that are shown in the Featured Talks widget? exclude_featured = false diff --git a/exampleSite/content/home/talks_featured.md b/exampleSite/content/home/talks_featured.md index 30846179..b02b5e34 100644 --- a/exampleSite/content/home/talks_featured.md +++ b/exampleSite/content/home/talks_featured.md @@ -1,8 +1,7 @@ +++ # Featured Talks widget. -widget = "talks_featured" -active = false -date = 2016-04-20T00:00:00 +widget = "talks_featured" # Do not modify this line! +active = false # Activate this widget? true/false title = "Featured Talks" subtitle = "" @@ -10,9 +9,9 @@ subtitle = "" # Order that this section will appear in. weight = 29 -# List format. -# 0 = Simple -# 1 = Detailed -# 3 = Stream -list_format = 0 +# View. +# 1 = List +# 2 = Compact +# 3 = Card +view = 3 +++ diff --git a/exampleSite/content/home/teaching.md b/exampleSite/content/home/teaching.md index 23a110cd..3394864f 100644 --- a/exampleSite/content/home/teaching.md +++ b/exampleSite/content/home/teaching.md @@ -2,9 +2,8 @@ # Custom widget. # An example of using the custom widget to create your own homepage section. # To create more sections, duplicate this file and edit the values below as desired. -widget = "custom" -active = true -date = 2016-04-20T00:00:00 +widget = "custom" # Do not modify this line! +active = true # Activate this widget? true/false # Note: a full width section format can be enabled by commenting out the `title` and `subtitle` with a `#`. title = "Teaching" diff --git a/exampleSite/content/post/_index.md b/exampleSite/content/post/_index.md index 196690b8..026a4b4b 100644 --- a/exampleSite/content/post/_index.md +++ b/exampleSite/content/post/_index.md @@ -1,12 +1,11 @@ +++ title = "Posts" -date = 2017-01-01T00:00:00 -# List format. -# 0 = Simple -# 1 = Detailed -# 2 = Stream -list_format = 2 +# View. +# 1 = List +# 2 = Compact +# 3 = Card +view = 2 # Optional featured image (relative to `static/img/` folder). [header] diff --git a/exampleSite/content/publication/_index.md b/exampleSite/content/publication/_index.md index 22984353..bc92542c 100644 --- a/exampleSite/content/publication/_index.md +++ b/exampleSite/content/publication/_index.md @@ -1,14 +1,12 @@ +++ title = "Publications" -date = 2017-01-01T00:00:00 -# List format. -# 0 = Simple -# 1 = Detailed -# 2 = APA -# 3 = MLA -# 4 = Stream -list_format = 3 +# View. +# 1 = List +# 2 = Compact +# 3 = Card +# 4 = Citation +view = 4 # Optional featured image (relative to `static/img/` folder). [header] diff --git a/exampleSite/content/talk/_index.md b/exampleSite/content/talk/_index.md index 1bd2ab2c..2758568d 100644 --- a/exampleSite/content/talk/_index.md +++ b/exampleSite/content/talk/_index.md @@ -1,12 +1,11 @@ +++ title = "Recent & Upcoming Talks" -date = 2017-01-01T00:00:00 -# List format. -# 0 = Simple -# 1 = Detailed -# 2 = Stream -list_format = 2 +# View. +# 1 = List +# 2 = Compact +# 3 = Card +view = 2 # Optional featured image (relative to `static/img/` folder). [header] diff --git a/i18n/en.yaml b/i18n/en.yaml index 37cb2097..36036355 100644 --- a/i18n/en.yaml +++ b/i18n/en.yaml @@ -88,7 +88,7 @@ # Publications widget - id: more_publications - translation: More Publications + translation: See all publications # Posts widget @@ -96,12 +96,12 @@ translation: CONTINUE READING - id: more_posts - translation: More Posts + translation: See all posts # Talks widget - id: more_talks - translation: More Talks + translation: See all talks # Contact widget diff --git a/layouts/author/list.html b/layouts/author/list.html index ea5c40f8..6abcc011 100644 --- a/layouts/author/list.html +++ b/layouts/author/list.html @@ -1,8 +1,14 @@ {{ partial "header.html" . }} {{ partial "navbar.html" . }} -{{ partial "page_header.html" . }} -
+{{/* Just display author name as title if user profile unavailable. */}} +{{ if not ($.Site.GetPage (printf "/author/%s" (urlize .Title))) }} +
+

{{ .Title }}

+
+{{ end }} + +
{{/* Only show About widget if a profile has been configured for this user. */}} {{ $widget := "widgets/about.html" }} diff --git a/layouts/partials/css/academic.css b/layouts/partials/css/academic.css index c97ff411..44a9dd67 100644 --- a/layouts/partials/css/academic.css +++ b/layouts/partials/css/academic.css @@ -522,6 +522,15 @@ a[data-fancybox] img { color: #b2b2b2; } +/************************************************* + * Widgets (common) + **************************************************/ + +.see-all { + margin-top: 2rem; + text-transform: uppercase; +} + /************************************************* * Hero Widget **************************************************/ @@ -600,7 +609,7 @@ a[data-fancybox] img { } /************************************************* - * Biography + * About widget **************************************************/ #profile { @@ -1069,11 +1078,6 @@ article .article-metadata { margin-right: auto; } -.pub .pub-authors { - font-style: italic; - line-height: 30px; /* Match share bar line height. */ -} - .pub-row-heading { font-weight: bold; } @@ -1082,24 +1086,6 @@ article .article-metadata { font-size: 1rem; } -.pub-list-item .pub-authors { - line-height: normal; - font-style: normal; - font-size: 0.9rem; - color: rgba(0,0,0,0.54); -} - -.pub-list-item .pub-publication { - color: rgba(0,0,0,0.54); - font-size: 0.9rem; -} - - -.dark .pub-authors, -.dark .pub-publication { - color: rgba(255,255,255,0.54); -} - .pub-list-item .btn-links { padding-top: 10px; } diff --git a/layouts/partials/page_header.html b/layouts/partials/page_header.html index f4ee60ad..cd2b641f 100644 --- a/layouts/partials/page_header.html +++ b/layouts/partials/page_header.html @@ -47,7 +47,7 @@

{{ . | markdownify | emojify }}

{{end}} - {{ partial "page_metadata" (dict "content" $page "is_list" 1) }} + {{ partial "page_metadata" (dict "content" $page "is_list" 0) }} {{ partial "page_links_div.html" $page }} @@ -70,8 +70,7 @@

{{ . | markdownify | emojify }}

{{end}} - {{ partial "page_metadata" (dict "content" $page "is_list" 0) }} - + {{ partial "page_metadata" (dict "content" $page "is_list" 0 "share" true) }} {{ partial "page_links_div.html" $page }}
{{else}} @@ -90,7 +89,7 @@ {{end}} {{ if not .IsNode }} - {{ partial "page_metadata" (dict "content" $page "is_list" 0) }} + {{ partial "page_metadata" (dict "content" $page "is_list" 0 "share" true) }} {{ partial "page_links_div.html" $page }} {{end}} diff --git a/layouts/partials/page_metadata.html b/layouts/partials/page_metadata.html index 0f1ce7d2..568c0590 100644 --- a/layouts/partials/page_metadata.html +++ b/layouts/partials/page_metadata.html @@ -1,4 +1,5 @@ {{ $is_list := .is_list }} +{{ $share := .share | default false }} {{ $ := .content }} @@ -11,16 +12,7 @@ {{ $authorLen := len $.Params.authors }} {{ if gt $authorLen 0 }}
- {{ range $k, $v := $.Params.authors -}} - - {{- if lt $k (sub $authorLen 1) -}}, {{ end }} - {{ end }} + {{ partial "page_metadata_authors" $ }}
{{ end }} {{ end }} @@ -39,6 +31,17 @@ {{ end }} + {{ if and (eq $is_list 1) (eq $.Type "publication") }} + + + {{ if $.Params.publication_short }} + {{ $.Params.publication_short | markdownify }} + {{ else if $.Params.publication }} + {{ $.Params.publication | markdownify }} + {{ end }} + + {{ end }} + {{ if and (eq $.Type "post") (not (or (eq $.Site.Params.reading_time false) (eq $.Params.reading_time false))) }} @@ -66,8 +69,8 @@ {{ end }} {{ end }} - {{ if ne $is_list 1 }} - {{ partial "share.html" $ }} + {{ if $share }} + {{ partial "share.html" $ }} {{ end }} diff --git a/layouts/partials/page_metadata_authors.html b/layouts/partials/page_metadata_authors.html new file mode 100644 index 00000000..ba0c0e74 --- /dev/null +++ b/layouts/partials/page_metadata_authors.html @@ -0,0 +1,23 @@ +{{/* If `authors` is set and is not empty. */}} +{{ if $.Params.authors }} +{{ $authorLen := len $.Params.authors }} +{{ if gt $authorLen 0 }} + {{ range $k, $v := $.Params.authors -}} + + {{- if lt $k (sub $authorLen 1) -}}, {{ end }} + {{ end }} +{{ end }} +{{ end }} diff --git a/layouts/partials/post_li_detailed.html b/layouts/partials/post_li_card.html similarity index 100% rename from layouts/partials/post_li_detailed.html rename to layouts/partials/post_li_card.html diff --git a/layouts/partials/post_li_stream.html b/layouts/partials/post_li_compact.html similarity index 100% rename from layouts/partials/post_li_stream.html rename to layouts/partials/post_li_compact.html diff --git a/layouts/partials/post_li_simple.html b/layouts/partials/post_li_list.html similarity index 100% rename from layouts/partials/post_li_simple.html rename to layouts/partials/post_li_list.html diff --git a/layouts/partials/project_li_simple.html b/layouts/partials/project_li_list.html similarity index 100% rename from layouts/partials/project_li_simple.html rename to layouts/partials/project_li_list.html diff --git a/layouts/partials/publication_li_apa.html b/layouts/partials/publication_li_apa.html deleted file mode 100644 index cc91cdce..00000000 --- a/layouts/partials/publication_li_apa.html +++ /dev/null @@ -1,16 +0,0 @@ -
- - - ({{- .Date.Format "2006" -}}). - {{ .Title }}. - {{ if .Params.publication_short }} - {{- .Params.publication_short | markdownify -}}. - {{ else if .Params.publication }} - {{- .Params.publication | markdownify -}}. - {{ end }} -

{{ partial "page_links" (dict "content" . "is_list" 1) }}

-
diff --git a/layouts/partials/publication_li_detailed.html b/layouts/partials/publication_li_card.html similarity index 62% rename from layouts/partials/publication_li_detailed.html rename to layouts/partials/publication_li_card.html index 563815f0..454d26cb 100644 --- a/layouts/partials/publication_li_detailed.html +++ b/layouts/partials/publication_li_card.html @@ -1,4 +1,5 @@
+ {{ partial "page_metadata" (dict "content" $ "is_list" 1) }} {{ $resource := (.Resources.ByType "image").GetMatch "*featured*" }} {{ $anchor := .Params.image.focal_point | default "Smart" }} @@ -17,27 +18,12 @@
{{ if .Params.abstract_short }} - {{ .Params.abstract_short | markdownify }} + {{ .Params.abstract_short | markdownify }} {{ else }} - {{ .Params.abstract | markdownify}} + {{ .Params.abstract | markdownify}} {{ end }}
- - -
- {{ if .Params.publication_short }} - {{ .Params.publication_short | markdownify }}, - {{ else if .Params.publication }} - {{ .Params.publication | markdownify }}, - {{ end }} - {{ .Date.Format "2006" }} -
- diff --git a/layouts/partials/publication_li_citation.html b/layouts/partials/publication_li_citation.html new file mode 100644 index 00000000..b33b0d0a --- /dev/null +++ b/layouts/partials/publication_li_citation.html @@ -0,0 +1,35 @@ +
+ + + {{/* APA Style */}} + {{ if eq ($.Site.Params.publications.citation_style | default "apa") "apa" }} + + + ({{- .Date.Format "2006" -}}). + {{ .Title }}. + {{ if .Params.publication_short }} + {{- .Params.publication_short | markdownify -}}. + {{ else if .Params.publication }} + {{- .Params.publication | markdownify -}}. + {{ end }} +

{{ partial "page_links" (dict "content" . "is_list" 1) }}

+ + {{/* MLA Style */}} + {{ else }} + + . + {{ .Title }}. + {{ if .Params.publication_short }} + {{- .Params.publication_short | markdownify -}}, + {{ else if .Params.publication }} + {{- .Params.publication | markdownify -}}, + {{ end }} + {{- .Date.Format "2006" -}}. +

{{ partial "page_links" (dict "content" . "is_list" 1) }}

+ + {{ end }} +
diff --git a/layouts/partials/publication_li_stream.html b/layouts/partials/publication_li_compact.html similarity index 92% rename from layouts/partials/publication_li_stream.html rename to layouts/partials/publication_li_compact.html index 59472d5a..abd47cfb 100644 --- a/layouts/partials/publication_li_stream.html +++ b/layouts/partials/publication_li_compact.html @@ -21,9 +21,7 @@ diff --git a/layouts/partials/publication_li_simple.html b/layouts/partials/publication_li_list.html similarity index 79% rename from layouts/partials/publication_li_simple.html rename to layouts/partials/publication_li_list.html index 62573d8e..25f92cf4 100644 --- a/layouts/partials/publication_li_simple.html +++ b/layouts/partials/publication_li_list.html @@ -2,9 +2,7 @@ {{ .Title }}

{{ partial "page_links" (dict "content" . "is_list" 1) }}

diff --git a/layouts/partials/publication_li_mla.html b/layouts/partials/publication_li_mla.html deleted file mode 100644 index a8a47955..00000000 --- a/layouts/partials/publication_li_mla.html +++ /dev/null @@ -1,16 +0,0 @@ -
- - . - {{ .Title }}. - {{ if .Params.publication_short }} - {{- .Params.publication_short | markdownify -}}, - {{ else if .Params.publication }} - {{- .Params.publication | markdownify -}}, - {{ end }} - {{- .Date.Format "2006" -}}. -

{{ partial "page_links" (dict "content" . "is_list" 1) }}

-
diff --git a/layouts/partials/talk_li_detailed.html b/layouts/partials/talk_li_card.html similarity index 100% rename from layouts/partials/talk_li_detailed.html rename to layouts/partials/talk_li_card.html diff --git a/layouts/partials/talk_li_stream.html b/layouts/partials/talk_li_compact.html similarity index 100% rename from layouts/partials/talk_li_stream.html rename to layouts/partials/talk_li_compact.html diff --git a/layouts/partials/talk_li_simple.html b/layouts/partials/talk_li_list.html similarity index 100% rename from layouts/partials/talk_li_simple.html rename to layouts/partials/talk_li_list.html diff --git a/layouts/partials/widgets/posts.html b/layouts/partials/widgets/posts.html index 69a9807c..5e66d329 100644 --- a/layouts/partials/widgets/posts.html +++ b/layouts/partials/widgets/posts.html @@ -13,37 +13,36 @@ {{ $query = $query | intersect $archive_page.Pages }} {{ end }} -{{ $count := len ($query) }} +{{ $count := len $query }}
-

{{ with $page.Title }}{{ . | markdownify }}{{ end }}

{{ with $page.Params.subtitle }}

{{ . | markdownify }}

{{ end }} - {{ if gt $count $page.Params.count }} -

- - {{ i18n "more_posts" | markdownify }} - - -

- {{ end }} -
{{ with $page.Content }}

{{ . | markdownify }}

{{ end }} {{ range $post := first $page.Params.count $query }} - {{ if eq $page.Params.list_format 0 }} - {{ partial "post_li_simple" . }} - {{ else if eq $page.Params.list_format 1 }} - {{ partial "post_li_detailed" . }} + {{ if eq $page.Params.view 1 }} + {{ partial "post_li_list" . }} + {{ else if eq $page.Params.view 3 }} + {{ partial "post_li_card" . }} {{ else }} - {{ partial "post_li_stream" . }} + {{ partial "post_li_compact" . }} {{ end }} {{end}} + {{ if gt $count $page.Params.count }} + + {{ end }} +
diff --git a/layouts/partials/widgets/projects.html b/layouts/partials/widgets/projects.html index ca140e4a..1693b810 100644 --- a/layouts/partials/widgets/projects.html +++ b/layouts/partials/widgets/projects.html @@ -71,9 +71,9 @@ {{ $link = $item.Params.external_link }} {{ $target = "target=\"_blank\" rel=\"noopener\"" }} {{ end }} - {{ if eq $page.Params.view 0 }} - {{ partial "project_li_simple" (dict "widget" $page "index" $idx "item" $item "link" $link "target" $target) }} - {{ else if eq $page.Params.view 1 }} + {{ if eq $page.Params.view 1 }} + {{ partial "project_li_list" (dict "widget" $page "index" $idx "item" $item "link" $link "target" $target) }} + {{ else if eq $page.Params.view 3 }} {{ partial "project_li_card" (dict "widget" $page "index" $idx "item" $item "link" $link "target" $target) }} {{ else }} {{ partial "project_li_showcase" (dict "widget" $page "index" $idx "item" $item "link" $link "target" $target) }} diff --git a/layouts/partials/widgets/publications.html b/layouts/partials/widgets/publications.html index 5426e20b..28a04d46 100644 --- a/layouts/partials/widgets/publications.html +++ b/layouts/partials/widgets/publications.html @@ -1,48 +1,45 @@ {{ $ := .root }} {{ $page := .page }} -{{ $pubs_len := len (where $.Site.RegularPages "Type" "publication") }} + +{{ $query := where $.Site.RegularPages "Type" "publication" }} +{{ if and ($page.Params.publication_type) (ne $page.Params.publication_type "-1") }} + {{ $query = where $query ".Params.publication_types" "intersect" (slice $page.Params.publication_type) }} +{{ end }} +{{ if $page.Params.exclude_featured }} + {{ $query = $query | intersect (where (where $.Site.RegularPages "Type" "publication") ".Params.featured" "!=" true) }} +{{ end }} + +{{ $count := len $query }}

{{ with $page.Title }}{{ . | markdownify }}{{ end }}

{{ with $page.Params.subtitle }}

{{ . | markdownify }}

{{ end }} - {{ if gt $pubs_len $page.Params.count }} -

- - {{ i18n "more_publications" | markdownify }} - - -

- {{ end }}
{{ with $page.Content }}

{{ . | markdownify }}

{{ end }} - {{ if and ($page.Params.publication_type) (ne $page.Params.publication_type "-1") }} - {{ $.Scratch.Set "recent_pubs" (where (where $.Site.RegularPages "Type" "publication") ".Params.publication_types" "intersect" (slice $page.Params.publication_type)) }} - {{ else }} - {{ $.Scratch.Set "recent_pubs" (where $.Site.RegularPages "Type" "publication") }} - {{ end }} - - {{ if $page.Params.exclude_featured }} - {{ $.Scratch.Set "recent_pubs" ( ($.Scratch.Get "recent_pubs") | intersect (where (where $.Site.RegularPages "Type" "publication") ".Params.featured" "!=" true) ) }} - {{ end }} - - {{ $recent_pubs := $.Scratch.Get "recent_pubs" }} - {{ range first $page.Params.count $recent_pubs }} - {{ if eq $page.Params.list_format 1 }} - {{ partial "publication_li_detailed" . }} - {{ else if eq $page.Params.list_format 2 }} - {{ partial "publication_li_apa" . }} - {{ else if eq $page.Params.list_format 3 }} - {{ partial "publication_li_mla" . }} - {{ else if eq $page.Params.list_format 4 }} - {{ partial "publication_li_stream" . }} + {{ range first $page.Params.count $query }} + {{ if eq $page.Params.view 1 }} + {{ partial "publication_li_list" . }} + {{ else if eq $page.Params.view 3 }} + {{ partial "publication_li_card" . }} + {{ else if eq $page.Params.view 4 }} + {{ partial "publication_li_citation" . }} {{ else }} - {{ partial "publication_li_simple" . }} + {{ partial "publication_li_compact" . }} {{ end }} {{ end }} + {{ if gt $count $page.Params.count }} + + {{ end }} +
diff --git a/layouts/partials/widgets/publications_featured.html b/layouts/partials/widgets/publications_featured.html index f62e2dfe..c7158beb 100644 --- a/layouts/partials/widgets/publications_featured.html +++ b/layouts/partials/widgets/publications_featured.html @@ -18,16 +18,14 @@ {{ $sel_pubs := $.Scratch.Get "sel_pubs" }} {{ range $sel_pubs }} - {{ if eq $page.Params.list_format 1 }} - {{ partial "publication_li_detailed" . }} - {{ else if eq $page.Params.list_format 2 }} - {{ partial "publication_li_apa" . }} - {{ else if eq $page.Params.list_format 3 }} - {{ partial "publication_li_mla" . }} - {{ else if eq $page.Params.list_format 4 }} - {{ partial "publication_li_stream" . }} + {{ if eq $page.Params.view 1 }} + {{ partial "publication_li_list" . }} + {{ else if eq $page.Params.view 3 }} + {{ partial "publication_li_card" . }} + {{ else if eq $page.Params.view 4 }} + {{ partial "publication_li_citation" . }} {{ else }} - {{ partial "publication_li_simple" . }} + {{ partial "publication_li_compact" . }} {{ end }} {{ end }} diff --git a/layouts/partials/widgets/talks.html b/layouts/partials/widgets/talks.html index fe79b923..8db286f2 100644 --- a/layouts/partials/widgets/talks.html +++ b/layouts/partials/widgets/talks.html @@ -1,39 +1,41 @@ {{ $ := .root }} {{ $page := .page }} -{{ $talks_len := len (where $.Site.RegularPages "Type" "talk") }} +{{ $count := len (where $.Site.RegularPages "Type" "talk") }}

{{ with $page.Title }}{{ . | markdownify }}{{ end }}

{{ with $page.Params.subtitle }}

{{ . | markdownify }}

{{ end }} - {{ if gt $talks_len $page.Params.count }} -

- - {{ i18n "more_talks" | markdownify }} - - -

- {{ end }}
{{ with $page.Content }}

{{ . | markdownify }}

{{ end }} - {{ $.Scratch.Set "talks" (where $.Site.RegularPages "Type" "talk") }} + {{ $talks := where $.Site.RegularPages "Type" "talk" }} {{/* Exclude talks shown in Featured Talks widget? */}} {{ if $page.Params.exclude_featured }} - {{ $.Scratch.Set "talks" (where ($.Scratch.Get "talks") ".Params.featured" "!=" true) }} + {{ $talks = (where $talks ".Params.featured" "!=" true) }} {{ end }} - {{ range first $page.Params.count (sort ($.Scratch.Get "talks") ".Params.time_start" "desc") }} - {{ if eq $page.Params.list_format 1 }} - {{ partial "talk_li_detailed" . }} - {{ else if eq $page.Params.list_format 2 }} - {{ partial "talk_li_stream" . }} + {{ range first $page.Params.count (sort $talks ".Params.time_start" "desc") }} + {{ if eq $page.Params.view 1 }} + {{ partial "talk_li_list" . }} + {{ else if eq $page.Params.view 3 }} + {{ partial "talk_li_card" . }} {{ else }} - {{ partial "talk_li_simple" . }} + {{ partial "talk_li_compact" . }} {{ end }} {{ end }} + + {{ if gt $count $page.Params.count }} + + {{ end }} +
diff --git a/layouts/partials/widgets/talks_featured.html b/layouts/partials/widgets/talks_featured.html index 2837ce30..6788e5b0 100644 --- a/layouts/partials/widgets/talks_featured.html +++ b/layouts/partials/widgets/talks_featured.html @@ -11,12 +11,12 @@ {{ with $page.Content }}

{{ . | markdownify }}

{{ end }} {{ range (sort (where (where $.Site.RegularPages "Type" "talk") ".Params.featured" true) ".Params.time_start" "desc") }} - {{ if eq $page.Params.list_format 1 }} - {{ partial "talk_li_detailed" . }} - {{ else if eq $page.Params.list_format 2 }} - {{ partial "talk_li_stream" . }} + {{ if eq $page.Params.view 1 }} + {{ partial "talk_li_list" . }} + {{ else if eq $page.Params.view 3 }} + {{ partial "talk_li_card" . }} {{ else }} - {{ partial "talk_li_simple" . }} + {{ partial "talk_li_compact" . }} {{ end }} {{ end }} diff --git a/layouts/project/single.html b/layouts/project/single.html index 7a1b7cf8..8b9b9695 100644 --- a/layouts/project/single.html +++ b/layouts/project/single.html @@ -22,12 +22,12 @@ {{ if ge $count 1 }}

{{ (i18n "posts") }}

{{ range $items }} - {{ if eq $page.Site.Params.projects.post_format 0 }} - {{ partial "post_li_simple" . }} - {{ else if eq $page.Site.Params.projects.post_format 1 }} - {{ partial "post_li_detailed" . }} + {{ if eq $page.Site.Params.projects.post_format 1 }} + {{ partial "post_li_list" . }} + {{ else if eq $page.Site.Params.projects.post_format 3 }} + {{ partial "post_li_card" . }} {{ else }} - {{ partial "post_li_stream" . }} + {{ partial "post_li_compact" . }} {{ end }} {{ end }} {{ end }} @@ -38,15 +38,13 @@

{{ (i18n "publications") }}

{{ range $items }} {{ if eq $page.Site.Params.projects.publication_format 1 }} - {{ partial "publication_li_detailed" . }} - {{ else if eq $page.Site.Params.projects.publication_format 2 }} - {{ partial "publication_li_apa" . }} + {{ partial "publication_li_list" . }} {{ else if eq $page.Site.Params.projects.publication_format 3 }} - {{ partial "publication_li_mla" . }} + {{ partial "publication_li_card" . }} {{ else if eq $page.Site.Params.projects.publication_format 4 }} - {{ partial "publication_li_stream" . }} + {{ partial "publication_li_citation" . }} {{ else }} - {{ partial "publication_li_simple" . }} + {{ partial "publication_li_compact" . }} {{ end }} {{ end }} {{ end }} @@ -57,11 +55,11 @@

{{ (i18n "talks") }}

{{ range sort $items ".Params.time_start" "desc" }} {{ if eq $page.Site.Params.projects.talk_format 1 }} - {{ partial "talk_li_detailed" . }} - {{ else if eq $page.Site.Params.projects.talk_format 2 }} - {{ partial "talk_li_stream" . }} + {{ partial "talk_li_list" . }} + {{ else if eq $page.Site.Params.projects.talk_format 3 }} + {{ partial "talk_li_card" . }} {{ else }} - {{ partial "talk_li_simple" . }} + {{ partial "talk_li_compact" . }} {{ end }} {{ end }} {{ end }} diff --git a/layouts/section/post.html b/layouts/section/post.html index ce3c7480..10adb21e 100644 --- a/layouts/section/post.html +++ b/layouts/section/post.html @@ -11,12 +11,12 @@ {{ $paginator := .Paginate .Data.Pages }} {{ range $paginator.Pages }} - {{ if eq $.Params.list_format 0 }} - {{ partial "post_li_simple" . }} - {{ else if eq $.Params.list_format 1 }} - {{ partial "post_li_detailed" . }} + {{ if eq $.Params.view 1 }} + {{ partial "post_li_list" . }} + {{ else if eq $.Params.view 3 }} + {{ partial "post_li_card" . }} {{ else }} - {{ partial "post_li_stream" . }} + {{ partial "post_li_compact" . }} {{ end }} {{ end }} diff --git a/layouts/section/publication.html b/layouts/section/publication.html index 602388ae..53a6e7ab 100644 --- a/layouts/section/publication.html +++ b/layouts/section/publication.html @@ -58,16 +58,14 @@ {{ end }}
- {{ if eq $.Params.list_format 1 }} - {{ partial "publication_li_detailed" . }} - {{ else if eq $.Params.list_format 2 }} - {{ partial "publication_li_apa" . }} - {{ else if eq $.Params.list_format 3 }} - {{ partial "publication_li_mla" . }} - {{ else if eq $.Params.list_format 4 }} - {{ partial "publication_li_stream" . }} + {{ if eq $.Params.view 1 }} + {{ partial "publication_li_list" . }} + {{ else if eq $.Params.view 3 }} + {{ partial "publication_li_card" . }} + {{ else if eq $.Params.view 4 }} + {{ partial "publication_li_citation" . }} {{ else }} - {{ partial "publication_li_simple" . }} + {{ partial "publication_li_compact" . }} {{ end }}
diff --git a/layouts/section/talk.html b/layouts/section/talk.html index d21948a4..a544583e 100644 --- a/layouts/section/talk.html +++ b/layouts/section/talk.html @@ -19,12 +19,12 @@
{{ range sort .Pages ".Params.time_start" "desc" }} - {{ if eq $.Params.list_format 1 }} - {{ partial "talk_li_detailed" . }} - {{ else if eq $.Params.list_format 2 }} - {{ partial "talk_li_stream" . }} + {{ if eq $.Params.view 1 }} + {{ partial "talk_li_list" . }} + {{ else if eq $.Params.view 3 }} + {{ partial "talk_li_card" . }} {{ else }} - {{ partial "talk_li_simple" . }} + {{ partial "talk_li_compact" . }} {{ end }} {{ end }} diff --git a/static/img/portrait.jpg b/static/img/portrait.jpg deleted file mode 100644 index d1361fd8e04ebc7d46ebea699097347f792c01c7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12861 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 R2Yj{%{Fm{i3>@4Y_#Zm~%l`lX