diff options
| -rw-r--r-- | content/profiles/bandcamp/index.md | 6 | ||||
| -rw-r--r-- | content/profiles/email/index.md | 6 | ||||
| -rw-r--r-- | content/profiles/fediverse/index.md | 6 | ||||
| -rw-r--r-- | content/profiles/git/index.md | 5 | ||||
| -rw-r--r-- | content/profiles/git/main.md (renamed from content/profiles/github/main.md) | 0 | ||||
| -rw-r--r-- | content/profiles/github/index.md | 5 | ||||
| -rw-r--r-- | content/profiles/index.md | 2 | ||||
| -rw-r--r-- | content/projects/emojis/index.md | 5 | ||||
| -rw-r--r-- | content/projects/index.md | 2 | ||||
| -rw-r--r-- | scripts/metadata_filter.lua | 96 | ||||
| -rw-r--r-- | templates/base.html | 4 | ||||
| -rw-r--r-- | templates/layouts/categorized_list.html | 86 | ||||
| -rw-r--r-- | templates/layouts/deep_categorized_list.html | 54 | ||||
| -rw-r--r-- | templates/layouts/list.html | 64 | ||||
| -rw-r--r-- | templates/partials/grid_card.html | 33 | ||||
| -rw-r--r-- | templates/partials/list_card.html | 34 |
16 files changed, 189 insertions, 219 deletions
diff --git a/content/profiles/bandcamp/index.md b/content/profiles/bandcamp/index.md index 34f3c88..0a47469 100644 --- a/content/profiles/bandcamp/index.md +++ b/content/profiles/bandcamp/index.md | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | --- | 1 | --- |
| 2 | title: Bandcamp | 2 | title: Bandcamp |
| 3 | icon: parallelogram | 3 | icon: parallelogram |
| 4 | list_icon: icon-arrow-up-right | 4 | list_post_icon: icon-arrow-up-right |
| 5 | --- | 5 | --- |
diff --git a/content/profiles/email/index.md b/content/profiles/email/index.md index e305535..6eef738 100644 --- a/content/profiles/email/index.md +++ b/content/profiles/email/index.md | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | --- | 1 | --- |
| 2 | title: E-Mail | 2 | title: E-Mail |
| 3 | icon: envelope | 3 | icon: envelope |
| 4 | list_icon: icon-arrow-up-right | 4 | list_post_icon: icon-arrow-up-right |
| 5 | --- | 5 | --- |
diff --git a/content/profiles/fediverse/index.md b/content/profiles/fediverse/index.md index ed35dc1..56eb848 100644 --- a/content/profiles/fediverse/index.md +++ b/content/profiles/fediverse/index.md | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | --- | 1 | --- |
| 2 | title: Fediverse | 2 | title: Fediverse |
| 3 | icon: graph | 3 | icon: graph |
| 4 | list_icon: icon-arrow-up-right | 4 | list_post_icon: icon-arrow-up-right |
| 5 | --- | 5 | --- |
diff --git a/content/profiles/git/index.md b/content/profiles/git/index.md new file mode 100644 index 0000000..0d747a6 --- /dev/null +++ b/content/profiles/git/index.md | |||
| @@ -0,0 +1,5 @@ | |||
| 1 | --- | ||
| 2 | title: Git | ||
| 3 | icon: git-branch | ||
| 4 | list_post_icon: icon-arrow-up-right | ||
| 5 | --- | ||
diff --git a/content/profiles/github/main.md b/content/profiles/git/main.md index fb25680..fb25680 100644 --- a/content/profiles/github/main.md +++ b/content/profiles/git/main.md | |||
diff --git a/content/profiles/github/index.md b/content/profiles/github/index.md deleted file mode 100644 index d4f011d..0000000 --- a/content/profiles/github/index.md +++ /dev/null | |||
| @@ -1,5 +0,0 @@ | |||
| 1 | --- | ||
| 2 | title: Git | ||
| 3 | icon: git-branch | ||
| 4 | list_icon: icon-arrow-up-right | ||
| 5 | --- | ||
diff --git a/content/profiles/index.md b/content/profiles/index.md index 1041807..6514367 100644 --- a/content/profiles/index.md +++ b/content/profiles/index.md | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | --- | 1 | --- |
| 2 | title: Profiles | 2 | title: Profiles |
| 3 | position: 1 | ||
| 3 | list_grid: true | 4 | list_grid: true |
| 4 | list_icon: icon-arrow-up-right | ||
| 5 | --- | 5 | --- |
diff --git a/content/projects/emojis/index.md b/content/projects/emojis/index.md index cbffe1b..58ad85b 100644 --- a/content/projects/emojis/index.md +++ b/content/projects/emojis/index.md | |||
| @@ -1,4 +1,5 @@ | |||
| 1 | --- | 1 | --- |
| 2 | title: Emojis | 2 | title: Emojis |
| 3 | icon: smile | 3 | icon: smile |
| 4 | list_post_icon: icon-arrow-right | ||
| 4 | --- | 5 | --- |
diff --git a/content/projects/index.md b/content/projects/index.md index c79f803..546ae46 100644 --- a/content/projects/index.md +++ b/content/projects/index.md | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | --- | 1 | --- |
| 2 | title: Projects | 2 | title: Projects |
| 3 | position: 2 | ||
| 3 | list_grid: true | 4 | list_grid: true |
| 4 | list_icon: icon-arrow-right | ||
| 5 | --- | 5 | --- |
diff --git a/scripts/metadata_filter.lua b/scripts/metadata_filter.lua index ebd69f1..b16d472 100644 --- a/scripts/metadata_filter.lua +++ b/scripts/metadata_filter.lua | |||
| @@ -1,5 +1,14 @@ | |||
| 1 | local path = require 'pandoc.path' | 1 | local path = require 'pandoc.path' |
| 2 | 2 | ||
| 3 | function pandoc.List:flatMap(fn) | ||
| 4 | local mapped = self:map(fn) | ||
| 5 | local result = pandoc.List() | ||
| 6 | |||
| 7 | for i = 1, #mapped do result:extend(mapped[i]) end | ||
| 8 | |||
| 9 | return result | ||
| 10 | end | ||
| 11 | |||
| 3 | function format_date(date) | 12 | function format_date(date) |
| 4 | if not date then return date end | 13 | if not date then return date end |
| 5 | 14 | ||
| @@ -49,14 +58,12 @@ function resolve_url(site_url, ref_file, target_file) | |||
| 49 | end | 58 | end |
| 50 | 59 | ||
| 51 | function resolve_layout(depth) | 60 | function resolve_layout(depth) |
| 52 | local layout = "deep_categorized_list" | 61 | local layout = "categorized_list" |
| 53 | 62 | ||
| 54 | if depth == "0" then | 63 | if depth == "0" then |
| 55 | layout = "page" | 64 | layout = "page" |
| 56 | elseif depth == "1" then | 65 | elseif depth == "1" then |
| 57 | layout = "list" | 66 | layout = "list" |
| 58 | elseif depth == "2" then | ||
| 59 | layout = "categorized_list" | ||
| 60 | end | 67 | end |
| 61 | 68 | ||
| 62 | return layout | 69 | return layout |
| @@ -91,14 +98,14 @@ function prep_menu(active_id, main_menu) | |||
| 91 | return { items = items, active = active_item } | 98 | return { items = items, active = active_item } |
| 92 | end | 99 | end |
| 93 | 100 | ||
| 94 | function process_pages(global, order, pages_by_id) | 101 | function process_pages(global, parent, order, pages_by_id) |
| 95 | if not pages_by_id then return nil end | 102 | if not pages_by_id then return nil end |
| 96 | 103 | ||
| 97 | local pages_all = pandoc.List() | 104 | local pages_all = pandoc.List() |
| 98 | local pages_date_desc = pandoc.List() | 105 | local pages_date_desc = pandoc.List() |
| 99 | 106 | ||
| 100 | for _, page in pairs(pages_by_id) do | 107 | for _, page in pairs(pages_by_id) do |
| 101 | local p = process(global, page) | 108 | local p = process(global, parent, page) |
| 102 | if not p.unlisted then | 109 | if not p.unlisted then |
| 103 | pages_all:insert(p) | 110 | pages_all:insert(p) |
| 104 | if p.date then pages_date_desc:insert(p) end | 111 | if p.date then pages_date_desc:insert(p) end |
| @@ -176,7 +183,77 @@ function find_depth(pages) | |||
| 176 | return tostring(depth) | 183 | return tostring(depth) |
| 177 | end | 184 | end |
| 178 | 185 | ||
| 179 | function process(global, meta) | 186 | function generate_list(meta) |
| 187 | if meta.depth == "1" then | ||
| 188 | return meta.pages.all:map(function(p) | ||
| 189 | return { | ||
| 190 | title = p.title, | ||
| 191 | subtitle = p.subtitle, | ||
| 192 | date = p.date, | ||
| 193 | url = p.url, | ||
| 194 | icon = p.icon or meta.icon, | ||
| 195 | post_icon = meta.list_post_icon, | ||
| 196 | indicator = meta.list_read_indicators, | ||
| 197 | } | ||
| 198 | end) | ||
| 199 | elseif meta.depth == "2" then | ||
| 200 | return meta.pages.all:map(function(cat) | ||
| 201 | return { | ||
| 202 | title = cat.title, | ||
| 203 | content = pandoc.utils.stringify(cat.content), | ||
| 204 | url = cat.url, | ||
| 205 | grid = cat.list_grid, | ||
| 206 | items = cat.pages.all:map(function(p) | ||
| 207 | return { | ||
| 208 | title = p.title, | ||
| 209 | subtitle = p.subtitle, | ||
| 210 | date = p.date, | ||
| 211 | url = p.url, | ||
| 212 | icon = p.icon or cat.icon, | ||
| 213 | post_icon = cat.list_post_icon or meta.list_post_icon, | ||
| 214 | indicator = cat.list_read_indicators, | ||
| 215 | } | ||
| 216 | end), | ||
| 217 | } | ||
| 218 | end) | ||
| 219 | elseif meta.depth == "3" then | ||
| 220 | return meta.pages.all:map(function(cat) | ||
| 221 | return { | ||
| 222 | title = cat.title, | ||
| 223 | content = pandoc.utils.stringify(cat.content), | ||
| 224 | url = cat.url, | ||
| 225 | grid = cat.list_grid, | ||
| 226 | items = cat.pages.all:flatMap(function(c) | ||
| 227 | if c.pages then | ||
| 228 | return c.pages.all:map(function(p) | ||
| 229 | return { | ||
| 230 | title = p.title, | ||
| 231 | subtitle = p.subtitle or c.title, | ||
| 232 | url = p.url, | ||
| 233 | icon = p.icon or c.icon, | ||
| 234 | post_icon = c.list_post_icon or cat.list_post_icon, | ||
| 235 | indicator = c.list_read_indicators, | ||
| 236 | } | ||
| 237 | end) | ||
| 238 | else | ||
| 239 | local l = pandoc.List() | ||
| 240 | l:insert({ | ||
| 241 | title = c.title, | ||
| 242 | subtitle = c.subtitle, | ||
| 243 | url = c.url, | ||
| 244 | icon = c.icon or meta.icon, | ||
| 245 | post_icon = meta.list_post_icon, | ||
| 246 | indicator = meta.list_read_indicators, | ||
| 247 | }) | ||
| 248 | return l | ||
| 249 | end | ||
| 250 | end), | ||
| 251 | } | ||
| 252 | end) | ||
| 253 | end | ||
| 254 | end | ||
| 255 | |||
| 256 | function process(global, parent, meta) | ||
| 180 | meta.namespace = resolve_namespace(meta.namespace) | 257 | meta.namespace = resolve_namespace(meta.namespace) |
| 181 | meta.file_out = pandoc.utils.stringify(meta.file_out):gsub("^out", "") | 258 | meta.file_out = pandoc.utils.stringify(meta.file_out):gsub("^out", "") |
| 182 | meta.url = meta.url and pandoc.utils.stringify(meta.url) | 259 | meta.url = meta.url and pandoc.utils.stringify(meta.url) |
| @@ -209,7 +286,8 @@ function process(global, meta) | |||
| 209 | meta.menus.main = prep_menu(meta.namespace.root.id, meta.menus.main) | 286 | meta.menus.main = prep_menu(meta.namespace.root.id, meta.menus.main) |
| 210 | end | 287 | end |
| 211 | 288 | ||
| 212 | meta.pages = process_pages(global, meta.list_order, meta.pages) | 289 | meta.pages = |
| 290 | process_pages(global, { parent = parent, meta = meta }, meta.list_order, meta.pages) | ||
| 213 | meta.depth = (meta.pages and find_depth(meta.pages.all)) or "0" | 291 | meta.depth = (meta.pages and find_depth(meta.pages.all)) or "0" |
| 214 | meta.layout = prep_layout(meta.layout or resolve_layout(meta.depth)) | 292 | meta.layout = prep_layout(meta.layout or resolve_layout(meta.depth)) |
| 215 | 293 | ||
| @@ -227,11 +305,13 @@ function process(global, meta) | |||
| 227 | meta.last_update = meta.date | 305 | meta.last_update = meta.date |
| 228 | end | 306 | end |
| 229 | 307 | ||
| 308 | meta.list = generate_list(meta) | ||
| 309 | |||
| 230 | return meta | 310 | return meta |
| 231 | end | 311 | end |
| 232 | 312 | ||
| 233 | function Meta(meta) | 313 | function Meta(meta) |
| 234 | meta.site.url = pandoc.utils.stringify(meta.site.url):gsub("/$", "") | 314 | meta.site.url = pandoc.utils.stringify(meta.site.url):gsub("/$", "") |
| 235 | 315 | ||
| 236 | return process(meta, meta) | 316 | return process(meta, nil, meta) |
| 237 | end | 317 | end |
diff --git a/templates/base.html b/templates/base.html index ede7941..eb088c4 100644 --- a/templates/base.html +++ b/templates/base.html | |||
| @@ -63,9 +63,7 @@ | |||
| 63 | </nav> | 63 | </nav> |
| 64 | 64 | ||
| 65 | <main> | 65 | <main> |
| 66 | $if(layout.is_deep_categorized_list)$ | 66 | $if(layout.is_categorized_list)$ |
| 67 | ${layouts/deep_categorized_list()} | ||
| 68 | $elseif(layout.is_categorized_list)$ | ||
| 69 | ${layouts/categorized_list()} | 67 | ${layouts/categorized_list()} |
| 70 | $elseif(layout.is_list)$ | 68 | $elseif(layout.is_list)$ |
| 71 | ${layouts/list()} | 69 | ${layouts/list()} |
diff --git a/templates/layouts/categorized_list.html b/templates/layouts/categorized_list.html index ad510ae..aea8863 100644 --- a/templates/layouts/categorized_list.html +++ b/templates/layouts/categorized_list.html | |||
| @@ -6,80 +6,18 @@ $body$ | |||
| 6 | </div> | 6 | </div> |
| 7 | 7 | ||
| 8 | <div class="c-card-list"> | 8 | <div class="c-card-list"> |
| 9 | $for(pages.all)$ | 9 | $for(list)$ |
| 10 | $if(it.pages)$ | 10 | <h2 class="c-card-list__category-header"> |
| 11 | <h2 class="c-card-list__category-header"> | 11 | <a href="$it.url.rel$">$it.title$</a> |
| 12 | <a href="$it.url.rel$">$it.title$</a> | 12 | </h2> |
| 13 | </h2> | 13 | $if(it.grid)$ |
| 14 | $if(it.list_grid)$ | 14 | <div class="c-card-list__category-content c-card-list__category-content--grid"> |
| 15 | <div class="c-card-list__category-content c-card-list__category-content--grid"> | 15 | $it.items:partials/grid_card()$ |
| 16 | $for(it.pages.all)$ | 16 | </div> |
| 17 | <a href="$it.url.rel$" class="c-card-list__card c-card"> | 17 | $else$ |
| 18 | $if(pages.all.list_read_indicators)$ | 18 | <div class="c-card-list__category-content"> |
| 19 | <div class="c-card__block c-card__block--indicator"></div> | 19 | $it.items:partials/list_card()$ |
| 20 | $endif$ | 20 | </div> |
| 21 | $if(pages.all.icon)$ | ||
| 22 | <svg class="c-card__block o-icon" width="1em" height="1em"> | ||
| 23 | <use href="/symbols.svg#icon-$pages.all.icon$"></use> | ||
| 24 | </svg> | ||
| 25 | $endif$ | ||
| 26 | <div class="c-card__block c-card__block--main"> | ||
| 27 | $if(it.date)$ | ||
| 28 | <time datetime="$it.date.yyyy_mm_dd$"> | ||
| 29 | <small class="u-dn@sm-hi"> | ||
| 30 | $it.date.short$ | ||
| 31 | </small> | ||
| 32 | <small class="u-dn@sm-lo"> | ||
| 33 | $it.date.long$ | ||
| 34 | </small> | ||
| 35 | </time> | ||
| 36 | <strong class="u-db">$it.title$</strong> | ||
| 37 | $else$ | ||
| 38 | $it.title$ | ||
| 39 | $endif$ | ||
| 40 | </div> | ||
| 41 | $if(list_icon)$ | ||
| 42 | <svg class="c-card__block o-icon" width="1em" height="1em"> | ||
| 43 | <use href="/symbols.svg#$list_icon$"></use> | ||
| 44 | </svg> | ||
| 45 | $endif$ | ||
| 46 | </a> | ||
| 47 | $endfor$ | ||
| 48 | </div> | ||
| 49 | $else$ | ||
| 50 | <div class="c-card-list__category-content"> | ||
| 51 | $for(it.pages.all)$ | ||
| 52 | <a href="$it.url.rel$" class="c-card-list__card c-card"> | ||
| 53 | $if(pages.all.list_read_indicators)$ | ||
| 54 | <div class="c-card__block c-card__block--indicator"></div> | ||
| 55 | $endif$ | ||
| 56 | $if(pages.all.icon)$ | ||
| 57 | <svg class="c-card__block o-icon" width="1em" height="1em"> | ||
| 58 | <use href="/symbols.svg#icon-$pages.all.icon$"></use> | ||
| 59 | </svg> | ||
| 60 | $endif$ | ||
| 61 | <div class="c-card__block c-card__block--main"> | ||
| 62 | $it.title$ | ||
| 63 | </div> | ||
| 64 | $if(it.date)$ | ||
| 65 | <time datetime="$it.date.yyyy_mm_dd$" class="c-card__block u-fs0"> | ||
| 66 | <small class="u-dn@sm-hi"> | ||
| 67 | $it.date.short$ | ||
| 68 | </small> | ||
| 69 | <small class="u-dn@sm-lo"> | ||
| 70 | $it.date.long$ | ||
| 71 | </small> | ||
| 72 | </time> | ||
| 73 | $endif$ | ||
| 74 | $if(list_icon)$ | ||
| 75 | <svg class="c-card__block o-icon" width="1em" height="1em"> | ||
| 76 | <use href="/symbols.svg#$list_icon$"></use> | ||
| 77 | </svg> | ||
| 78 | $endif$ | ||
| 79 | </a> | ||
| 80 | $endfor$ | ||
| 81 | </div> | ||
| 82 | $endif$ | ||
| 83 | $endif$ | 21 | $endif$ |
| 84 | $endfor$ | 22 | $endfor$ |
| 85 | </div> | 23 | </div> |
diff --git a/templates/layouts/deep_categorized_list.html b/templates/layouts/deep_categorized_list.html deleted file mode 100644 index eec16c9..0000000 --- a/templates/layouts/deep_categorized_list.html +++ /dev/null | |||
| @@ -1,54 +0,0 @@ | |||
| 1 | <section class="l-container l-container--pad-x l-container--pad-y l-container--content"> | ||
| 2 | <div class="s-headlines s-colored-links"> | ||
| 3 | <h1 class="u-mt0"><span class="s-headlines__title-inner">$title$</span></h1> | ||
| 4 | |||
| 5 | $body$ | ||
| 6 | </div> | ||
| 7 | |||
| 8 | <div class="c-card-list"> | ||
| 9 | $for(pages.all)$ | ||
| 10 | $if(it.pages)$ | ||
| 11 | <h2 class="c-card-list__category-header"> | ||
| 12 | <a href="$it.url.rel$">$it.title$</a> | ||
| 13 | </h2> | ||
| 14 | <div class="c-card-list__category-content$if(it.list_grid)$ c-card-list__category-content--grid$endif$"> | ||
| 15 | $for(pages.all.pages.all)$ | ||
| 16 | $for(pages.all.pages.all.pages.all)$ | ||
| 17 | <a href="$it.url.rel$" class="c-card-list__card c-card"> | ||
| 18 | $if(pages.all.list_read_indicators)$ | ||
| 19 | <div class="c-card__block c-card__block--indicator"></div> | ||
| 20 | $endif$ | ||
| 21 | $if(pages.all.pages.all.icon)$ | ||
| 22 | <svg class="c-card__block o-icon" width="1em" height="1em"> | ||
| 23 | <use href="/symbols.svg#icon-$pages.all.pages.all.icon$"></use> | ||
| 24 | </svg> | ||
| 25 | $endif$ | ||
| 26 | <div class="c-card__block c-card__block--main"> | ||
| 27 | <small class="u-db">$pages.all.pages.all.title$</small> | ||
| 28 | <strong class="u-db">$it.title$</strong> | ||
| 29 | </div> | ||
| 30 | $if(it.date)$ | ||
| 31 | <time datetime="$it.date.yyyy_mm_dd$" class="c-card__block u-fs0"> | ||
| 32 | <small class="u-dn@sm-hi"> | ||
| 33 | $it.date.short$ | ||
| 34 | </small> | ||
| 35 | <small class="u-dn@sm-lo"> | ||
| 36 | $it.date.long$ | ||
| 37 | </small> | ||
| 38 | </time> | ||
| 39 | $endif$ | ||
| 40 | $if(pages.all.list_icon)$ | ||
| 41 | <svg class="c-card__block o-icon" width="1em" height="1em"> | ||
| 42 | <use href="/symbols.svg#$pages.all.list_icon$"></use> | ||
| 43 | </svg> | ||
| 44 | $endif$ | ||
| 45 | </a> | ||
| 46 | $endfor$ | ||
| 47 | $endfor$ | ||
| 48 | </div> | ||
| 49 | $endif$ | ||
| 50 | $endfor$ | ||
| 51 | </div> | ||
| 52 | </section> | ||
| 53 | |||
| 54 | |||
diff --git a/templates/layouts/list.html b/templates/layouts/list.html index b4647a1..7a9d573 100644 --- a/templates/layouts/list.html +++ b/templates/layouts/list.html | |||
| @@ -8,71 +8,11 @@ $body$ | |||
| 8 | <div class="c-card-list"> | 8 | <div class="c-card-list"> |
| 9 | $if(list_grid)$ | 9 | $if(list_grid)$ |
| 10 | <div class="c-card-list__category-content c-card-list__category-content--grid"> | 10 | <div class="c-card-list__category-content c-card-list__category-content--grid"> |
| 11 | $for(pages.all)$ | 11 | $list:partials/grid_card()$ |
| 12 | <a href="$it.url.rel$" class="c-card-list__card c-card"> | ||
| 13 | $if(list_read_indicators)$ | ||
| 14 | <div class="c-card__block c-card__block--indicator"></div> | ||
| 15 | $endif$ | ||
| 16 | $if(icon)$ | ||
| 17 | <svg class="c-card__block o-icon"> | ||
| 18 | <use href="/symbols.svg#icon-$icon$"></use> | ||
| 19 | </svg> | ||
| 20 | $endif$ | ||
| 21 | <div class="c-card__block c-card__block--main"> | ||
| 22 | $if(it.date)$ | ||
| 23 | <time datetime="$it.date.yyyy_mm_dd$"> | ||
| 24 | <small class="u-dn@sm-hi"> | ||
| 25 | $it.date.short$ | ||
| 26 | </small> | ||
| 27 | <small class="u-dn@sm-lo"> | ||
| 28 | $it.date.long$ | ||
| 29 | </small> | ||
| 30 | </time> | ||
| 31 | <strong class="u-db">$it.title$</strong> | ||
| 32 | $else$ | ||
| 33 | $it.title$ | ||
| 34 | $endif$ | ||
| 35 | </div> | ||
| 36 | $if(list_icon)$ | ||
| 37 | <svg class="c-card__block o-icon" width="1em" height="1em"> | ||
| 38 | <use href="/symbols.svg#$list_icon$"></use> | ||
| 39 | </svg> | ||
| 40 | $endif$ | ||
| 41 | </a> | ||
| 42 | $endfor$ | ||
| 43 | </div> | 12 | </div> |
| 44 | $else$ | 13 | $else$ |
| 45 | <div class="c-card-list__category-content"> | 14 | <div class="c-card-list__category-content"> |
| 46 | $for(pages.all)$ | 15 | $list:partials/list_card()$ |
| 47 | <a href="$it.url.rel$" class="c-card-list__card c-card"> | ||
| 48 | $if(list_read_indicators)$ | ||
| 49 | <div class="c-card__block c-card__block--indicator"></div> | ||
| 50 | $endif$ | ||
| 51 | $if(icon)$ | ||
| 52 | <svg class="c-card__block o-icon"> | ||
| 53 | <use href="/symbols.svg#icon-$icon$"></use> | ||
| 54 | </svg> | ||
| 55 | $endif$ | ||
| 56 | <div class="c-card__block c-card__block--main"> | ||
| 57 | $it.title$ | ||
| 58 | </div> | ||
| 59 | $if(it.date)$ | ||
| 60 | <time datetime="$it.date.yyyy_mm_dd$" class="c-card__block u-fs0"> | ||
| 61 | <small class="u-dn@sm-hi"> | ||
| 62 | $it.date.short$ | ||
| 63 | </small> | ||
| 64 | <small class="u-dn@sm-lo"> | ||
| 65 | $it.date.long$ | ||
| 66 | </small> | ||
| 67 | </time> | ||
| 68 | $endif$ | ||
| 69 | $if(list_icon)$ | ||
| 70 | <svg class="c-card__block o-icon" width="1em" height="1em"> | ||
| 71 | <use href="/symbols.svg#$list_icon$"></use> | ||
| 72 | </svg> | ||
| 73 | $endif$ | ||
| 74 | </a> | ||
| 75 | $endfor$ | ||
| 76 | </div> | 16 | </div> |
| 77 | $endif$ | 17 | $endif$ |
| 78 | </div> | 18 | </div> |
diff --git a/templates/partials/grid_card.html b/templates/partials/grid_card.html new file mode 100644 index 0000000..25c2271 --- /dev/null +++ b/templates/partials/grid_card.html | |||
| @@ -0,0 +1,33 @@ | |||
| 1 | <a href="$it.url.rel$" class="c-card-list__card c-card"> | ||
| 2 | $if(it.indicator)$ | ||
| 3 | <div class="c-card__block c-card__block--indicator"></div> | ||
| 4 | $endif$ | ||
| 5 | $if(it.icon)$ | ||
| 6 | <svg class="c-card__block o-icon" width="1em" height="1em"> | ||
| 7 | <use href="/symbols.svg#icon-$it.icon$"></use> | ||
| 8 | </svg> | ||
| 9 | $endif$ | ||
| 10 | <div class="c-card__block c-card__block--main"> | ||
| 11 | $if(it.subtitle)$ | ||
| 12 | <small class="u-db">$it.subtitle$</small> | ||
| 13 | <strong class="u-db">$it.title$</strong> | ||
| 14 | $elseif(it.date)$ | ||
| 15 | <time datetime="$it.date.yyyy_mm_dd$"> | ||
| 16 | <small class="u-dn@sm-hi"> | ||
| 17 | $it.date.short$ | ||
| 18 | </small> | ||
| 19 | <small class="u-dn@sm-lo"> | ||
| 20 | $it.date.long$ | ||
| 21 | </small> | ||
| 22 | </time> | ||
| 23 | <strong class="u-db">$it.title$</strong> | ||
| 24 | $else$ | ||
| 25 | $it.title$ | ||
| 26 | $endif$ | ||
| 27 | </div> | ||
| 28 | $if(it.post_icon)$ | ||
| 29 | <svg class="c-card__block o-icon" width="1em" height="1em"> | ||
| 30 | <use href="/symbols.svg#$it.post_icon$"></use> | ||
| 31 | </svg> | ||
| 32 | $endif$ | ||
| 33 | </a> | ||
diff --git a/templates/partials/list_card.html b/templates/partials/list_card.html new file mode 100644 index 0000000..644e0d3 --- /dev/null +++ b/templates/partials/list_card.html | |||
| @@ -0,0 +1,34 @@ | |||
| 1 | <a href="$it.url.rel$" class="c-card-list__card c-card"> | ||
| 2 | $if(it.indicator)$ | ||
| 3 | <div class="c-card__block c-card__block--indicator"></div> | ||
| 4 | $endif$ | ||
| 5 | $if(it.icon)$ | ||
| 6 | <svg class="c-card__block o-icon" width="1em" height="1em"> | ||
| 7 | <use href="/symbols.svg#icon-$it.icon$"></use> | ||
| 8 | </svg> | ||
| 9 | $endif$ | ||
| 10 | <div class="c-card__block c-card__block--main"> | ||
| 11 | $it.title$ | ||
| 12 | </div> | ||
| 13 | $if(it.subtitle)$ | ||
| 14 | <div class="c-card__block u-fs0"> | ||
| 15 | <small> | ||
| 16 | $it.subtitle$ | ||
| 17 | </small> | ||
| 18 | </div> | ||
| 19 | $elseif(it.date)$ | ||
| 20 | <time datetime="$it.date.yyyy_mm_dd$" class="c-card__block u-fs0"> | ||
| 21 | <small class="u-dn@sm-hi"> | ||
| 22 | $it.date.short$ | ||
| 23 | </small> | ||
| 24 | <small class="u-dn@sm-lo"> | ||
| 25 | $it.date.long$ | ||
| 26 | </small> | ||
| 27 | </time> | ||
| 28 | $endif$ | ||
| 29 | $if(it.post_icon)$ | ||
| 30 | <svg class="c-card__block o-icon" width="1em" height="1em"> | ||
| 31 | <use href="/symbols.svg#$it.post_icon$"></use> | ||
| 32 | </svg> | ||
| 33 | $endif$ | ||
| 34 | </a> | ||
