mirror of
https://github.com/gcushen/hugo-academic.git
synced 2025-07-26 03:00:50 +02:00
Add Talks feature and widgets (#63)
This commit is contained in:
parent
d4fb286cfd
commit
bddf9c07bb
9 changed files with 267 additions and 0 deletions
10
archetypes/talk.md
Normal file
10
archetypes/talk.md
Normal file
|
@ -0,0 +1,10 @@
|
|||
+++
|
||||
math = false
|
||||
title = ""
|
||||
abstract = ""
|
||||
abstract_short = ""
|
||||
selected = false
|
||||
url_pdf = ""
|
||||
url_slides = ""
|
||||
url_video = ""
|
||||
+++
|
30
layouts/partials/talk_li_detailed.html
Normal file
30
layouts/partials/talk_li_detailed.html
Normal file
|
@ -0,0 +1,30 @@
|
|||
<div class="pub-list-item" itemscope itemtype="http://schema.org/CreativeWork">
|
||||
<div class="row">
|
||||
|
||||
<h3 class="article-title" itemprop="name">
|
||||
<a href="{{ .Permalink }}" itemprop="url">{{ .Title }}</a>
|
||||
</h3>
|
||||
|
||||
<div class="talk-abstract" itemprop="text">
|
||||
{{ if .Params.abstract_short }}
|
||||
{{ .Params.abstract_short }}
|
||||
{{ else }}
|
||||
{{ .Params.abstract }}
|
||||
{{ end }}
|
||||
</div>
|
||||
|
||||
<div class="talk-event">
|
||||
{{ if .Params.event }}
|
||||
{{ .Params.event | markdownify }}
|
||||
{{ else if .Params.event_short }}
|
||||
{{ .Params.event_short | markdownify }}
|
||||
{{ end }}
|
||||
</div>
|
||||
|
||||
<div class="talk-links">
|
||||
{{ partial "talk_links" (dict "content" . "is_list" 1) }}
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
12
layouts/partials/talk_li_simple.html
Normal file
12
layouts/partials/talk_li_simple.html
Normal file
|
@ -0,0 +1,12 @@
|
|||
<li itemscope itemtype="http://schema.org/CreativeWork">
|
||||
<i class="fa-li fa fa-file-text-o pub-icon" aria-hidden="true"></i>
|
||||
<span itemprop="name">{{ .Title }}</span>
|
||||
<div class="talk-event">
|
||||
{{ if .Params.event_short }}
|
||||
{{ .Params.event_short | markdownify }}
|
||||
{{ else if .Params.event }}
|
||||
{{ .Params.event | markdownify }}
|
||||
{{ end }}
|
||||
</div>
|
||||
<p>{{ partial "talk_links" (dict "content" . "is_list" 1) }}</p>
|
||||
</li>
|
28
layouts/partials/talk_links.html
Normal file
28
layouts/partials/talk_links.html
Normal file
|
@ -0,0 +1,28 @@
|
|||
{{ $is_list := .is_list }}
|
||||
{{ $ := .content }}
|
||||
|
||||
{{ if $is_list }}
|
||||
<a class="btn btn-primary btn-outline btn-xs" href="{{ $.Permalink }}">
|
||||
Details
|
||||
</a>
|
||||
{{ end }}
|
||||
{{ with $.Params.url_pdf }}
|
||||
<a class="btn btn-primary btn-outline{{ if $is_list }} btn-xs{{end}}" href="{{ . | absURL }}">
|
||||
PDF
|
||||
</a>
|
||||
{{ end }}
|
||||
{{ with $.Params.url_slides }}
|
||||
<a class="btn btn-primary btn-outline{{ if $is_list }} btn-xs{{end}}" href="{{ . | absURL }}">
|
||||
Slides
|
||||
</a>
|
||||
{{ end }}
|
||||
{{ with $.Params.url_video }}
|
||||
<a class="btn btn-primary btn-outline{{ if $is_list }} btn-xs{{end}}" href="{{ . | absURL }}">
|
||||
Video
|
||||
</a>
|
||||
{{ end }}
|
||||
{{ range $.Params.url_custom }}
|
||||
<a class="btn btn-primary btn-outline{{ if $is_list }} btn-xs{{end}}" href="{{ .url | absURL }}">
|
||||
{{ .name }}
|
||||
</a>
|
||||
{{ end }}
|
35
layouts/partials/widgets/talks.html
Normal file
35
layouts/partials/widgets/talks.html
Normal file
|
@ -0,0 +1,35 @@
|
|||
{{ $ := .root }}
|
||||
{{ $page := .page }}
|
||||
{{ $talks_len := len (where $.Data.Pages "Type" "talk") }}
|
||||
|
||||
<!-- Talks widget -->
|
||||
<div class="row">
|
||||
<div class="col-xs-12 col-md-4 section-heading">
|
||||
<h1>{{ with $page.Title }}{{ . | markdownify }}{{ end }}</h1>
|
||||
{{ with $page.Params.subtitle }}<p>{{ . | markdownify }}</p>{{ end }}
|
||||
{{ if gt $talks_len $page.Params.count }}
|
||||
<p class="view-all">
|
||||
<a href="{{ $.Site.BaseURL }}talk/">
|
||||
{{ with $page.Params.str_all }}{{ . | markdownify }}{{ end }}
|
||||
<i class="fa fa-angle-double-right"></i>
|
||||
</a>
|
||||
</p>
|
||||
{{ end }}
|
||||
</div>
|
||||
<div class="col-xs-12 col-md-8">
|
||||
{{ with $page.Content }}<p>{{ . | markdownify }}</p>{{ end }}
|
||||
|
||||
{{ if $page.Params.detailed_list }}
|
||||
{{ range first $page.Params.count (where $.Data.Pages "Type" "talk") }}
|
||||
{{ partial "talk_li_detailed" . }}
|
||||
{{ end }}
|
||||
{{ else }}
|
||||
<ul class="fa-ul">
|
||||
{{ range first $page.Params.count (where $.Data.Pages "Type" "talk") }}
|
||||
{{ partial "talk_li_simple" . }}
|
||||
{{ end }}
|
||||
</ul>
|
||||
{{ end }}
|
||||
|
||||
</div>
|
||||
</div>
|
26
layouts/partials/widgets/talks_selected.html
Normal file
26
layouts/partials/widgets/talks_selected.html
Normal file
|
@ -0,0 +1,26 @@
|
|||
{{ $ := .root }}
|
||||
{{ $page := .page }}
|
||||
|
||||
<!-- Selected Talks widget -->
|
||||
<div class="row">
|
||||
<div class="col-xs-12 col-md-4 section-heading">
|
||||
<h1>{{ with $page.Title }}{{ . | markdownify }}{{ end }}</h1>
|
||||
{{ with $page.Params.subtitle }}<p>{{ . | markdownify }}</p>{{ end }}
|
||||
</div>
|
||||
<div class="col-xs-12 col-md-8">
|
||||
{{ with $page.Content }}<p>{{ . | markdownify }}</p>{{ end }}
|
||||
|
||||
{{ if $page.Params.detailed_list }}
|
||||
{{ range (where (where $.Data.Pages "Type" "talk") ".Params.selected" true) }}
|
||||
{{ partial "talk_li_detailed" . }}
|
||||
{{ end }}
|
||||
{{ else }}
|
||||
<ul class="fa-ul">
|
||||
{{ range (where (where $.Data.Pages "Type" "talk") ".Params.selected" true) }}
|
||||
{{ partial "talk_li_simple" . }}
|
||||
{{ end }}
|
||||
</ul>
|
||||
{{ end }}
|
||||
|
||||
</div>
|
||||
</div>
|
35
layouts/section/talk.html
Normal file
35
layouts/section/talk.html
Normal file
|
@ -0,0 +1,35 @@
|
|||
{{ partial "header.html" . }}
|
||||
{{ partial "navbar.html" . }}
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<h1>Talks</h1>
|
||||
|
||||
{{ range .Data.Pages.GroupByDate "2006" }}
|
||||
<div class="row" id="talk_list">
|
||||
<div class="col-md-2">
|
||||
<h3>{{ .Key }}</h3>
|
||||
</div>
|
||||
<div class="col-md-10">
|
||||
<ul class="compact fa-ul">
|
||||
|
||||
{{ range .Pages.ByDate.Reverse }}
|
||||
<li>
|
||||
<i class="fa-li fa fa-file-text-o" aria-hidden="true"
|
||||
style="color:#03396c;font-size:80%;padding-top:6px;"></i>
|
||||
{{ .Title }}
|
||||
<p>{{ partial "talk_links" (dict "content" . "is_list" 1) }}</p>
|
||||
</li>
|
||||
{{ end }}
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
{{ end }}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
{{ partial "footer_container.html" . }}
|
||||
{{ partial "footer.html" . }}
|
81
layouts/talk/single.html
Normal file
81
layouts/talk/single.html
Normal file
|
@ -0,0 +1,81 @@
|
|||
{{ partial "header.html" . }}
|
||||
{{ partial "navbar.html" . }}
|
||||
<div class="container">
|
||||
|
||||
<div class="pub" itemscope itemtype="http://schema.org/CreativeWork">
|
||||
<div class="pub-title">
|
||||
<h1 itemprop="name">{{ .Title }}</h1>
|
||||
<span class="pub-authors" itemprop="author">
|
||||
{{ with .Params.authors }}
|
||||
{{ delimit . ", " }}
|
||||
{{ end }}
|
||||
</span>
|
||||
<span class="pull-right">
|
||||
{{ partial "share.html" . }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
{{ if .Params.image }}
|
||||
<img src="{{ $.Site.BaseURL }}img/{{ .Params.image }}" class="pub-banner" itemprop="image">
|
||||
{{end}}
|
||||
|
||||
{{ if .Params.abstract }}
|
||||
<h3>Abstract</h3>
|
||||
<p class="pub-abstract" itemprop="text">{{ .Params.abstract }}</p>
|
||||
{{ else }}
|
||||
<br>
|
||||
{{ end }}
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-1"></div>
|
||||
<div class="col-sm-10">
|
||||
<div class="row">
|
||||
<div class="col-xs-12 col-sm-3 pub-row-heading">Event</div>
|
||||
<div class="col-xs-12 col-sm-9">{{ .Params.event | markdownify }}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-1"></div>
|
||||
</div>
|
||||
<div class="visible-xs space-below"></div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-1"></div>
|
||||
<div class="col-sm-10">
|
||||
<div class="row">
|
||||
<div class="col-xs-12 col-sm-3 pub-row-heading">Date</div>
|
||||
<div class="col-xs-12 col-sm-9" itemprop="datePublished">
|
||||
{{ .Date.Format "January, 2006" }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-1"></div>
|
||||
</div>
|
||||
<div class="visible-xs space-below"></div>
|
||||
|
||||
<div class="row" style="padding-top: 10px">
|
||||
<div class="col-sm-1"></div>
|
||||
<div class="col-sm-10">
|
||||
<div class="row">
|
||||
<div class="col-xs-12 col-sm-3 pub-row-heading" style="line-height:34px;">Links</div>
|
||||
<div class="col-xs-12 col-sm-9">
|
||||
|
||||
{{ partial "publication_links" (dict "content" . "is_list" 0) }}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-1"></div>
|
||||
</div>
|
||||
<div class="visible-xs space-below"></div>
|
||||
|
||||
<div class="space-below"></div>
|
||||
|
||||
<div class="article-style">{{ .Content }}</div>
|
||||
|
||||
</div>
|
||||
|
||||
{{ partial "section_pager.html" . }}
|
||||
|
||||
</div>
|
||||
{{ partial "footer_container.html" . }}
|
||||
{{ partial "footer.html" . }}
|
|
@ -491,6 +491,16 @@ article {
|
|||
padding-top: 10px;
|
||||
}
|
||||
|
||||
|
||||
/*************************************************
|
||||
* Talks
|
||||
**************************************************/
|
||||
|
||||
.talk-event {
|
||||
color: #090;
|
||||
font-size: 1rem;
|
||||
}
|
||||
|
||||
/*************************************************
|
||||
* Projects
|
||||
**************************************************/
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue