Compare commits
5 Commits
81ece5842c
..
v1.1
| Author | SHA1 | Date | |
|---|---|---|---|
|
0e16b03230
|
|||
|
75c0cf2fc3
|
|||
|
2c6026f976
|
|||
|
676c7adfc1
|
|||
|
824e062cfd
|
@@ -16,7 +16,7 @@ Automagical css image gallery in [Hugo](https://gohugo.io/) using shortcodes. No
|
||||
- Use the `{{< snap-dir >}}` shortcode inside a `{{< gallery >}}` to show all containing files nicely
|
||||
- Next/prev buttons in galleries
|
||||
- The gallery is responsive, images are scaled/cropped to fill square tiles
|
||||
- Pretty captions outside and inside lightbox
|
||||
- Pretty captions outside and inside lightbox
|
||||
- Only requires 4kB of CSS (unminified; you can minify it if you want)
|
||||
- CSS is automatically loaded the first time you use the `{{< figure >}}` shortcode on each page
|
||||
|
||||
@@ -35,13 +35,14 @@ theme = [ "hugo-sustain", "hugo-snap-gallery" ]
|
||||
Specifying your image files:
|
||||
|
||||
- `{{< figure src="image.jpg" >}}` will just show the image with no caption, and open the full version of it when clicked
|
||||
- `{{< figure src="image.jpg" capation="My description" >}}` will show the image and open the full version of it when clicked, and shows the caption text in both views. Markdown is possible
|
||||
- `{{< figure src="image.jpg" caption="My description" >}}` will show the image and open the full version of it when clicked, and shows the caption text in both views. Markdown is possible
|
||||
- `{{< figure src="image.jpg" link="http://example.com" >}}` will use `image.jpg` for thumbnail and link to `http://example.com` when clicked
|
||||
|
||||
Optional parameters:
|
||||
|
||||
- All the [features/parameters](https://gohugo.io/content-management/shortcodes/#figure) of Hugo's built-in `figure` shortcode work as normal, i.e. src, link, rel, title, caption, class, attr (attribution), attrlink, alt. width and height might lead to strange results when used inside `{{< gallery >}}`.
|
||||
- `class` allows you to set any custom classes you want on the `<figure>` tag.
|
||||
- `class` allows you to set any custom classes you want on the `<figure>` tag. The values `no-border`, `sm`, `md`, `lg`, `pull-left` and `pull-right` are made available by this project.
|
||||
- `lightbox` allows you to control the lightbox. The value `none` will disable the lightbox completely.
|
||||
|
||||
Optional parameters work for standalone `{{< figure >}}` shortcodes and inside of `{{< gallery >}}`. However, they cannot be applied to `{{< snap-dir >}}`.
|
||||
|
||||
|
||||
@@ -33,51 +33,55 @@
|
||||
{{- end -}}
|
||||
|
||||
<figure {{ with .Get "class" }}class="{{.}}"{{ end }}>
|
||||
{{ if (.Get "link") -}}
|
||||
<a href="{{ .Get "link" }}"
|
||||
{{- with .Get "target" }} target="{{ . }}"{{ end -}}
|
||||
{{- with .Get "rel" }} rel="{{ . }}"{{ end -}}
|
||||
>
|
||||
{{ else -}}
|
||||
<a href="#{{ $id }}">
|
||||
{{- end -}}
|
||||
<!-- THUMBNAIL -->
|
||||
<img src="{{ $thumb | relURL }}" class="snap-thumb"
|
||||
{{- with .Get "alt" }} alt="{{ . }}"{{ end -}}
|
||||
{{- with .Get "title" }} title="{{ . }}"{{ end -}}
|
||||
{{- with .Get "height" }} height="{{ . }}"{{ end -}}
|
||||
{{- with .Get "width" }} width="{{ . }}"{{ end -}}
|
||||
/>
|
||||
{{- if or (.Get "caption") (.Get "attr")}}
|
||||
<figcaption>
|
||||
{{- .Get "caption" | markdownify -}}
|
||||
{{- with .Get "attr" }} {{ . | markdownify}}{{ end -}}
|
||||
</figcaption>
|
||||
{{- end }}
|
||||
</a>
|
||||
<!-- FULL IMAGE; HIDDEN -->
|
||||
<div class="snap-lightbox" id="{{ $id }}">
|
||||
<a href="#_" class="snap-lightbox-close"></a>
|
||||
<div class="snap-lightbox-inner">
|
||||
<img src="{{ .Get "src" }}" {{ with .Get "alt" }}alt="{{ . }}"{{ end }} />
|
||||
<p>
|
||||
{{- if or (.Get "caption") (.Get "attr") -}}
|
||||
{{- .Get "caption" | markdownify -}}
|
||||
{{- with .Get "attrlink" }} <a href="{{ . }}">{{- end -}}
|
||||
{{- with .Get "attr" }} {{ . | markdownify}}{{ end -}}
|
||||
{{- with .Get "attrlink" }}</a>{{- end -}}
|
||||
<div class="snap-wrapper">
|
||||
{{ if (.Get "link") -}}
|
||||
<a href="{{ .Get "link" }}"
|
||||
{{- with .Get "target" }} target="{{ . }}"{{ end -}}
|
||||
{{- with .Get "rel" }} rel="{{ . }}"{{ end -}}
|
||||
>
|
||||
{{ else -}}
|
||||
{{ if not (eq (.Get "lightbox") "none") }}<a href="#{{ $id }}">{{ end }}
|
||||
{{- end -}}
|
||||
<!-- THUMBNAIL -->
|
||||
<img src="{{ $thumb | relURL }}" class="snap-thumb"
|
||||
{{- with .Get "alt" }} alt="{{ . }}"{{ end -}}
|
||||
{{- with .Get "title" }} title="{{ . }}"{{ end -}}
|
||||
{{- with .Get "height" }} height="{{ . }}"{{ end -}}
|
||||
{{- with .Get "width" }} width="{{ . }}"{{ end -}}
|
||||
/>
|
||||
{{- if or (.Get "caption") (.Get "attr")}}
|
||||
<figcaption>
|
||||
{{- .Get "caption" | markdownify -}}
|
||||
{{- with .Get "attr" }} {{ . | markdownify}}{{ end -}}
|
||||
</figcaption>
|
||||
{{- end }}
|
||||
</p>
|
||||
</div>
|
||||
<a href="#_" class="snap-lightbox-close-button"><i class="snap-lightbox-x"></i></a>
|
||||
{{- if .Parent -}}
|
||||
{{- if not (eq $figid 1) -}}
|
||||
<a href="#{{ $previd }}" class="snap-lightbox-prev"><i class="snap-lightbox-arrow"></i></a>
|
||||
{{- else -}}
|
||||
<span class="snap-lightbox-prev"><i class="snap-lightbox-arrow"></i></span>
|
||||
{{- end -}}
|
||||
<!-- TODO: Somehow try to identify whether this is the last element in the gallery -->
|
||||
<a href="#{{ $nextid }}" class="snap-lightbox-next"><i class="snap-lightbox-arrow"></i></a>
|
||||
{{- end }}
|
||||
</a>
|
||||
<!-- FULL IMAGE; HIDDEN -->
|
||||
{{- if not (eq (.Get "lightbox") "none") -}}
|
||||
<div class="snap-lightbox" id="{{ $id }}">
|
||||
<a href="#_" class="snap-lightbox-close"></a>
|
||||
<div class="snap-lightbox-inner">
|
||||
<img src="{{ .Get "src" }}" {{ with .Get "alt" }}alt="{{ . }}"{{ end }} />
|
||||
<p>
|
||||
{{- if or (.Get "caption") (.Get "attr") -}}
|
||||
{{- .Get "caption" | markdownify -}}
|
||||
{{- with .Get "attrlink" }} <a href="{{ . }}">{{- end -}}
|
||||
{{- with .Get "attr" }} {{ . | markdownify}}{{ end -}}
|
||||
{{- with .Get "attrlink" }}</a>{{- end -}}
|
||||
{{- end }}
|
||||
</p>
|
||||
</div>
|
||||
<a href="#_" class="snap-lightbox-close-button"><i class="snap-lightbox-x"></i></a>
|
||||
{{- if .Parent -}}
|
||||
{{- if not (eq $figid 1) -}}
|
||||
<a href="#{{ $previd }}" class="snap-lightbox-prev"><i class="snap-lightbox-arrow"></i></a>
|
||||
{{- else -}}
|
||||
<span class="snap-lightbox-prev"><i class="snap-lightbox-arrow"></i></span>
|
||||
{{- end -}}
|
||||
<!-- TODO: Somehow try to identify whether this is the last element in the gallery -->
|
||||
<a href="#{{ $nextid }}" class="snap-lightbox-next"><i class="snap-lightbox-arrow"></i></a>
|
||||
{{- end }}
|
||||
</div>
|
||||
{{- end -}}
|
||||
</div>
|
||||
</figure>
|
||||
|
||||
@@ -7,10 +7,15 @@
|
||||
|
||||
figure {
|
||||
max-width: 90%;
|
||||
margin: 30px auto 40px;
|
||||
margin: 10px auto;
|
||||
display: block;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
/* make box with box-shadow only as large as image */
|
||||
.snap-wrapper {
|
||||
box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19);
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
figure a:hover {
|
||||
@@ -22,12 +27,16 @@ figure img {
|
||||
max-height: 100%;
|
||||
}
|
||||
|
||||
figure.small img {
|
||||
max-height: 150px;
|
||||
figure.sm {
|
||||
max-width: 30%;
|
||||
}
|
||||
|
||||
figure.medium img {
|
||||
max-height: 225px;
|
||||
figure.md {
|
||||
max-width: 50%;
|
||||
}
|
||||
|
||||
figure.lg {
|
||||
max-width: 70%;
|
||||
}
|
||||
|
||||
figure.pull-right {
|
||||
@@ -51,6 +60,11 @@ figure figcaption {
|
||||
color: #FFF;
|
||||
}
|
||||
|
||||
/* Extra classes for figures */
|
||||
figure.no-border .snap-wrapper {
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
/** GALLERY MARKUP **/
|
||||
.snap-gallery {
|
||||
margin: 10px;
|
||||
@@ -59,6 +73,11 @@ figure figcaption {
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
/* avoid sick effects of inline-block on gallery elements */
|
||||
.snap-gallery .snap-wrapper {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.snap-gallery figure {
|
||||
position: relative;
|
||||
width: 30%;
|
||||
|
||||
Reference in New Issue
Block a user