Move the preview image of the post to the top

This commit is contained in:
Cotes Chung 2021-12-03 16:36:40 +08:00
parent 6a65f3a7f7
commit 3c91dc1f6f
5 changed files with 90 additions and 86 deletions

View File

@ -10,6 +10,16 @@ tail_includes:
{% include lang.html %} {% include lang.html %}
{% if page.image.src %}
{% capture bg %}
{% unless page.image.no_bg %}{{ 'bg' }}{% endunless %}
{% endcapture %}
<img src="{{ page.image.src }}" class="preview-img {{ bg | strip }}"
alt="{{ page.image.alt | default: "Preview Image" }}"
{% if page.image.width %}width="{{ page.image.width }}"{% endif %}
{% if page.image.height %}height="{{ page.image.height }}"{% endif %}>
{% endif %}
<h1 data-toc-skip>{{ page.title }}</h1> <h1 data-toc-skip>{{ page.title }}</h1>
<div class="post-meta text-muted d-flex flex-column"> <div class="post-meta text-muted d-flex flex-column">
@ -47,17 +57,7 @@ tail_includes:
</div> <!-- .post-meta --> </div> <!-- .post-meta -->
<div class="post-content"> <div class="post-content">
{% if page.image.src %}
<img src="{{ page.image.src }}"
class="preview-img"
alt="{{ page.image.alt | default: "Preview Image" }}"
{% if page.image.width %}width="{{ page.image.width }}"{% endif %}
{% if page.image.height %}height="{{ page.image.height }}"{% endif %}>
{% endif %}
{{ content }} {{ content }}
</div> </div>
<div class="post-tail-wrapper text-muted"> <div class="post-tail-wrapper text-muted">

View File

@ -196,6 +196,33 @@ i { // fontawesome icons
} }
} }
@keyframes fade-in {
from { opacity: 0; }
to { opacity: 1; }
}
img[data-src] {
margin: 0.5rem 0;
&[data-loaded=true] {
animation: fade-in linear 0.5s;
}
&.left {
float: left;
margin: 0.75rem 1rem 1rem 0;
}
&.right {
float: right;
margin: 0.75rem 0 1rem 1rem;
}
&.shadow {
filter: drop-shadow(2px 4px 6px rgba(0, 0, 0, 0.08));
}
}
/* --- Panels --- */ /* --- Panels --- */
.access { .access {
@ -332,23 +359,6 @@ i { // fontawesome icons
} }
} }
.post {
h1 {
margin-top: 3rem;
margin-bottom: 1rem;
}
em { /* MarkDown italic */
padding-right: 0.2rem;
}
a:hover {
code {
@extend %link-hover;
}
}
}
/* --- Begin of Markdown table style --- */ /* --- Begin of Markdown table style --- */
.table-wrapper { // it will be created by Liquid .table-wrapper { // it will be created by Liquid
@ -390,6 +400,39 @@ i { // fontawesome icons
/* --- post --- */ /* --- post --- */
.post {
h1 {
margin-top: 3rem;
margin-bottom: 1rem;
}
em { // MarkDown italic
padding-right: 0.2rem;
}
a {
&.img-link {
@extend %no-cursor;
}
&.popup { // created by `_includes/img-extra.html`
cursor: zoom-in;
> img[data-src]:not(.normal):not(.left):not(.right) {
@include align-center;
}
}
&:hover {
code {
@extend %link-hover;
}
}
} // a
}
.pageviews .fa-spinner { .pageviews .fa-spinner {
font-size: 80%; font-size: 80%;
} }
@ -418,47 +461,6 @@ i { // fontawesome icons
overflow-wrap: break-word; overflow-wrap: break-word;
word-wrap: break-word; word-wrap: break-word;
@mixin caption {
+ em {
display: block;
text-align: center;
font-style: normal;
font-size: 80%;
padding: 0;
color: #6d6c6c;
}
}
@keyframes fade-in {
from { opacity: 0; }
to { opacity: 1; }
}
img[data-src] {
margin: 0.5rem 0;
&[data-loaded=true] {
animation: fade-in linear 0.5s;
}
&.left {
float: left;
margin: 0.75rem 1rem 1rem 0;
}
&.right {
float: right;
margin: 0.75rem 0 1rem 1rem;
}
&.shadow {
filter: drop-shadow(2px 4px 6px rgba(0, 0, 0, 0.08));
}
@include caption;
}
a { a {
&:not(.img-link) { &:not(.img-link) {
@extend %link-underline; @extend %link-underline;
@ -468,21 +470,16 @@ i { // fontawesome icons
} }
} }
&.popup { // created by `_includes/img-extra.html` &.img-link + em {
cursor: zoom-in; display: block;
text-align: center;
> img[data-src]:not(.normal):not(.left):not(.right) { font-style: normal;
@include align-center; font-size: 80%;
} padding: 0;
color: #6d6c6c;
} }
&.img-link { }
@include caption;
@extend %no-cursor;
}
} // a
ul { ul {
// attribute 'hide-bullet' was added by liquid // attribute 'hide-bullet' was added by liquid

View File

@ -67,6 +67,7 @@
--card-bg: rgb(39, 40, 43); --card-bg: rgb(39, 40, 43);
--card-border-color: rgb(53, 53, 60); --card-border-color: rgb(53, 53, 60);
--card-box-shadow: var(--main-wrapper-bg); --card-box-shadow: var(--main-wrapper-bg);
--preview-img-bg: radial-gradient(circle, rgb(22 22 24) 0%, rgb(32 32 32) 100%);
/* tags */ /* tags */
--tag-border: rgb(59, 79, 88); --tag-border: rgb(59, 79, 88);

View File

@ -66,6 +66,7 @@
--tb-odd-bg: #fbfcfd; --tb-odd-bg: #fbfcfd;
--tb-border-color: #eaeaea; --tb-border-color: #eaeaea;
--dash-color: silver; --dash-color: silver;
--preview-img-bg: radial-gradient(circle, rgb(255 255 255) 0%, rgb(249 249 249) 100%);
/* Categories */ /* Categories */
--categories-hover-bg: var(--btn-border-color); --categories-hover-bg: var(--btn-border-color);

View File

@ -31,12 +31,13 @@ h1 + .post-meta {
} }
} }
.post-content { img.preview-img {
.preview-img { margin-top: 3.75rem;
@include align-center; margin-bottom: 0;
border-radius: 6px;
margin-top: 0; &.bg[data-loaded=true] {
margin-bottom: 2.5rem !important; background: var(--preview-img-bg);
} }
} }
@ -321,6 +322,10 @@ nav[data-toggle=toc] {
} // .license-wrapper } // .license-wrapper
@media all and (max-width: 576px) { @media all and (max-width: 576px) {
.preview-img[data-src] {
margin-top: 2.2rem;
}
.post-tail-bottom { .post-tail-bottom {
-ms-flex-wrap: wrap-reverse !important; -ms-flex-wrap: wrap-reverse !important;
flex-wrap: wrap-reverse !important; flex-wrap: wrap-reverse !important;