mirror of
https://github.com/tiennm99/HugoBlox-kit.git
synced 2026-10-13 02:14:21 +00:00
feat: add placement option for featured images
Placement options: 1 = Full column width, 2 = Out-set, 3 = Screen-width. Defaults to 1, full column width. Deprecates the split title/image style that was shown on XL displays. Close #1175
This commit is contained in:
1 parent
e4f0e80dfb
commit
80b3eb6ac4
3 files changed
+41
-82
No files matched your search
@@ -13,14 +13,6 @@ article {
|
||||
margin: 0 auto 0 auto;
|
||||
}
|
||||
|
||||
.split-header {
|
||||
margin-bottom: 2rem;
|
||||
}
|
||||
|
||||
.split-header .share-box {
|
||||
float: left;
|
||||
}
|
||||
|
||||
.page-subtitle {
|
||||
font-size: 1.15rem;
|
||||
color: rgba(0,0,0,.54);
|
||||
@@ -31,25 +23,6 @@ article {
|
||||
color: rgba(255,255,255,0.54);
|
||||
}
|
||||
|
||||
.split-header .page-subtitle {
|
||||
margin-bottom: 1.5rem;
|
||||
}
|
||||
|
||||
.split-header-content {
|
||||
max-width: 612px;
|
||||
width: 100%;
|
||||
padding: 60px 60px 32px 0;
|
||||
margin-left: auto;
|
||||
-webkit-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.split-header-image {
|
||||
position: relative; /* Required for caption positioning */
|
||||
clear: both;
|
||||
max-width: 580px;
|
||||
}
|
||||
|
||||
.article-header {
|
||||
position: relative; /* Required for caption positioning */
|
||||
clear: both;
|
||||
@@ -60,30 +33,17 @@ article {
|
||||
height: auto;
|
||||
}
|
||||
|
||||
.featured-image-wrapper {
|
||||
position: relative;
|
||||
padding-left: 0; /* Override container padding. */
|
||||
padding-right: 0; /* Override container padding. */
|
||||
}
|
||||
|
||||
.featured-image {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
background-position: left;
|
||||
background-origin: border-box;
|
||||
background-size: cover;
|
||||
height: 60vh;
|
||||
min-height: 500px;
|
||||
-webkit-box-flex: 1;
|
||||
-webkit-flex: 1 0 auto;
|
||||
-ms-flex: 1 0 auto;
|
||||
flex: 1 0 auto
|
||||
}
|
||||
|
||||
@media screen and (max-width: 1199px) {
|
||||
.featured-image {
|
||||
min-height: 400px;
|
||||
height: auto;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (max-width: 767px) {
|
||||
.featured-image {
|
||||
min-height: 300px;
|
||||
}
|
||||
display: block;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.article-header-caption {
|
||||
|
||||
@@ -14,8 +14,10 @@ draft: false
|
||||
|
||||
# Featured image
|
||||
# To use, add an image named `featured.jpg/png` to your page's folder.
|
||||
# Placement options: 1 = Full column width, 2 = Out-set, 3 = Screen-width
|
||||
# Focal point options: Smart, Center, TopLeft, Top, TopRight, Left, Right, BottomLeft, Bottom, BottomRight
|
||||
image:
|
||||
placement: 1
|
||||
caption: 'Image credit: [**Unsplash**](https://unsplash.com/photos/CpkOjOcXdUY)'
|
||||
focal_point: ""
|
||||
preview_only: false
|
||||
@@ -71,7 +73,7 @@ gallery_item:
|
||||
- [Decorate your laptop or journal with an Academic sticker](https://www.redbubble.com/people/neutreno/works/34387919-academic)
|
||||
- [Wear the T-shirt](https://academic.threadless.com/)
|
||||
|
||||
[](https://github.com/gcushen/hugo-academic/)
|
||||
{{< figure src="https://raw.githubusercontent.com/gcushen/hugo-academic/master/academic.png" lightbox="true" >}}
|
||||
|
||||
**Key features:**
|
||||
|
||||
|
||||
@@ -28,42 +28,31 @@
|
||||
</div>
|
||||
{{end}}
|
||||
|
||||
{{/* Featured image */}}
|
||||
{{/* Featured image layout */}}
|
||||
{{ if and $featured (not .Params.image.preview_only) }}
|
||||
{{ $image := $featured.Resize "800x" }}
|
||||
<div class="article-header d-xl-none">
|
||||
<div class="featured-image" style="background-image: url('{{ $image.RelPermalink }}');"></div>
|
||||
{{ with $.Params.image.caption }}<span class="article-header-caption">{{ . | markdownify | emojify }}</span>{{ end }}
|
||||
</div>
|
||||
|
||||
{{ $image := $featured.Fill (printf "680x500 q90 %s" $anchor) }}
|
||||
<div class="container-fluid split-header d-none d-xl-block">
|
||||
<div class="row">
|
||||
<div class="col-6">
|
||||
<div class="split-header-content">
|
||||
<h1 itemprop="name">{{ $title }}</h1>
|
||||
{{/* Fit image within max size. */}}
|
||||
{{ $image := $featured }}
|
||||
|
||||
{{ with $page.Params.subtitle }}
|
||||
<p class="page-subtitle">{{ . | markdownify | emojify }}</p>
|
||||
{{end}}
|
||||
{{/* Determine image placement. */}}
|
||||
{{ $placement := .Params.image.placement | default 1 }}{{/* Default to full column width. */}}
|
||||
{{ $image_container := "" }}
|
||||
{{ if eq $placement 2}}
|
||||
{{ $image_container = "container" }}
|
||||
{{ if gt $featured.Width 1200 }}
|
||||
{{ $image = $featured.Resize "1200x" }}
|
||||
{{ end }}
|
||||
{{else if eq $placement 3}}
|
||||
{{ $image_container = "container-fluid" }}
|
||||
{{ $image := $featured.Fit "2560x2560" }}
|
||||
{{else}}
|
||||
{{ $image_container = "article-container" }}
|
||||
{{ if gt $featured.Width 720 }}
|
||||
{{ $image = $featured.Resize "720x" }}
|
||||
{{ end }}
|
||||
{{end}}
|
||||
|
||||
{{ partial "page_metadata" (dict "page" $page "is_list" 0) }}
|
||||
|
||||
{{ partial "page_links_div.html" $page }}
|
||||
|
||||
{{ partial "share.html" $page }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<div class="split-header-image">
|
||||
<img src="{{ $image.RelPermalink }}" itemprop="image" alt="">
|
||||
{{ with $.Params.image.caption }}<span class="article-header-caption">{{ . | markdownify | emojify }}</span>{{ end }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="article-container d-xl-none">
|
||||
<div class="article-container pt-3">
|
||||
<h1 itemprop="name">{{ $title }}</h1>
|
||||
|
||||
{{ with $page.Params.subtitle }}
|
||||
@@ -73,6 +62,14 @@
|
||||
{{ partial "page_metadata" (dict "page" $page "is_list" 0 "share" true) }}
|
||||
{{ partial "page_links_div.html" $page }}
|
||||
</div>
|
||||
|
||||
{{/* Featured image */}}
|
||||
<div class="article-header {{$image_container}} featured-image-wrapper mt-4 mb-4" style="max-width: {{$image.Width}}px; max-height: {{$image.Height}}px;">
|
||||
<div style="position: relative">
|
||||
<img src="{{ $image.RelPermalink }}" alt="" class="featured-image">
|
||||
{{ with $.Params.image.caption }}<span class="article-header-caption">{{ . | markdownify | emojify }}</span>{{ end }}
|
||||
</div>
|
||||
</div>
|
||||
{{else}}
|
||||
{{/* Case when page has no image */}}
|
||||
|
||||
|
||||
Reference in new issue
Block a user