diff options
| author | Volpeon <git@volpeon.ink> | 2021-12-29 15:51:49 +0100 |
|---|---|---|
| committer | Volpeon <git@volpeon.ink> | 2021-12-29 15:51:49 +0100 |
| commit | 312015e8f74ca1738e7160e5d66cad9dcb07c6fd (patch) | |
| tree | 0fa7922b190e22bfd82627d4b65552a981cd0340 | |
| parent | Support for more complex layouts (diff) | |
| download | volpeon.ink-312015e8f74ca1738e7160e5d66cad9dcb07c6fd.tar.gz volpeon.ink-312015e8f74ca1738e7160e5d66cad9dcb07c6fd.tar.bz2 volpeon.ink-312015e8f74ca1738e7160e5d66cad9dcb07c6fd.zip | |
Initial gallery macro
| -rw-r--r-- | assets/css/components/_gallery.scss | 25 | ||||
| -rw-r--r-- | assets/css/components/_header.scss | 9 | ||||
| -rw-r--r-- | assets/css/objects/_icon.scss | 2 | ||||
| -rw-r--r-- | assets/css/style.scss | 1 | ||||
| -rw-r--r-- | content/projects/drawings/2021-refsheet/index.md | 4 | ||||
| -rw-r--r-- | filters/macros.lua | 36 | ||||
| -rw-r--r-- | templates/base.html | 2 | ||||
| -rw-r--r-- | templates/layouts/gallery.html | 11 |
8 files changed, 72 insertions, 18 deletions
diff --git a/assets/css/components/_gallery.scss b/assets/css/components/_gallery.scss new file mode 100644 index 0000000..651d873 --- /dev/null +++ b/assets/css/components/_gallery.scss | |||
| @@ -0,0 +1,25 @@ | |||
| 1 | @include namespace('gallery') { | ||
| 2 | @include store(( | ||
| 3 | --dims: ( | ||
| 4 | --col-width: 17em | ||
| 5 | ) | ||
| 6 | )); | ||
| 7 | |||
| 8 | @include component(namespace()) { | ||
| 9 | margin-top: $line-height * 1rem; | ||
| 10 | |||
| 11 | @include element('items') { | ||
| 12 | display: grid; | ||
| 13 | grid-template-columns: repeat(auto-fill, minmax(#{prop(--dims --col-width)}, 1fr)); | ||
| 14 | gap: 20px; | ||
| 15 | } | ||
| 16 | |||
| 17 | @include element('item') { | ||
| 18 | display: block; | ||
| 19 | } | ||
| 20 | |||
| 21 | @include element('img') { | ||
| 22 | display: block; | ||
| 23 | } | ||
| 24 | } | ||
| 25 | } | ||
diff --git a/assets/css/components/_header.scss b/assets/css/components/_header.scss index 56d09cd..60f4e05 100644 --- a/assets/css/components/_header.scss +++ b/assets/css/components/_header.scss | |||
| @@ -70,10 +70,19 @@ | |||
| 70 | height: prop(--dims --icon); | 70 | height: prop(--dims --icon); |
| 71 | } | 71 | } |
| 72 | 72 | ||
| 73 | @include modifier('fixed') { | ||
| 74 | position: fixed; | ||
| 75 | } | ||
| 76 | |||
| 73 | @include media('>=lg') { | 77 | @include media('>=lg') { |
| 74 | position: sticky; | 78 | position: sticky; |
| 79 | z-index: 100; | ||
| 75 | top: 0; | 80 | top: 0; |
| 76 | margin-bottom: calc(-.75 * #{prop(--dims --height)}); | 81 | margin-bottom: calc(-.75 * #{prop(--dims --height)}); |
| 82 | |||
| 83 | @include modifier('fixed') { | ||
| 84 | position: fixed; | ||
| 85 | } | ||
| 77 | } | 86 | } |
| 78 | 87 | ||
| 79 | @media print { | 88 | @media print { |
diff --git a/assets/css/objects/_icon.scss b/assets/css/objects/_icon.scss index f80f422..53f6f78 100644 --- a/assets/css/objects/_icon.scss +++ b/assets/css/objects/_icon.scss | |||
| @@ -20,7 +20,7 @@ | |||
| 20 | 20 | ||
| 21 | @include modifier('snow') { | 21 | @include modifier('snow') { |
| 22 | position: fixed; | 22 | position: fixed; |
| 23 | z-index: 9999; | 23 | z-index: 1000; |
| 24 | top: -1.2em; | 24 | top: -1.2em; |
| 25 | width: 1em; | 25 | width: 1em; |
| 26 | height: 1em; | 26 | height: 1em; |
diff --git a/assets/css/style.scss b/assets/css/style.scss index db2d4cb..45b733d 100644 --- a/assets/css/style.scss +++ b/assets/css/style.scss | |||
| @@ -17,6 +17,7 @@ | |||
| 17 | @import 'components/footer'; | 17 | @import 'components/footer'; |
| 18 | @import 'components/card'; | 18 | @import 'components/card'; |
| 19 | @import 'components/note'; | 19 | @import 'components/note'; |
| 20 | @import 'components/gallery'; | ||
| 20 | 21 | ||
| 21 | @import 'layouts/card-list'; | 22 | @import 'layouts/card-list'; |
| 22 | 23 | ||
diff --git a/content/projects/drawings/2021-refsheet/index.md b/content/projects/drawings/2021-refsheet/index.md index 2163fac..696abe5 100644 --- a/content/projects/drawings/2021-refsheet/index.md +++ b/content/projects/drawings/2021-refsheet/index.md | |||
| @@ -4,8 +4,8 @@ date: 2021-10-06 | |||
| 4 | thumbnail: png | 4 | thumbnail: png |
| 5 | --- | 5 | --- |
| 6 | 6 | ||
| 7 | ::: gallery | ||
| 7 |  | 8 |  |
| 8 | |||
| 9 |  | 9 |  |
| 10 | |||
| 11 |  | 10 |  |
| 11 | ::: | ||
diff --git a/filters/macros.lua b/filters/macros.lua index 9e9d954..dc04cfd 100644 --- a/filters/macros.lua +++ b/filters/macros.lua | |||
| @@ -1,7 +1,39 @@ | |||
| 1 | function note(el) | ||
| 2 | el.classes = pandoc.List() | ||
| 3 | el.classes:insert("c-note") | ||
| 4 | return el | ||
| 5 | end | ||
| 6 | |||
| 7 | function gallery(el) | ||
| 8 | el.classes = pandoc.List() | ||
| 9 | el.classes:insert("c-gallery") | ||
| 10 | |||
| 11 | local cur = pandoc.Div(pandoc.List(), { class = "c-gallery__current" }) | ||
| 12 | local imageList = pandoc.Div(pandoc.List(), { class = "c-gallery__items" }) | ||
| 13 | |||
| 14 | pandoc.walk_block(el, { | ||
| 15 | Image = function(iel) | ||
| 16 | iel.classes = pandoc.List() | ||
| 17 | iel.classes:insert("c-gallery__img") | ||
| 18 | |||
| 19 | local lel = pandoc.Link(iel, iel.src) | ||
| 20 | lel.classes = pandoc.List() | ||
| 21 | lel.classes:insert("c-gallery__item") | ||
| 22 | |||
| 23 | imageList.content:insert(lel) | ||
| 24 | end, | ||
| 25 | }) | ||
| 26 | |||
| 27 | el.content = { cur, imageList } | ||
| 28 | |||
| 29 | return el | ||
| 30 | end | ||
| 31 | |||
| 1 | function Div(el) | 32 | function Div(el) |
| 2 | if el.classes:includes("note") then | 33 | if el.classes:includes("note") then |
| 3 | el.classes = pandoc.List() | 34 | el = note(el) |
| 4 | el.classes:insert("c-note") | 35 | elseif el.classes:includes("gallery") then |
| 36 | el = gallery(el) | ||
| 5 | end | 37 | end |
| 6 | 38 | ||
| 7 | return el | 39 | return el |
diff --git a/templates/base.html b/templates/base.html index 252069a..22ff913 100644 --- a/templates/base.html +++ b/templates/base.html | |||
| @@ -69,8 +69,6 @@ ${layouts/categorized_list()} | |||
| 69 | ${layouts/list()} | 69 | ${layouts/list()} |
| 70 | $elseif(layout.is_redirect)$ | 70 | $elseif(layout.is_redirect)$ |
| 71 | ${layouts/redirect()} | 71 | ${layouts/redirect()} |
| 72 | $elseif(layout.is_gallery)$ | ||
| 73 | ${layouts/gallery()} | ||
| 74 | $else$ | 72 | $else$ |
| 75 | ${layouts/page()} | 73 | ${layouts/page()} |
| 76 | $endif$ | 74 | $endif$ |
diff --git a/templates/layouts/gallery.html b/templates/layouts/gallery.html deleted file mode 100644 index 46c47a6..0000000 --- a/templates/layouts/gallery.html +++ /dev/null | |||
| @@ -1,11 +0,0 @@ | |||
| 1 | <article class="s-body s-colored-links s-headlines $if(intro)$s-intro$endif$"> | ||
| 2 | $if(date)$ | ||
| 3 | <div class="s-body__meta"> | ||
| 4 | $date.long$ | ||
| 5 | </div> | ||
| 6 | $endif$ | ||
| 7 | |||
| 8 | <h1 class="u-mt0"><span class="s-headlines__title-inner">$title$</span></h1> | ||
| 9 | |||
| 10 | $body$ | ||
| 11 | </article> | ||
