add theme

This commit is contained in:
Carl Pearson
2017-07-18 17:40:37 -04:00
parent 04a0a49b78
commit c86ae95ea6
105 changed files with 5367 additions and 2 deletions

View File

@@ -0,0 +1,41 @@
{{ $is_list := .is_list }}
{{ $ := .content }}
<div class="article-metadata">
<span class="article-date">
<time datetime="{{ $.Date }}" itemprop="datePublished">
{{ $.Date.Format $.Site.Params.date_format }}
</time>
</span>
{{ if isset $.Params "categories" }}
{{ $categoriesLen := len $.Params.categories }}
{{ if gt $categoriesLen 0 }}
<span class="article-categories">
<i class="fa fa-folder"></i>
{{ range $k, $v := $.Params.categories }}
<a href="{{ "/categories/" | relLangURL }}{{ . | urlize | lower }}">{{ . }}</a
>{{ if lt $k (sub $categoriesLen 1) }}, {{ end }}
{{ end }}
</span>
{{ end }}
{{ end }}
{{ if isset $.Params "tags" }}
{{ $tagsLen := len $.Params.tags }}
{{ if gt $tagsLen 0 }}
<span class="article-tags">
<i class="fa fa-tags"></i>
{{ range $k, $v := $.Params.tags }}
<a href="{{ "/tags/" | relLangURL }}{{ . | urlize | lower }}">{{ . }}</a
>{{ if lt $k (sub $tagsLen 1) }}, {{ end }}
{{ end }}
</span>
{{ end }}
{{ end }}
{{ if ne $is_list 1 }}
{{ partial "share.html" $ }}
{{ end }}
</div>

View File

@@ -0,0 +1,7 @@
{{ if and .Site.DisqusShortname (not (or .Site.Params.disable_comments .Params.disable_comments)) }}
<section id="comments">
<div id="disqus_thread">
{{ template "_internal/disqus.html" . }}
</div>
</section>
{{ end }}

View File

@@ -0,0 +1,54 @@
{{ if not .Site.Params.disable_sri }}
{{ printf "<script src=\"https://cdnjs.cloudflare.com/ajax/libs/jquery/1.12.4/jquery.min.js\" integrity=\"%s\" crossorigin=\"anonymous\"></script>" .Site.Data.sri.js.jQuery | safeHTML }}
{{ printf "<script src=\"https://cdnjs.cloudflare.com/ajax/libs/jquery.imagesloaded/4.1.2/imagesloaded.pkgd.min.js\" integrity=\"%s\" crossorigin=\"anonymous\"></script>" .Site.Data.sri.js.imagesLoaded | safeHTML }}
{{ printf "<script src=\"https://cdnjs.cloudflare.com/ajax/libs/gsap/1.19.1/TweenMax.min.js\" integrity=\"%s\" crossorigin=\"anonymous\"></script>" .Site.Data.sri.js.tweenMax| safeHTML }}
{{ printf "<script src=\"https://cdnjs.cloudflare.com/ajax/libs/gsap/1.19.1/plugins/ScrollToPlugin.min.js\" integrity=\"%s\" crossorigin=\"anonymous\"></script>" .Site.Data.sri.js.scrollToPlugin| safeHTML }}
{{ printf "<script src=\"https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js\" integrity=\"%s\" crossorigin=\"anonymous\"></script>" .Site.Data.sri.js.bootstrap | safeHTML }}
{{ printf "<script src=\"https://cdnjs.cloudflare.com/ajax/libs/jquery.isotope/3.0.4/isotope.pkgd.min.js\" integrity=\"%s\" crossorigin=\"anonymous\"></script>" .Site.Data.sri.js.isotope | safeHTML }}
{{ else }}
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery.imagesloaded/4.1.2/imagesloaded.pkgd.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/gsap/1.19.1/TweenMax.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/gsap/1.19.1/plugins/ScrollToPlugin.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery.isotope/3.0.4/isotope.pkgd.min.js"></script>
{{ end }}
<script src="{{ "/js/hugo-academic.js" | relURL }}"></script>
{{ range .Site.Params.custom_js }}
<script src="{{ "/js/" | relURL }}{{ . }}"></script>
{{ end }}
<!-- Code highlighting -->
{{ if $.Scratch.Get "highlight_enabled" }}
{{ $v := .Site.Params.highlight_version | default "9.9.0" }}
<script src="//cdnjs.cloudflare.com/ajax/libs/highlight.js/{{ $v }}/highlight.min.js"></script>
{{ range .Site.Params.highlight_languages }}
<script src="//cdnjs.cloudflare.com/ajax/libs/highlight.js/{{ $v }}/languages/{{ . }}.min.js"></script>
{{ end }}
{{ range .Params.highlight_languages }}
{{/* Do not double-include languages that are in both .Site.Params and .Params.
If Hugo ever grows a "union" function for set union, this range clause can be merged with the one above. */}}
{{ if not (in $.Site.Params.highlight_languages .) }}
<script src="//cdnjs.cloudflare.com/ajax/libs/highlight.js/{{ $v }}/languages/{{ . }}.min.js"></script>
{{ end }}
{{ end }}
<script>hljs.initHighlightingOnLoad();</script>
{{ end }}
<!-- LaTeX math rendering -->
{{ if or .Params.math .Site.Params.math }}
<script type="text/x-mathjax-config">
MathJax.Hub.Config({ tex2jax: { inlineMath: [['$','$'], ['\\(','\\)']] } });
</script>
{{ if not .Site.Params.disable_sri }}
{{ printf "<script src=\"https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS_CHTML\" integrity=\"%s\" crossorigin=\"anonymous\"></script>" .Site.Data.sri.js.mathJax | safeHTML }}
{{ else }}
<script async src="//cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS_CHTML"></script>
{{ end }}
{{ end }}
</body>
</html>

View File

@@ -0,0 +1,20 @@
<footer class="site-footer">
<div class="container">
<p class="powered-by">
{{ with .Site.Copyright }}{{ . | markdownify}} &middot; {{ end }}
Powered by the <a href="https://github.com/gcushen/hugo-academic" target="_blank">Academic
theme</a> for <a href="http://gohugo.io" target="_blank">Hugo</a>.
<span class="pull-right" aria-hidden="true">
<a href="#" id="back_to_top">
<span class="button_icon">
<i class="fa fa-chevron-up fa-2x"></i>
</span>
</a>
</span>
</p>
</div>
</footer>

View File

@@ -0,0 +1,75 @@
<!DOCTYPE html>
<html lang="{{ .Site.LanguageCode | default "en-us" }}">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="theme" content="hugo-academic">
{{ .Hugo.Generator }}
{{ with .Site.Params.name }}<meta name="author" content="{{ . }}">{{ end }}
{{ with .Site.Params.role }}<meta name="description" content="{{ . }}">{{ end }}
{{/* Default to enabling highlighting, but allow the user to override it in .Params or .Site.Params.
Use $.Scratch to store "highlight_enabled", so that we can read it again in footer.html. */}}
{{ $.Scratch.Set "highlight_enabled" true }}
{{ if isset .Params "highlight" }}
{{ $.Scratch.Set "highlight_enabled" .Params.highlight }}
{{ else if isset .Site.Params "highlight" }}
{{ $.Scratch.Set "highlight_enabled" .Site.Params.highlight }}
{{ end }}
{{ if $.Scratch.Get "highlight_enabled" }}
{{ $v := .Site.Params.highlight_version | default "9.9.0" }}
{{ with .Site.Params.highlight_style }}
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/{{ $v }}/styles/{{ . }}.min.css">
{{ else }}
<link rel="stylesheet" href="{{ "/css/highlight.min.css" | relURL }}">
{{ end }}
{{ end }}
{{ if not .Site.Params.disable_sri }}
{{ printf "<link rel=\"stylesheet\" href=\"https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css\" integrity=\"%s\" crossorigin=\"anonymous\">" .Site.Data.sri.css.bootstrap | safeHTML }}
{{ printf "<link rel=\"stylesheet\" href=\"https://cdnjs.cloudflare.com/ajax/libs/academicons/1.8.0/css/academicons.min.css\" integrity=\"%s\" crossorigin=\"anonymous\">" .Site.Data.sri.css.academicons | safeHTML }}
{{ printf "<link rel=\"stylesheet\" href=\"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css\" integrity=\"%s\" crossorigin=\"anonymous\">" .Site.Data.sri.css.fontAwesome | safeHTML }}
{{ else }}
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css">
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/academicons/1.8.0/css/academicons.min.css">
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
{{ end }}
{{/* We cannot use SRI with Google Fonts because the CSS is dynamically generated according to the user agent */}}
<link rel="stylesheet" href="//fonts.googleapis.com/css?family=Lato:400,700%7CMerriweather%7CRoboto+Mono">
<link rel="stylesheet" href="{{ "/css/hugo-academic.css" | relURL }}">
{{ range .Site.Params.custom_css }}
<link rel="stylesheet" href="{{ "/css/" | relURL }}{{ . }}">
{{ end }}
{{ if .Site.GoogleAnalytics }}
<script>
window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
ga('create', '{{ .Site.GoogleAnalytics }}', 'auto');
ga('require', 'eventTracker');
ga('require', 'outboundLinkTracker');
ga('require', 'urlChangeTracker');
ga('send', 'pageview');
</script>
<script async src="//www.google-analytics.com/analytics.js"></script>
{{ if not .Site.Params.disable_sri }}
{{ printf "<script async src=\"https://cdnjs.cloudflare.com/ajax/libs/autotrack/2.4.1/autotrack.js\" integrity=\"%s\" crossorigin=\"anonymous\"></script>" .Site.Data.sri.js.autotrack | safeHTML }}
{{ else }}
<script async src="//cdnjs.cloudflare.com/ajax/libs/autotrack/2.4.1/autotrack.js"></script>
{{ end }}
{{ end }}
<link rel="alternate" href="{{ .RSSLink | default .Site.RSSLink }}" type="application/rss+xml" title="{{ .Site.Title }}">
<link rel="feed" href="{{ .RSSLink | default .Site.RSSLink }}" type="application/rss+xml" title="{{ .Site.Title }}">
<link rel="icon" type="image/png" href="{{ "/img/icon.png" | relURL }}">
<link rel="apple-touch-icon" type="image/png" href="{{ "/img/apple-touch-icon.png" | relURL }}">
<link rel="canonical" href="{{ .Permalink }}">
{{ partial "head_custom" . }}
<title>{{ if not .IsHome }}{{ .Title }} | {{ end }}{{ .Site.Title }}</title>
</head>
<body id="top" data-spy="scroll" data-target="#navbar-main" data-offset="71">

View File

@@ -0,0 +1,6 @@
{{ if .Params.header.image }}
<div class="article-header">
<img src="{{ "/img/" | relURL }}{{ .Params.header.image }}" class="article-banner" itemprop="image">
{{ with .Params.header.caption }}<span class="article-header-caption">{{ . | markdownify | emojify }}</span>{{ end }}
</div>
{{end}}

View File

@@ -0,0 +1,74 @@
<nav class="navbar navbar-default navbar-fixed-top" id="navbar-main">
<div class="container">
<!-- Brand and toggle get grouped for better mobile display -->
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse"
data-target=".navbar-collapse" aria-expanded="false">
<span class="sr-only">{{ i18n "toggle_navigation" }}</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="{{ "/" | relLangURL }}">{{ .Site.Title }}</a>
</div>
<!-- Collect the nav links, forms, and other content for toggling -->
<div class="collapse navbar-collapse">
<!-- Left Nav Bar -->
<ul class="nav navbar-nav navbar-right">
{{ range .Site.Menus.main }}
{{ if .HasChildren }}
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" aria-haspopup="true">
{{ .Name }}
<span class="caret"></span>
</a>
<ul class="dropdown-menu">
{{ range .Children }}
<li class="nav-item">
<a href="{{ .URL | relLangURL }}"{{ if $.IsHome }} data-target="{{ .URL }}"{{ end }}>
{{ .Pre }}
<span>{{ .Name }}</span>
</a>
</li>
{{ end }}
</ul>
</li>
{{ else }}
<li class="nav-item">
<a href="{{ .URL | relLangURL }}"{{ if $.IsHome }} data-target="{{ .URL }}"{{ end }}>
{{ .Pre }}
<span>{{ .Name }}</span>
</a>
</li>
{{ end }}
{{ end }}
{{ if .IsTranslated }}
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" aria-haspopup="true">
<i class="fa fa-globe" aria-hidden="true"></i>
<span>{{ index .Site.Data.i18n.languages .Lang }}</span>
</a>
<ul class="dropdown-menu">
{{ range .Translations }}
<li class="nav-item">
<a href="{{ .URL }}"{{ if $.IsHome }} data-target="{{ .URL }}"{{ end }}>
<span>{{ index .Site.Data.i18n.languages .Lang }}</span>
</a>
</li>
{{ end }}
</ul>
</li>
{{ end }}
</ul>
</div><!-- /.navbar-collapse -->
</div><!-- /.container -->
</nav>

View File

@@ -0,0 +1,12 @@
{{ if or (.Paginator.HasPrev) (.Paginator.HasNext) }}
<nav>
<ul class="pager">
{{ if .Paginator.HasPrev }}
<li><a href="{{ .Paginator.Prev.URL | relLangURL }}">&laquo; Previous</a></li>
{{ end }}
{{ if .Paginator.HasNext }}
<li><a href="{{ .Paginator.Next.URL | relLangURL }}">Next &raquo;</a></li>
{{ end }}
</ul>
</nav>
{{ end }}

View File

@@ -0,0 +1,29 @@
{{ $post := .post }}
{{ $page := .page }}
<div class="article-list-item" itemscope itemprop="blogPost">
{{ $preview := $post.Params.header.preview | default true }}
{{ if and $post.Params.header.image $preview }}
<a href="{{ $post.Permalink }}">
<img src="{{ "/img/" | relURL }}{{ $post.Params.header.image }}" class="article-banner" itemprop="image">
</a>
{{end}}
<h3 class="article-title" itemprop="name">
<a href="{{ $post.Permalink }}" itemprop="url">{{ $post.Title }}</a>
</h3>
{{ partial "article_metadata" (dict "content" $post "is_list" 1) }}
<div class="article-style" itemprop="articleBody">
{{ if $post.Params.summary }}
<p>{{ printf "%s" $post.Params.summary | markdownify }}</p>
{{ else if $post.Truncated }}
{{ $post.Summary }}
{{ else }}
{{ $post.Content }}
{{ end }}
</div>
<p class="read-more">
<a href="{{ $post.Permalink }}" class="btn btn-primary btn-outline">
{{ i18n "continue_reading" }}
</a>
</p>
</div>

View File

@@ -0,0 +1,61 @@
<div class="pub-list-item" itemscope itemtype="http://schema.org/CreativeWork">
<div class="row">
{{ if .Params.image_preview }}
<div class="col-md-12">
<a href="{{ .Permalink }}">
<img src="{{ "/img/" | relURL }}{{ .Params.image_preview }}" class="pub-banner"
itemprop="image">
</a>
</div>
<div class="col-md-12">
{{ else if .Params.header.image}}
<div class="col-md-12">
<a href="{{ .Permalink }}">
<img src="{{ "/img/" | relURL }}{{ .Params.header.image }}" class="pub-banner" itemprop="image">
</a>
</div>
<div class="col-md-12">
{{ else }}
<div class="col-md-12">
{{ end }}
<h3 class="article-title" itemprop="name">
<a href="{{ .Permalink }}" itemprop="url">{{ .Title }}</a>
</h3>
<div class="pub-abstract" itemprop="text">
{{ if .Params.abstract_short }}
{{ .Params.abstract_short }}
{{ else }}
{{ .Params.abstract }}
{{ end }}
</div>
<div class="pub-authors" itemprop="author">
{{ with .Params.authors }}
{{ delimit . ", " | markdownify }}
{{ end }}
</div>
<div class="pub-publication">
{{ if .Params.publication_short }}
{{ .Params.publication_short | markdownify }}
{{ else }}
{{ .Params.publication | markdownify }}
{{ end }}
</div>
<div class="pub-links">
{{ partial "publication_links" (dict "content" . "is_list" 1) }}
</div>
</div>
</div>
</div>

View File

@@ -0,0 +1,5 @@
<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>
<p>{{ partial "publication_links" (dict "content" . "is_list" 1) }}</p>
</li>

View File

@@ -0,0 +1,43 @@
{{ $is_list := .is_list }}
{{ $ := .content }}
{{ if $is_list }}
<a class="btn btn-primary btn-outline btn-xs" href="{{ $.Permalink }}">
{{ i18n "btn_details" }}
</a>
{{ end }}
{{ with $.Params.url_pdf }}
<a class="btn btn-primary btn-outline{{ if $is_list }} btn-xs{{end}}" href="{{ . | absURL }}">
{{ i18n "btn_pdf" }}
</a>
{{ end }}
{{ with $.Params.url_slides }}
<a class="btn btn-primary btn-outline{{ if $is_list }} btn-xs{{end}}" href="{{ . | absURL }}">
{{ i18n "btn_slides" }}
</a>
{{ end }}
{{ with $.Params.url_video }}
<a class="btn btn-primary btn-outline{{ if $is_list }} btn-xs{{end}}" href="{{ . | absURL }}">
{{ i18n "btn_video" }}
</a>
{{ end }}
{{ with $.Params.url_code }}
<a class="btn btn-primary btn-outline{{ if $is_list }} btn-xs{{end}}" href="{{ . | absURL }}">
{{ i18n "btn_code" }}
</a>
{{ end }}
{{ with $.Params.url_dataset }}
<a class="btn btn-primary btn-outline{{ if $is_list }} btn-xs{{end}}" href="{{ . | absURL }}">
{{ i18n "btn_dataset" }}
</a>
{{ end }}
{{ with $.Params.url_project }}
<a class="btn btn-primary btn-outline{{ if $is_list }} btn-xs{{end}}" href="{{ . | absURL }}">
{{ i18n "btn_project" }}
</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,13 @@
<nav>
<ul class="pager">
{{if .PrevInSection}}
<li class="previous"><a href="{{.PrevInSection.Permalink}}"><span
aria-hidden="true">&larr;</span> {{.PrevInSection.Title}}</a></li>
{{end}}
{{if .NextInSection}}
<li class="next"><a href="{{.NextInSection.Permalink}}">{{.NextInSection.Title}} <span
aria-hidden="true">&rarr;</span></a></li>
{{end}}
</ul>
</nav>

View File

@@ -0,0 +1,40 @@
{{ if .Site.Params.sharing }}
<div class="share-box" aria-hidden="true">
<ul class="share">
<li>
<a class="facebook"
href="https://www.facebook.com/sharer.php?u={{ .Permalink | html }}"
target="_blank">
<i class="fa fa-facebook"></i>
</a>
</li>
<li>
<a class="twitter"
href="https://twitter.com/intent/tweet?text={{ .Title | html }}&amp;url={{ .Permalink | html }}"
target="_blank">
<i class="fa fa-twitter"></i>
</a>
</li>
<li>
<a class="linkedin"
href="https://www.linkedin.com/shareArticle?mini=true&amp;url={{ .Permalink | html }}&amp;title={{ .Title | html }}"
target="_blank">
<i class="fa fa-linkedin"></i>
</a>
</li>
<li>
<a class="weibo"
href="http://service.weibo.com/share/share.php?url={{ .Permalink | html }}&amp;title={{ .Title | html }}"
target="_blank">
<i class="fa fa-weibo"></i>
</a>
</li>
<li>
<a class="email"
href="mailto:?subject={{ .Title | html }}&amp;body={{ .Permalink | html }}">
<i class="fa fa-envelope"></i>
</a>
</li>
</ul>
</div>
{{ end }}

View File

@@ -0,0 +1,29 @@
<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>

View File

@@ -0,0 +1,12 @@
<li itemscope itemtype="http://schema.org/CreativeWork">
<i class="fa-li fa fa-comment-o pub-icon" aria-hidden="true"></i>
<span itemprop="name"><a href="{{ .Permalink }}">{{ .Title }}</a></span>
<p>
{{ .Date.Format $.Site.Params.date_format }},
{{ if .Params.event_short }}
{{ .Params.event_short | markdownify }}
{{ else if .Params.event }}
{{ .Params.event | markdownify }}
{{ end }}
</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 }}">
{{ i18n "btn_details" }}
</a>
{{ end }}
{{ with $.Params.url_pdf }}
<a class="btn btn-primary btn-outline{{ if $is_list }} btn-xs{{end}}" href="{{ . | absURL }}">
{{ i18n "btn_pdf" }}
</a>
{{ end }}
{{ with $.Params.url_slides }}
<a class="btn btn-primary btn-outline{{ if $is_list }} btn-xs{{end}}" href="{{ . | absURL }}">
{{ i18n "btn_slides" }}
</a>
{{ end }}
{{ with $.Params.url_video }}
<a class="btn btn-primary btn-outline{{ if $is_list }} btn-xs{{end}}" href="{{ . | absURL }}">
{{ i18n "btn_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,80 @@
{{ $ := .root }}
{{ $page := .page }}
<!-- About widget -->
<div class="row" itemprop="author" itemscope itemtype="http://schema.org/Person" itemref="{{ if $.Site.Params.email }}person-email{{ end }}{{ if $.Site.Params.phone }} person-telephone{{ end }}{{ if $.Site.Params.address}} person-address{{ end }}">
<div class="col-xs-12 col-md-4">
<div id="profile">
{{ if $.Site.Params.gravatar }}
<div class="portrait" style="background-image: url('https://s.gravatar.com/avatar/{{ md5 $.Site.Params.email }}?s=200');"></div>
<meta itemprop="image" content="https://s.gravatar.com/avatar/{{ md5 $.Site.Params.email }}?s=200">
{{ else if $.Site.Params.avatar }}
<div class="portrait" style="background-image: url('{{ $.Site.BaseURL }}img/{{ $.Site.Params.avatar }}');"></div>
<meta itemprop="image" content="{{ $.Site.BaseURL }}img/{{ $.Site.Params.avatar }}">
{{ end }}
<div class="portrait-title">
<h2 itemprop="name">{{ $.Site.Params.name }}</h2>
<h3 itemprop="jobTitle">{{ $.Site.Params.role }}</h3>
{{ if $.Site.Params.organization }}
<h3 itemprop="worksFor" itemscope itemtype="http://schema.org/Organization">
{{ with $.Site.Params.organization_url }}<a href="{{ . }}" target="_blank" itemprop="url">{{ end }}
<span itemprop="name">{{ $.Site.Params.organization }}</span>
{{ if $.Site.Params.organization_url }}</a>{{ end }}
</h3>
{{ end }}
</div>
<link itemprop="url" href="{{ $.Site.BaseURL }}">
<ul class="social-icon" aria-hidden="true">
{{ range $.Site.Params.social }}
{{ $pack := or .icon_pack "fa" }}
<li>
<a itemprop="sameAs" href="{{ .link | safeURL }}" target="_blank">
<i class="{{ $pack }} {{ $pack }}-{{ .icon }} big-icon"></i>
</a>
</li>
{{ end }}
</ul>
</div>
</div>
<div class="col-xs-12 col-md-8" itemprop="description">
{{ $page.Content }}
<div class="row">
{{ with $page.Params.interests }}
<div class="col-sm-5">
<h3>{{ i18n "interests" | markdownify }}</h3>
<ul class="ul-interests">
{{ range .interests }}
<li>{{ . }}</li>
{{ end }}
</ul>
</div>
{{ end }}
{{ with $page.Params.education }}
<div class="col-sm-7">
<h3>{{ i18n "education" | markdownify }}</h3>
<ul class="ul-edu fa-ul">
{{ range .courses }}
<li>
<i class="fa-li fa fa-graduation-cap"></i>
<div class="description">
<p class="course">{{ .course }}{{ with .year }}, {{ . }}{{ end }}</p>
<p class="institution">{{ .institution }}</p>
</div>
</li>
{{ end }}
</ul>
</div>
{{ end }}
</div>
</div>
</div>

View File

@@ -0,0 +1,78 @@
{{ $ := .root }}
{{ $page := .page }}
{{ $autolink := default true $page.Params.autolink }}
<!-- Contact 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 }}
<ul class="fa-ul" itemscope>
{{ with $.Site.Params.email }}
<li>
<i class="fa-li fa fa-envelope fa-2x" aria-hidden="true"></i>
<span id="person-email" itemprop="email">
{{- if $autolink }}<a href="mailto:{{ . }}">{{ . }}</a>{{ else }}{{ . }}{{ end -}}
</span>
</li>
{{ end }}
{{ with $.Site.Params.keybase }}
<li>
<i class="fa-li fa fa-lock fa-2x" aria-hidden="true"></i>
<span>
<a href="https://keybase.io/{{ . }}" target="_blank">@{{ . }}</a> on Keybase.
</span>
</li>
{{ end }}
{{ with $.Site.Params.phone }}
<li>
<i class="fa-li fa fa-phone fa-2x" aria-hidden="true"></i>
<span id="person-telephone" itemprop="telephone">
{{- if $autolink }}<a href="tel:{{ . }}">{{ . }}</a>{{ else }}{{ . }}{{ end -}}
</span>
</li>
{{ end }}
{{ with $.Site.Params.skype }}
<li>
<i class="fa-li fa fa-skype fa-2x" aria-hidden="true"></i>
<span>
{{- if $autolink }}<a href="skype:{{ . }}?call">{{ . }}</a>{{ else }}{{ . }}{{ end -}}
</span>
</li>
{{ end }}
{{ with $.Site.Params.telegram }}
<li>
<i class="fa-li fa fa-telegram fa-2x" aria-hidden="true"></i>
<span>
{{- if $autolink }}<a href="https://telegram.me/{{ . }}" target="_blank">@{{ . }}</a>{{ else }}@{{ . }}{{ end -}}
</span>
</li>
{{ end }}
{{ with $.Site.Params.address }}
<li>
<i class="fa-li fa fa-map-marker fa-2x" aria-hidden="true"></i>
<span id="person-address" itemprop="address">{{ . }}</span>
</li>
{{ end }}
{{ with $.Site.Params.office_hours }}
<li>
<i class="fa-li fa fa-clock-o fa-2x" aria-hidden="true"></i>
<span>{{ . }}</span>
</li>
{{ end }}
</ul>
</div>
</div>

View File

@@ -0,0 +1,12 @@
{{ $page := .page }}
<!-- Custom 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">
{{ $page.Content }}
</div>
</div>

View File

@@ -0,0 +1,38 @@
{{ $ := .root }}
{{ $page := .page }}
{{ $posts_len := len (where (where $.Data.Pages "Type" "post") ".Params.notonhomepage" nil) }}
<!-- Blog Posts 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 $posts_len $page.Params.count }}
<p class="view-all">
<a href="{{ "/post/" | relLangURL }}">
{{ i18n "more_posts" | markdownify }}
<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.tags }}
{{ range first $page.Params.count (where (where (where $.Data.Pages "Type" "post") ".Params.tags" "intersect" $page.Params.tags) ".Params.notonhomepage" nil) }}
{{ $params := dict "post" . "page" $page }}
{{ partial "post_li" $params }}
{{ end }}
{{ else }}
{{ range first $page.Params.count (where (where $.Data.Pages "Type" "post") ".Params.notonhomepage" nil) }}
{{ $params := dict "post" . "page" $page }}
{{ partial "post_li" $params }}
{{ end }}
{{ end }}
</div>
</div>

View File

@@ -0,0 +1,83 @@
{{ $ := .root }}
{{ $page := .page }}
<!-- Projects 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 }}
<div class="project-toolbar">
<div id="filters">
<div class="btn-toolbar">
<div class="btn-group">
{{ range $page.Params.filter }}
<a href="#" data-filter="{{ .tag }}" class="btn btn-primary btn-large{{ if eq .tag "*" }} active{{ end }}">{{ .name }}</a>
{{ end }}
</div>
</div>
</div>
</div>
{{ if eq $page.Params.view 0 }}
<div id="container-projects" class="isotope">
<ul class="fa-ul" style="position: relative">
{{ range where $.Data.Pages "Type" "project" }}
<li class="project-item isotope-item {{ delimit .Params.tags " " }}">
<span class="project-title">
{{ if .Content }}
<a href="{{ .Permalink }}">
{{ else }}
{{ with .Params.external_link }}<a href="{{ . }}" target="_blank">{{ end }}
{{ end }}
<i class="fa-li fa fa-files-o pub-icon" aria-hidden="true"></i>
{{ .Title }}
{{ if .Content }}</a>{{ else }}{{ with .Params.external_link }}</a>{{ end }}{{ end }}
</span>
{{ with .Params.summary }}<p class="project-summary">{{ . | markdownify }}</p>{{ end }}
</li>
{{ end }}
</ul>
</div>
{{ else }}
<div id="container-projects" class="row isotope">
{{ range $project := where $.Data.Pages "Type" "project" }}
{{ $.Scratch.Set "project_url" $project.Permalink }}
{{ $.Scratch.Set "target" "" }}
{{ if $project.Params.external_link }}
{{ $.Scratch.Set "project_url" $project.Params.external_link }}
{{ $.Scratch.Set "target" "target=\"_blank\"" }}
{{ end }}
<div class="col-xs-12 col-sm-6 col-md-4 col-lg-6 project-item isotope-item {{ delimit .Params.tags " " }}">
<div class="card">
{{ with $project.Params.image_preview }}
<a href="{{ $.Scratch.Get "project_url" }}" title="" class="card-image hover-overlay"
{{ $.Scratch.Get "target" | safeHTMLAttr }}>
<img src="{{ "/img/" | relURL }}{{ . }}" alt="" class="img-responsive">
</a>
{{ end }}
<div class="card-text">
<h4><a href="{{ $.Scratch.Get "project_url" }}" {{ $.Scratch.Get "target" | safeHTMLAttr }}>{{ .Title }}</a></h4>
<div class="card-desription">
{{ with $project.Params.summary }}<p>{{ . | markdownify }}</p>{{ end }}
</div>
</div>
</div>
</div>
{{ end }}
</div>
{{ end }}
</div>
</div>

View File

@@ -0,0 +1,35 @@
{{ $ := .root }}
{{ $page := .page }}
{{ $pubs_len := len (where $.Data.Pages "Type" "publication") }}
<!-- Publications 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 $pubs_len $page.Params.count }}
<p class="view-all">
<a href="{{ "/publication/" | relLangURL }}">
{{ i18n "more_publications" | markdownify }}
<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" "publication") }}
{{ partial "publication_li_detailed" . }}
{{ end }}
{{ else }}
<ul class="fa-ul">
{{ range first $page.Params.count (where $.Data.Pages "Type" "publication") }}
{{ partial "publication_li_simple" . }}
{{ end }}
</ul>
{{ end }}
</div>
</div>

View File

@@ -0,0 +1,26 @@
{{ $ := .root }}
{{ $page := .page }}
<!-- Selected Publications 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" "publication") ".Params.selected" true) }}
{{ partial "publication_li_detailed" . }}
{{ end }}
{{ else }}
<ul class="fa-ul">
{{ range (where (where $.Data.Pages "Type" "publication") ".Params.selected" true) }}
{{ partial "publication_li_simple" . }}
{{ end }}
</ul>
{{ end }}
</div>
</div>

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="{{ "/talk/" | relLangURL }}">
{{ i18n "more_talks" | markdownify }}
<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>