Update the grid-side theme

This commit is contained in:
2019-03-30 23:28:05 +00:00
parent 5255e9afd8
commit bc53f31743
281 changed files with 14134 additions and 54 deletions

View File

@@ -0,0 +1,35 @@
{{ partial "core/html-start.html" . }}
{{ partial "core/head.html" . }}
<body class="page-colors minimum-viewport-height">
{{ partial "core/main-menu.html" . }}
<div class="main-content">
<div class="center-space">
<div class="article-colors">
<article>
<header>
<h1 class="blue-grey white-text center-items">404</h1>
</header>
<section class="center-items">
<p style="font-size: 1.5em;">
The requested page was not found! Try searching the site for
another page!
</p>
</section>
<section class="center-items large-form">
{{ partial "core/search.html" . }}
</section>
</article>
</div>
</div>
</div>
{{ partial "core/js.html" . }}
</body>
{{ partial "core/html-end.html" . }}

View File

@@ -0,0 +1,17 @@
<!-- Load materialize used to provide parts of theme visuals -->
<link rel="stylesheet" href="{{ .Site.BaseURL }}css/materialize.min.css">
<!-- Load font awesome used for various icons -->
<link rel="stylesheet" href="{{ .Site.BaseURL }}css/font-awesome.min.css">
{{ with .Site.Params.Highlight }}
<!-- Load highlight theme used for client-side syntax highlighting -->
<link rel="stylesheet" href="{{ $.Site.BaseURL }}css/styles/{{ .style }}.css">
{{ end }}
<!-- Load lightbox stylings -->
<link rel="stylesheet" href="{{ .Site.BaseURL }}css/lightbox.css">
<!-- Load main theme stylings -->
<link rel="stylesheet" href="{{ .Site.BaseURL }}css/main.css">

View File

@@ -0,0 +1,36 @@
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="author" content="{{ with .Site.Params.name }}{{ . }}{{ end }}">
<meta name="description" content="{{ with .Site.Params.description }}{{ . }}{{ end }}">
{{ if .RSSLink }}
<link href="{{ .RSSLink }}" rel="alternate" type="application/rss+xml" title="{{ .Site.Title }}" />
<link href="{{ .RSSLink }}" rel="feed" type="application/rss+xml" title="{{ .Site.Title }}" />
{{ end }}
{{ .Hugo.Generator }}
<meta name="generation-date" content="{{ .Now }}">
<title>{{ .Title }} &middot; {{ .Site.Title }}</title>
<link rel="shortcut icon" href="{{ .Site.BaseURL }}img/favicon.ico">
<link rel="icon" href="{{ .Site.BaseURL }}img/favicon.ico">
{{ partial "core/css.html" . }}
<script src="{{ .Site.BaseURL }}js/modernizr-latest.js"></script>
<script src="{{ .Site.BaseURL }}js/lazysizes.min.js"></script>
<script src="{{ .Site.BaseURL }}js/ls.noscript.min.js"></script>
<script>
window.lazySizesConfig = window.lazySizesConfig || {};
lazySizesConfig.addClasses = true;
lazySizesConfig.loadMode = 2;
</script>
{{ with .Params.redirect }}
<!-- Attempt redirect through refresh -->
<meta http-equiv="refresh" content="1; url={{ . }}">
<script>
// Meta-refresh failed, so attempt Javascript
window.location.href = "{{ . }}"
</script>
{{ end }}
</head>

View File

@@ -0,0 +1,2 @@
</html>

View File

@@ -0,0 +1,6 @@
<!DOCTYPE html>
<html
lang="{{ with .Site.LanguageCode }}{{ . }}{{ else }}en-US{{ end }}"
class="no-js"
>

View File

@@ -0,0 +1,26 @@
<!-- Load jquery used for various plugins -->
<script src="{{ .Site.BaseURL }}js/jquery-2.1.4.min.js"></script>
<!-- Load materialize used to provide parts of theme visuals -->
<script src="{{ .Site.BaseURL }}js/materialize.min.js"></script>
<!-- Load imagesloaded needed by masonry to handle adding images -->
<script src="{{ .Site.BaseURL }}js/imagesloaded.pkgd.min.js"></script>
<!-- Load masonry used for layout on list pages -->
<script src="{{ .Site.BaseURL }}js/masonry.pkgd.min.js"></script>
{{ if .Site.Params.Highlight }}
<!-- Load highlight used for client-side syntax highlighting -->
<script src="{{ .Site.BaseURL }}js/highlight.pack.js"></script>
{{ end }}
<!-- Load lightbox used for gallery viewing -->
<script src="{{ .Site.BaseURL }}js/lightbox.min.js"></script>
<!-- Load infinite scroll used to link together paginated content -->
<script src="{{ .Site.BaseURL }}js/jquery.infinitescroll.min.js"></script>
<!-- Load theme-specific Javascript -->
<script src="{{ .Site.BaseURL }}js/main.js"></script>

View File

@@ -0,0 +1,60 @@
{{ $baseUrl := .Site.BaseURL }}
<nav class="main-menu menu-colors">
<ul class="menu menu-colors no-list-float">
<li><a href="{{ $baseUrl }}"><i class="fa fa-home fa-2x"></i></a></li>
<li>
<a href="#!"><i class="fa fa-bars fa-2x"></i></a>
<!-- NOTE: Only support two levels of menus at the moment! -->
<ul class="menu flexible-width menu-colors no-list-float">
{{ $currentNode := . }}
{{ range .Site.Menus.Main }}
<li {{ if or ($currentNode.IsMenuCurrent "Main" .) ($currentNode.HasMenuCurrent "Main" .) }}class="active"{{ end }}>
{{ if .HasChildren }}
<a href="#!">
{{ .Pre }}
<span>{{ .Name }}</span>
<span class="drop-right"></span>
<!-- <i class="fa fa-caret-right"></i> -->
</a>
<ul class="menu flexible-width menu-colors no-list-float">
{{ range .Children }}
<li {{ if $currentNode.IsMenuCurrent "Main" . }} class="active" {{ end }}>
<a href="{{ $baseUrl }}{{ .URL }}">{{ .Name }}</a>
</li>
{{ end }}
</ul>
{{ else }}
<a href="{{ $baseUrl }}{{ .URL }}">
{{ .Pre }}
<span>{{ .Name }}</span>
</a>
{{ end }}
</li>
{{ end }}
</ul>
</li>
<li><a href="#!" data-lightbox-id="searchbox"><i class="fa fa-search fa-2x"></i></a></li>
{{ with .Site.Params.Footer }}
<li class="blue-grey-text" style="border-top: 1px solid;"><!-- Separator --></li>
{{ range .List }}
<li>
<a href="{{ .icon_link }}">
<i class="fa fa-{{ .icon_class }} fa-2x"></i>
</a>
</li>
{{ end }}
<li><a href="irc://chat.freenode.net/lupine"><i class="fa fa-hashtag fa-2x"></i></a></li>
{{ end }}
<li class="blue-grey-text" style="border-top: 1px solid;"><!-- Separator --></li>
<li>
<a href="{{ .RSSLink }}" type="application/rss+xml" target="_blank">
<i class="fa fa-rss fa-2x"></i>
</a>
</li>
</ul>
</nav>
{{ partial "core/search-lightbox.html" . }}

View File

@@ -0,0 +1,8 @@
<div id="searchbox" class="no-display">
<div class="valign-wrapper fill-container">
<div class="valign large-form horizontal-center-hack">
{{ partial "core/search.html" . }}
</div>
</div>
</div>

View File

@@ -0,0 +1,12 @@
<form method="get" id="search" action="http://duckduckgo.com/">
<input type="hidden" name="sites"value="{{ .Site.BaseURL }}"/>
<input type="hidden" name="ka" value="h"/>
<input type="hidden" name="k7" value="#fafafa"/>
<input type="hidden" name="kj" value="#3f3f3f"/>
<input type="hidden" name="ky" value="#fafafa"/>
<input type="hidden" name="kx" value="b"/>
<input type="hidden" name="kt" value="Helvetica"/>
<input type="text" name="q" maxlength="255" placeholder="Search"/>
<input type="submit" value="DuckDuckGo Search" style="visibility: hidden;" />
</form>

View File

@@ -0,0 +1,10 @@
{{ $baseUrl := .Site.BaseURL }}
<ul class="categories">
<li>
<i class="fa fa-book"></i>
</li>
{{ range .Params.categories }}
<li><a href="{{ $baseUrl }}categories/{{ . | urlize }}">{{ . }}</a></li>
{{ end }}
</ul>

View File

@@ -0,0 +1,26 @@
{{ if .Site.DisqusShortname }}
<div id="disqus_thread"></div>
<script type="text/javascript">
var disqus_shortname = '{{ .Site.DisqusShortname }}';
var disqus_identifier = '{{ with .GetParam "disqus_identifier" }}{{ . }}{{ else }}{{ .Permalink }}{{ end }}';
var disqus_title = '{{ with .GetParam "disqus_title" }}{{ . }}{{ else }}{{ .Title }}{{ end }}';
var disqus_url = '{{ with .GetParam "disqus_url" }}{{ . | html }}{{ else }}{{ .Permalink }}{{ end }}';
(function() {
// Avoid adding localhost comment sections to Disqus account
if (window.location.hostname === "localhost") {
return;
}
var dsq = document.createElement('script');
dsq.type = 'text/javascript';
dsq.async = true;
dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
(document.getElementsByTagName('head')[0] ||
document.getElementsByTagName('body')[0]).appendChild(dsq);
})();
</script>
<noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>
{{end}}

View File

@@ -0,0 +1,24 @@
{{ $baseUrl := .Site.BaseURL }}
{{ if .IsNode }}
<ul class="pagination">
{{ with .Paginator }}
<li class="{{ if .HasPrev }}waves-effect{{ else }}disabled{{ end }}">
<a href="{{ if .HasPrev }}{{ $baseUrl }}{{ .Prev.URL }}{{ else }}#!{{ end }}">
<i class="fa fa-angle-left"></i>
</a>
</li>
{{ $currentPageNumber := .PageNumber }}
{{ range .Pagers }}
<li class="{{ if eq $currentPageNumber .PageNumber }}active{{ else }}waves-effect{{ end }}">
<a href="{{ $baseUrl }}{{ .URL }}">{{ .PageNumber }}</a>
</li>
{{ end }}
<li class="{{ if .HasNext }}waves-effect{{ else }}disabled{{ end }}">
<a href="{{ if .HasNext }}{{ $baseUrl }}{{ .Next.URL }}{{ else }}#!{{ end }}">
<i class="fa fa-angle-right"></i>
</a>
</li>
{{ end }}
</ul>
{{ end }}

View File

@@ -0,0 +1,10 @@
{{ $baseUrl := .Site.BaseURL }}
<ul class="tags">
<li>
<i class="fa fa-tags"></i>
</li>
{{ range .Params.tags }}
<li><a href="{{ $baseUrl }}tags/{{ . | urlize }}">{{ . }}</a></li>
{{ end }}
</ul>

View File

@@ -0,0 +1,19 @@
{{ $baseUrl := .Site.BaseURL }}
<video preload="auto" autoplay loop muted {{ with .Params.video_fallback }}poster="{{ $baseUrl }}{{ . }}"{{ end }} class="{{ .Scratch.Get "class" }}">
{{ with .Params.video_webm }}
<source src="{{ $baseUrl }}{{ . }}" type='video/webm; codecs="vp8.0, vorbis"'>
{{ end }}
{{ with .Params.video_ogv }}
<source src="{{ $baseUrl }}{{ . }}" type='video/ogg; codecs="theora, vorbis"'>
{{ end }}
{{ with .Params.video_mp4 }}
<source src="{{ $baseUrl }}{{ . }}" type='video/mp4; codecs="avc1.4D401E, mp4a.40.2"'>
{{ end }}
{{ with .Params.video_3gp }}
<source src="{{ $baseUrl }}{{ . }}" type='video/3gp'>
{{ end }}
{{ with .Params.video_fallback }}
<img src="{{ $baseUrl }}{{ . }}">
{{ end }}
</video>

View File

@@ -0,0 +1,25 @@
{{ $sp := .Site.Params }}
{{ if and (isset $sp "Gallery") (isset $sp.Gallery "infinite_scroll") }}
{{ with $sp.Gallery.infinite_scroll }}
{{ $.Scratch.Set "infinite_scroll" (eq . true) }}
{{ end }}
{{ else }}
{{ $.Scratch.Set "infinite_scroll" false }}
{{ end }}
{{ if eq ($.Scratch.Get "infinite_scroll") false }}
{{ with $sp.infinite_scroll }}
{{ $.Scratch.Set "infinite_scroll" (eq . true) }}
{{ else }}
{{ $.Scratch.Set "infinite_scroll" false }}
{{ end }}
{{ end }}
{{ $infinite_scroll := $.Scratch.Get "infinite_scroll" }}
<div class="masonry-flex-container {{ if $infinite_scroll }}infinite-scroll{{ end }}">
{{ range .Paginator.Pages }}
{{ partial "gallery/item.html" . }}
{{ end }}
</div>

View File

@@ -0,0 +1,20 @@
{{ $url := $.Site.BaseURL }}
{{ $image := .Params.image | urlize }}
{{ $date := .Date.Format "Mon Jan 02, 2006" }}
{{ $title := .Title }}
<!-- TODO: Figure out why line height causes issues here -->
<div class="flex-item flex-item-spacing no-line-height">
<div class="relative rounded-corners z-depth-1 lazyload" data-noscript="">
<noscript>
<a href="{{ $url }}{{ $image }}" data-lightbox="gallery" data-title="{{ $title }}">
<img src="{{ $url }}{{ $image }}"
class="fill-container-width rounded-corners z-depth-1" />
<div class="highlight-block rounded-corners">
<h3 class="white-text">{{ $date }}</h3>
</div>
</a>
</noscript>
</div>
</div>

View File

@@ -0,0 +1,16 @@
{{ partial "core/html-start.html" . }}
{{ partial "core/head.html" . }}
<body class="page-colors minimum-viewport-height">
{{ partial "core/main-menu.html" . }}
<section class="main-content">
{{ partial "gallery/collection.html" . }}
{{ partial "extra/pagination.html" . }}
</section>
{{ partial "core/js.html" . }}
</body>
{{ partial "core/html-end.html" . }}

View File

@@ -0,0 +1,15 @@
{{ partial "core/html-start.html" . }}
{{ partial "core/head.html" . }}
<body class="page-colors minimum-viewport-height">
{{ partial "core/main-menu.html" . }}
<section class="main-content">
{{ partial "gallery/item" . }}
</section>
{{ partial "core/js.html" . }}
</body>
{{ partial "core/html-end.html" . }}

View File

@@ -0,0 +1,17 @@
<div class="valign-wrapper" style="height: 100%;">
<span class="valign center white-text" style="
display: inline-block;
border: 2px solid #FFF;
background-color: rgba(0, 0, 0, 0.3);
padding: 15px 25px;
margin: 0 auto;
">
{{ with .name }}<h2>{{ . }}</h2>{{ end }}
{{ with .email }}<h5>{{ . }}</h5>{{ end }}
{{ with .description }}
<h2><hr></h2>
<h5>{{ . }}</h5>
{{ end }}
</span>
</div>

View File

@@ -0,0 +1,105 @@
{{ partial "core/html-start.html" . }}
{{ partial "core/head.html" . }}
{{ $baseUrl := .Site.BaseURL }}
<body class="page-colors">
<div class="parallax">
{{ with .Site.Params.Header }}
<!-- NOTE: Must be at root level for firefox to work (cannot wrap in header) -->
<div class="parallax__group">
<div class="parallax__layer parallax__layer--base">
{{ partial "homepage/header-logo.html" . }}
</div>
<div class="parallax__layer parallax__layer--back {{ if .image }}fullsize-background-image{{ end }}"
{{ if .image }}
style="background-image: url('{{ $baseUrl }}{{ .image }}'); {{ with .image_position }}background-position: {{ . }};{{ end }}"
{{ else }}
style="background-color: {{ .color }}"
{{ end }}
></div>
</div>
{{ end }}
<div class="parallax__group parallax__group--auto-height">
<div class="parallax__layer parallax__layer--base">
<div class="row-colors center-align">
<h2 class="no-margin">
<ul class="horizontal no-bullets no-margin">
<li>{{ partial "homepage/svg-face.html" . }}</li>
<li>About Me</li>
</ul>
</h2>
</div>
<div class="flex-container">
{{ range .Site.Params.Cells.List }}
<!--
Note: The link and contents must be here since we
cannot pass .Site.BaseURL as part of the context
-->
<a href="{{ if .disable }}#!{{ else }}{{ $baseUrl }}{{ .link }}{{ end }}" class="flex-item">
<div class="cell
fill-container
no-padding
{{ if or .grayscale .disable }}grayscale{{ end }}
{{ if .disable }}no-change-on-hover{{ end }}
{{ if .image}}fullsize-background-image{{ end }}
" style="
{{ with .image }}
background-image: url('{{ $baseUrl }}{{ . }}');
{{ else }}
background-color: {{ .color }};
{{ end }}
{{ with .image_position }}
background-position: {{ . }};
{{ end }}
height: {{ with .height }}
{{ . }}
{{ else }}
33.33vh
{{ end }};
">
<!-- Show text permanently -->
{{ if eq .always_show_text true }}
<div class="center-items center-text fill-container black-overlay">
<h3 class="white-text">{{ .name }}</h3>
</div>
{{ end }}
{{ if not (or (eq .no_highlight true) .disable) }}
<div class="highlight-block">
<h3 class="white-text">{{ .name }}</h3>
</div>
{{ end }}
</div>
</a>
{{ end }}
</div>
{{ with .Site.Params.Footer }}
<div class="row-colors right-align">
<ul class="main-page-footer horizontal no-bullets no-margin">
{{ range .List }}
<li>
<a href="{{ .icon_link }}">
<i class="fa fa-{{ .icon_class }}"></i>
</a>
</li>
<li>|</li>
{{ end }}
<li><a href="irc://chat.freenode.net/lupine"><i class="fa fa-hashtag"></i></a></li>
<li>{{ $.Site.Copyright | markdownify }}</li>
</ul>
</div>
{{ end }}
</div>
</div>
</div>
{{ partial "core/js.html" . }}
</body>
{{ partial "core/html-end.html" . }}

View File

@@ -0,0 +1,5 @@
<!-- From Google's Material Design Icons -->
<svg class="face" height="48" viewBox="0 0 24 24" width="48" xmlns="http://www.w3.org/2000/svg">
<path d="M9 11.75c-.69 0-1.25.56-1.25 1.25s.56 1.25 1.25 1.25 1.25-.56 1.25-1.25-.56-1.25-1.25-1.25zm6 0c-.69 0-1.25.56-1.25 1.25s.56 1.25 1.25 1.25 1.25-.56 1.25-1.25-.56-1.25-1.25-1.25zM12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8 0-.29.02-.58.05-.86 2.36-1.05 4.23-2.98 5.21-5.37C11.07 8.33 14.05 10 17.42 10c.78 0 1.53-.09 2.25-.26.21.71.33 1.47.33 2.26 0 4.41-3.59 8-8 8z"/>
<path d="M0 0h24v24H0z" fill="none"/>
</svg>

After

Width:  |  Height:  |  Size: 620 B

View File

@@ -0,0 +1,15 @@
{{ partial "core/html-start.html" . }}
{{ partial "core/head.html" . }}
<body class="page-colors minimum-viewport-height">
{{ partial "core/main-menu.html" . }}
<section class="main-content">
{{ .Content }}
</section>
{{ partial "core/js.html" . }}
</body>
{{ partial "core/html-end.html" . }}

View File

@@ -0,0 +1,43 @@
{{ partial "core/html-start.html" . }}
{{ partial "core/head.html" . }}
<body>
{{ partial "core/main-menu.html" . }}
{{ $sp := .Site.Params }}
{{ if and (isset $sp "Post") (isset $sp.Post "infinite_scroll") }}
{{ with $sp.Post.infinite_scroll }}
{{ $.Scratch.Set "infinite_scroll" (eq . true) }}
{{ end }}
{{ else }}
{{ $.Scratch.Set "infinite_scroll" false }}
{{ end }}
{{ if eq ($.Scratch.Get "infinite_scroll") false }}
{{ with $sp.infinite_scroll }}
{{ $.Scratch.Set "infinite_scroll" (eq . true) }}
{{ else }}
{{ $.Scratch.Set "infinite_scroll" false }}
{{ end }}
{{ end }}
{{ $infinite_scroll := $.Scratch.Get "infinite_scroll" }}
<section class="main-content">
<div class="masonry-flex-container {{ if $infinite_scroll }}infinite-scroll{{ end }}">
{{ if .IsNode }}
{{ range .Paginator.Pages }}
<div class="flex-item">
{{ partial "post/page-item.html" . }}
</div>
{{ end }}
{{ end }}
</div>
{{ partial "extra/pagination.html" . }}
</section>
{{ partial "core/js.html" . }}
</body>
{{ partial "core/html-end.html" . }}

View File

@@ -0,0 +1,24 @@
{{ $baseUrl := .Site.BaseURL }}
<div class="page-item-container">
{{ with .Params.image }}
<img src="{{ $baseUrl }}{{ . }}" class="page-item-image"></img>
{{ end }}
<div class="page-item-content">
<header>
{{ if not .Date.IsZero }}
<time class="page-item-date">{{ .Date.Format "Mon Jan 02, 2006" }}</time>
{{ end }}
<h2 class="page-item-title">{{ .Title }}</h2>
</header>
<p class="page-item-summary">{{ .Summary }}</p>
<a href="{{ .Permalink }}" class="page-item-btn {{ if .Params.redirect }}page-item-btn-red{{ end }}">
{{ if .Params.redirect }}Redirect{{ else }}Read More{{ end }}
</a>
<footer>
{{ partial "extra/categories.html" . }}
<span class="separator">|</span>
{{ partial "extra/tags.html" . }}
</footer>
</div>
</div>

View File

@@ -0,0 +1,48 @@
{{ partial "core/html-start.html" . }}
{{ partial "core/head.html" . }}
<body class="page-colors minimum-viewport-height">
{{ partial "core/main-menu.html" . }}
<div class="main-content">
<div class="center-space">
<div class="article-colors">
{{ with .Params.image }}
<img src="{{ . }}" class="fill-container-width"></img>
{{ end }}
<article>
<header>
<h1 class="article-title">{{ .Title }}</h1>
<time class="date-color">{{ .Date.Format "Mon Jan 02, 2006" }}</time>
<span class="separator">|</span>
{{ partial "extra/categories.html" . }}
<span class="separator">|</span>
{{ partial "extra/tags.html" . }}
</header>
<hr>
<section>
{{ with .Params.redirect }}
<p>If you are not redirected automatically, follow the <a href="{{ . }}">link</a>.</p>
{{ else }}
{{ .Content }}
{{ end }}
</section>
<footer class="right-align">
<p><small>{{ .Site.Copyright | markdownify }}</small></p>
</footer>
{{ partial "extra/disqus.html" . }}
</article>
</div>
</div>
</div>
{{ partial "core/js.html" . }}
</body>
{{ partial "core/html-end.html" . }}

View File

@@ -0,0 +1,41 @@
{{ partial "core/html-start.html" . }}
{{ partial "core/head.html" . }}
<body class="page-colors minimum-viewport-height">
{{ partial "core/main-menu.html" . }}
<div class="main-content">
<div class="center-space">
<div class="article-colors article-shadow">
<article>
<header>
<h2 class="article-title">{{ .Title }}</h2>
</header>
<hr>
<section>
<h5>
<ul class="columns columns-responsive">
{{ $baseUrl := .Site.BaseURL }}
{{ $data := .Data }}
{{ range $key, $value := .Data.Terms.Alphabetical }}
<li>
<a href="{{ $baseUrl}}{{ $data.Plural }}/{{ $value.Name | urlize }}">{{ $value.Name }}</a> {{ $value.Count }}
</li>
{{ end }}
</ul>
</h5>
</section>
</article>
</div>
</div>
</div>
{{ partial "core/js.html" . }}
</body>
{{ partial "core/html-end.html" . }}

View File

@@ -0,0 +1,25 @@
{{ $sp := .Site.Params }}
{{ if and (isset $sp "Project") (isset $sp.Project "infinite_scroll") }}
{{ with $sp.Project.infinite_scroll }}
{{ $.Scratch.Set "infinite_scroll" (eq . true) }}
{{ end }}
{{ else }}
{{ $.Scratch.Set "infinite_scroll" false }}
{{ end }}
{{ if eq ($.Scratch.Get "infinite_scroll") false }}
{{ with $sp.infinite_scroll }}
{{ $.Scratch.Set "infinite_scroll" (eq . true) }}
{{ else }}
{{ $.Scratch.Set "infinite_scroll" false }}
{{ end }}
{{ end }}
{{ $infinite_scroll := $.Scratch.Get "infinite_scroll" }}
<div class="masonry-flex-container {{ if $infinite_scroll }}infinite-scroll{{ end }}">
{{ range .Paginator.Pages }}
{{ partial "project/item.html" . }}
{{ end }}
</div>

View File

@@ -0,0 +1,37 @@
{{ $baseUrl := $.Site.BaseURL }}
{{ if isset .Params "image" }}
{{ $.Scratch.Set "image" .Params.image }}
{{ else }}
{{ $.Scratch.Set "image" "/img/placeholder.jpg" }}
{{ end }}
{{ $image := $.Scratch.Get "image" | urlize }}
{{ $title := .Title }}
{{ $summary := .Summary }}
{{ $link := .Permalink }}
<!-- TODO: Figure out why line height causes issues here -->
<div class="flex-item flex-item-spacing no-line-height">
<div class="relative lazyload" data-noscript="">
<noscript>
<a href="{{ $link }}">
<div class="project-container rounded-corners z-depth-1">
<div class="project-container-image rounded-corners-top">
{{ if or (or (isset .Params "video_mp4") (isset .Params "video_ogv")) (or (isset .Params "video_webm") (isset .Params "video_3gp")) }}
{{ .Scratch.Set "class" "rounded-corners-top fill-container-width" }}
{{ partial "extra/video.html" . }}
{{ else }}
<img src="{{ $baseUrl }}{{ $image }}" class="fill-container-width rounded-corners-top" />
{{ end }}
</div>
<div class="rounded-corners-bottom center-text project-container-title">
<h4 class="white-text">{{ $title }}</h4>
{{ partial "extra/categories.html" . }}
<span class="separator">|</span>
{{ partial "extra/tags.html" . }}
</div>
</div>
</a>
</noscript>
</div>
</div>

View File

@@ -0,0 +1,16 @@
{{ partial "core/html-start.html" . }}
{{ partial "core/head.html" . }}
<body class="page-colors minimum-viewport-height">
{{ partial "core/main-menu.html" . }}
<section class="main-content">
{{ partial "project/collection.html" . }}
{{ partial "extra/pagination.html" . }}
</section>
{{ partial "core/js.html" . }}
</body>
{{ partial "core/html-end.html" . }}

View File

@@ -0,0 +1,44 @@
{{ partial "core/html-start.html" . }}
{{ partial "core/head.html" . }}
<body class="page-colors minimum-viewport-height">
{{ partial "core/main-menu.html" . }}
<div class="main-content">
<div class="center-space">
<div class="article-colors">
{{ with .Params.image }}
<img src="{{ . }}" class="fill-container-width"></img>
{{ end }}
<article>
<header>
<h1 class="article-title">{{ .Title }}</h1>
{{ partial "extra/categories.html" . }}
<span class="separator">|</span>
{{ partial "extra/tags.html" . }}
</header>
<hr>
<section>
{{ with .Params.redirect }}
<p>If you are not redirected automatically, follow the <a href="{{ . }}">link</a>.</p>
{{ else }}
{{ .Content }}
{{ end }}
</section>
<footer class="right-align">
<p><small>{{ .Site.Copyright | markdownify }}</small></p>
</footer>
</article>
</div>
</div>
</div>
{{ partial "core/js.html" . }}
</body>
{{ partial "core/html-end.html" . }}