diff options
-rw-r--r-- | layout/index.ejs | 198 | ||||
-rw-r--r-- | layout/layout.ejs | 8 | ||||
-rw-r--r-- | layout/post.ejs | 114 | ||||
-rw-r--r-- | source/css/style.css | 12 |
4 files changed, 168 insertions, 164 deletions
diff --git a/layout/index.ejs b/layout/index.ejs index 7b91e49..cfb032a 100644 --- a/layout/index.ejs +++ b/layout/index.ejs @@ -1,117 +1,111 @@ -<section class="hero"> - <div class="hero-body"> - <div class="container"> - <% page.posts.each(function (post) { %> - <div class="columns post-entry"> - <div class="column is-8 is-offset-2"> - <div class="card"> - <!-- Post thumbnail with lazayload support --> - <% if (post.thumbnail) { %> - <div class="card-iamge"> - <figure class="image is-16by9"> - <% if (post.thumbnail) { %> - <% if (theme.lazyload === true) { %> - <img class="lazy" data-src="<%= post.thumbnail %>" /> - <% } else { %> - <img src="<%= post.thumbnail %>" /> - <% } %> - <% } %> - </figure> - </div> +<% page.posts.each(function (post) { %> + <div class="columns "> + <div class="column is-8 is-offset-2"> + <div class="card post-entry"> + <!-- Post thumbnail with lazayload support --> + <% if (post.thumbnail) { %> + <div class="card-iamge"> + <figure class="image is-16by9"> + <% if (post.thumbnail) { %> + <% if (theme.lazyload === true) { %> + <img class="lazy" data-src="<%= post.thumbnail %>" /> + <% } else { %> + <img src="<%= post.thumbnail %>" /> + <% } %> <% } %> + </figure> + </div> + <% } %> - <div class="card-content"> - - <!-- Post title --> - <p class="title is-4"> - <%= post.title %> - </p> - - <!-- Post meta info --> - <div class="level"> - <div class="level-left"> - <div class="level-item"> + <div class="card-content"> + + <!-- Post title --> + <p class="title is-4"> + <%= post.title %> + </p> - <!-- Podcast duration with post date --> - <% if (post.podcast && theme.podcast) { %> - <div class="tags has-addons"> - <% - const duration = post.podcast.duration; - const hour = Math.floor(duration / 3600); - const minute = Math.floor((duration / 60) % 60); - const second = Math.floor(duration % 60); - const viewstr = hour + ':' + String(minute).padStart(2, '0') + ':' + String(second).padStart(2, '0'); - %> - <span class="tag is-danger"><%- viewstr %></span> - <span class="tag"><%- date(post.date, theme.timeformat) %></span> - </div> - <% } else { %> - <div class="tags"> - <span class="tag is-danger"> - <%- date(post.date, theme.timeformat) %> - </span> - </div> - <% } %> - </div> - - <!-- Post tags --> - <div class="level-item"> - <% if (post.tags) { %> - <div class="tags"> - <% (post.tags).forEach(function(item) { %> - <span class="tag"># <%= item.name %></span> - <% }); %> - </div> - <% } %> - </div> + <!-- Post meta info --> + <div class="level"> + <div class="level-left"> + <div class="level-item"> + <!-- Podcast duration with post date --> + <% if (post.podcast && theme.podcast) { %> + <div class="tags has-addons"> + <% + const duration = post.podcast.duration; + const hour = Math.floor(duration / 3600); + const minute = Math.floor((duration / 60) % 60); + const second = Math.floor(duration % 60); + const viewstr = hour + ':' + String(minute).padStart(2, '0') + ':' + String(second).padStart(2, '0'); + %> + <span class="tag is-danger"><%- viewstr %></span> + <span class="tag"><%- date(post.date, theme.timeformat) %></span> </div> - </div> - - <!-- Post content or excerpt --> - <section class="content has-text-weight-light is-size-6"> - <% if (post.excerpt) { %> - <p><%- post.excerpt %></p> - <% } else { %> - <p><%- post.content %></p> - <% } %> - </section> + <% } else { %> + <div class="tags"> + <span class="tag is-danger"> + <%- date(post.date, theme.timeformat) %> + </span> + </div> + <% } %> </div> - - <div class="card-footer"> - <a href="<%- url_for(post.path) %>" class="card-footer-item has-text-danger has-text-weight-medium is-uppercase"> - <% if (post.podcast && theme.podcast) { %> - <%- __("listen") %> - <% } else { %> - <%- __("read") %> - <% } %> - </a> + + <!-- Post tags --> + <div class="level-item"> + <% if (post.tags) { %> + <div class="tags"> + <% (post.tags).forEach(function(item) { %> + <span class="tag"># <%= item.name %></span> + <% }); %> + </div> + <% } %> </div> </div> </div> + + <!-- Post content or excerpt --> + <section class="content has-text-weight-light is-size-6"> + <% if (post.excerpt) { %> + <p><%- post.excerpt %></p> + <% } else { %> + <p><%- post.content %></p> + <% } %> + </section> </div> - <% }); %> - <!-- Page navigation --> - <% if (page.prev || page.next) { %> - <div class="columns pagination-bar"> - <div class="column is-8 is-offset-2"> - <nav class="pagination is-centered" role="navigation" aria-label="pagination"> - <% if (page.prev) { %> - <a class="button is-light" href="<%- url_for(page.prev_link) %>"><%- __("prev") %></a> - <% } else { %> - <a class="button is-disabled is-light" disabled><%- __("prev") %></a> - <% } %> - <% if (page.next) { %> - <a class="button is-light" href="<%- url_for(page.next_link) %>"><%- __("next") %></a> - <% } else { %> - <a class="button is-disabled is-light" disabled><%- __("next") %></a> - <% } %> - </nav> - </div> + <div class="card-footer"> + <a href="<%- url_for(post.path) %>" class="card-footer-item has-text-danger has-text-weight-medium is-uppercase"> + <% if (post.podcast && theme.podcast) { %> + <%- __("listen") %> + <% } else { %> + <%- __("read") %> + <% } %> + </a> </div> - <% } %> + + </div> + </div> + </div> +<% }); %> + +<!-- Page navigation --> +<% if (page.prev || page.next) { %> + <div class="columns pagination-bar"> + <div class="column is-8 is-offset-2"> + <nav class="pagination is-centered" role="navigation" aria-label="pagination"> + <% if (page.prev) { %> + <a class="button is-light" href="<%- url_for(page.prev_link) %>"><%- __("prev") %></a> + <% } else { %> + <a class="button is-disabled is-light" disabled><%- __("prev") %></a> + <% } %> + <% if (page.next) { %> + <a class="button is-light" href="<%- url_for(page.next_link) %>"><%- __("next") %></a> + <% } else { %> + <a class="button is-disabled is-light" disabled><%- __("next") %></a> + <% } %> + </nav> </div> </div> -</section> +<% } %> diff --git a/layout/layout.ejs b/layout/layout.ejs index 96d7f6a..d204ff4 100644 --- a/layout/layout.ejs +++ b/layout/layout.ejs @@ -4,7 +4,13 @@ <body> <%- partial('_partial/header') %> <div class="wrapper"> - <%- body %> + <section class="hero"> + <div class="hero-body"> + <div class="container"> + <%- body %> + </div> + </div> + </section> </div> <%- partial('_partial/footer') %> </body> diff --git a/layout/post.ejs b/layout/post.ejs index 6b8ba67..9c04e82 100644 --- a/layout/post.ejs +++ b/layout/post.ejs @@ -1,67 +1,61 @@ -<section class="hero"> - <div class="hero-body"> - <div class="container"> - <div class="columns"> - <div class="column is-8 is-offset-2"> - <div class="card"> - <% if (page.thumbnail) { %> - <div class="card-iamge"> - <figure class="image is-16by9"> - <% if (theme.lazyload === true) { %> - <img class="lazy" data-src="<%= page.thumbnail %>" /> - <% } else { %> - <img src="<%= page.thumbnail %>" /> - <% } %> - </figure> - </div> +<div class="columns"> + <div class="column is-8 is-offset-2"> + <div class="card post-card"> + <% if (page.thumbnail) { %> + <div class="card-iamge"> + <figure class="image is-16by9"> + <% if (theme.lazyload === true) { %> + <img class="lazy" data-src="<%= page.thumbnail %>" /> + <% } else { %> + <img src="<%= page.thumbnail %>" /> <% } %> - <div class="card-content"> - <section class="section"> - <h2 class="title has-text-centered"> - <%= page.title %> - </h2> - <% if (page.podcast) { %> - <div class="post-podcast-player"></div> - <script> - window.addEventListener("load", () => { - const player = new Shikwasa({ - container: () => document.querySelector('.post-podcast-player'), - audio: { - title: "<%= page.title %>", - artist: "<%= page.podcast.author %>", - cover: "<%= page.podcast.cover %>", - src: "<%= page.podcast.media %>" - }, - fixed: { - type: "auto", - position: "bottom" - }, - themeColor: "red" - }); - }, false); - </script> - <% } %> - <section class="content post-content is-size-6"> - <%- page.content %> - </section> - <div class="level"> - <div class="level-left"> - <div class="level-item"> - <% if (page.tags) { %> - <div class="tags"> - <% (page.tags).forEach(function(item) { %> - <span class="tag"># <%= item.name %></span> - <% }); %> - </div> - <% } %> - </div> + </figure> + </div> + <% } %> + <div class="card-content"> + <section class="section"> + <h2 class="title has-text-centered"> + <%= page.title %> + </h2> + <% if (page.podcast) { %> + <div class="post-podcast-player"></div> + <script> + window.addEventListener("load", () => { + const player = new Shikwasa({ + container: () => document.querySelector('.post-podcast-player'), + audio: { + title: "<%= page.title %>", + artist: "<%= page.podcast.author %>", + cover: "<%= page.podcast.cover %>", + src: "<%= page.podcast.media %>" + }, + fixed: { + type: "auto", + position: "bottom" + }, + themeColor: "red" + }); + }, false); + </script> + <% } %> + <section class="content post-content is-size-6"> + <%- page.content %> + </section> + <div class="level"> + <div class="level-left"> + <div class="level-item"> + <% if (page.tags) { %> + <div class="tags"> + <% (page.tags).forEach(function(item) { %> + <span class="tag"># <%= item.name %></span> + <% }); %> </div> - </div> - </section> + <% } %> + </div> </div> </div> - </div> + </section> </div> </div> </div> -</section>
\ No newline at end of file +</div>
\ No newline at end of file diff --git a/source/css/style.css b/source/css/style.css index 5596590..009e27b 100644 --- a/source/css/style.css +++ b/source/css/style.css @@ -22,7 +22,17 @@ pre { } .post-entry { - margin-bottom: 3rem !important; + margin-bottom: 1.5rem !important; + margin-top: 1.5rem !important; + transition: box-shadow 0.1s; +} + +.post-entry:hover { + box-shadow: 0 1em 2em -0.125em rgb(10 10 10 / 10%), 0 0 0 1px rgb(10 10 10 / 2%); +} + +.post-card { + margin-top: 1.5rem !important; } .pagination-bar { |