From 725f02b285daea9c6cc01e70266434de16c7b355 Mon Sep 17 00:00:00 2001
From: LucasVadilho <lucas.vadilho@gmail.com>
Date: Tue, 15 Sep 2020 15:49:25 +0000
Subject: [PATCH] Add support for thumbnail in the post preview

---
 layouts/index.html   |   45 +++++++++++++---------
 assets/css/style.css |   29 ++++++++++++++
 2 files changed, 54 insertions(+), 20 deletions(-)

diff --git a/assets/css/style.css b/assets/css/style.css
index b117688..adf8eef 100644
--- a/assets/css/style.css
+++ b/assets/css/style.css
@@ -12,6 +12,8 @@
     --tag-color: #424242;
     --blockquote-text-color: #858585;
     --blockquote-border-color: #dfe2e5;
+    --thumbnail-size: 150px;
+    --thumbnail-position: 1; /* -1 left, 1 right */
     scroll-padding-top: 100px;
 }
 
@@ -323,7 +325,9 @@
 }
 
 .post {
+    /* max-width: 720px; better for larger resolutions */
     background-color: var(--bg-color);
+    border-bottom: 1px solid var(--border-color);
     margin: 30px;
 }
 
@@ -390,7 +394,6 @@
 
 .post .post-footer {
     padding: 0 0 10px 0;
-    border-bottom: 1px solid var(--border-color);
 }
 
 .post .post-footer .meta {
@@ -461,6 +464,30 @@
     text-decoration: none;
 }
 
+/* Post preview */
+.preview {
+    display: flex;
+    justify-content: space-between;
+}
+
+.preview .thumbnail {
+    order: var(--thumbnail-position);
+    height: var(--thumbnail-size);
+    width: var(--thumbnail-size);
+    flex: 0 0 auto;
+    margin: 0 20px 20px 20px;
+    border-radius: 50%;
+    overflow: hidden;
+    display: flex;
+    justify-content: center;
+    align-items: center;
+    background-color: var(--secondary-bg-color); /* for lazy loading */
+}
+
+.preview .thumbnail img {
+    max-height: 100%;
+}
+
 .pagination {
     margin: 30px;
     padding: 0px 0 56px 0;
diff --git a/layouts/index.html b/layouts/index.html
index 6bab831..dbd9081 100644
--- a/layouts/index.html
+++ b/layouts/index.html
@@ -1,29 +1,36 @@
 {{ define "main" }}
     {{ $paginator := .Paginate (where .Site.RegularPages "Type" "in" .Site.Params.mainSections) }}
     {{ range $paginator.Pages }}
-        <div class="post animated fadeInDown">
-            <div class="post-title">
-                <h3><a href="{{ .RelPermalink }}">{{ .Title }}</a>
-                </h3>
-            </div>
-            <div class="post-content">
-                <div class="p_part"><p>{{ .Summary }}</p></div>
+        <div class="post animated fadeInDown preview">
+            <div class="post-text">
+                <div class="post-title">
+                    <h3><a href="{{ .RelPermalink }}">{{ .Title }}</a>
+                    </h3>
+                </div>
+                <div class="post-content">
+                    <div class="p_part"><p>{{ .Summary }}</p></div>
 
-                <div class="p_part"><p></p></div>
-            </div>
-            <div class="post-footer">
-                <div class="meta">
-                    <div class="info"><em class="fa fa-sun-o"></em><span
-                                class="date">{{ .Date.Format "Mon, Jan 2, 2006" }}</span>
-                        {{ with .Params.tags }}
-                            {{- range $index, $el := . -}}
-                                <a class="tag"
-                                   href="{{ ( printf "tags/%s/" ( . | urlize ) ) | relLangURL }}">{{ . }}</a>
-                            {{- end -}}
-                        {{ end }}
+                    <div class="p_part"><p></p></div>
+                </div>
+                <div class="post-footer">
+                    <div class="meta">
+                        <div class="info"><em class="fa fa-sun-o"></em><span
+                                    class="date">{{ .Date.Format "Mon, Jan 2, 2006" }}</span>
+                            {{ with .Params.tags }}
+                                {{- range $index, $el := . -}}
+                                    <a class="tag"
+                                    href="{{ ( printf "tags/%s/" ( . | urlize ) ) | relLangURL }}">{{ . }}</a>
+                                {{- end -}}
+                            {{ end }}
+                        </div>
                     </div>
                 </div>
             </div>
+            {{ if isset .Params "thumbnail" }}
+            <div class="thumbnail">
+                <img src="{{ .Params.thumbnail | absURL }}" loading="lazy">
+            </div>
+            {{ end }}
         </div>
     {{ end }}
     <div class="pagination">

--
Gitblit v1.10.0