Add Talks feature and widgets (#63)

This commit is contained in:
ymcrcat 2016-12-13 16:11:04 -08:00 committed by gcushen
commit bddf9c07bb
9 changed files with 267 additions and 0 deletions

10
archetypes/talk.md Normal file
View file

@ -0,0 +1,10 @@
+++
math = false
title = ""
abstract = ""
abstract_short = ""
selected = false
url_pdf = ""
url_slides = ""
url_video = ""
+++

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

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

View 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 }}

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

View 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
View 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
View 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" . }}

View file

@ -491,6 +491,16 @@ article {
padding-top: 10px;
}
/*************************************************
* Talks
**************************************************/
.talk-event {
color: #090;
font-size: 1rem;
}
/*************************************************
* Projects
**************************************************/