diff options
author | Volpeon <git@volpeon.ink> | 2021-11-13 18:03:55 +0100 |
---|---|---|
committer | Volpeon <git@volpeon.ink> | 2021-11-13 18:03:55 +0100 |
commit | c20ea9f6922557db29061a5d53c067ab20c734b9 (patch) | |
tree | 8db62241b809d73c51f9e7f8c3189638d9700c88 | |
parent | Fix persistent scrollbar (diff) | |
download | volpeon.ink-c20ea9f6922557db29061a5d53c067ab20c734b9.tar.gz volpeon.ink-c20ea9f6922557db29061a5d53c067ab20c734b9.tar.bz2 volpeon.ink-c20ea9f6922557db29061a5d53c067ab20c734b9.zip |
Improved list generation, remove index template
-rw-r--r-- | content/9thPK7O3xn/dreams/index.md | 1 | ||||
-rw-r--r-- | content/9thPK7O3xn/index.md | 2 | ||||
-rw-r--r-- | content/9thPK7O3xn/misc/index.md | 1 | ||||
-rw-r--r-- | content/9thPK7O3xn/pages/index.md | 1 | ||||
-rw-r--r-- | content/index.md | 2 | ||||
-rw-r--r-- | content/profiles/bandcamp/index.md | 5 | ||||
-rw-r--r-- | content/profiles/bandcamp/main.md | 5 | ||||
-rw-r--r-- | content/profiles/email/index.md | 5 | ||||
-rw-r--r-- | content/profiles/email/main.md | 5 | ||||
-rw-r--r-- | content/profiles/fediverse/index.md | 5 | ||||
-rw-r--r-- | content/profiles/fediverse/main.md | 5 | ||||
-rw-r--r-- | content/profiles/github/index.md | 5 | ||||
-rw-r--r-- | content/profiles/github/main.md | 5 | ||||
-rw-r--r-- | content/profiles/index.md | 5 | ||||
-rw-r--r-- | content/projects/emojis/index.md | 1 | ||||
-rw-r--r-- | content/projects/index.md | 2 | ||||
-rw-r--r-- | metadata/metadata.yaml | 40 | ||||
-rw-r--r-- | scripts/metadata_filter.lua | 76 | ||||
-rw-r--r-- | templates/base.html | 4 | ||||
-rw-r--r-- | templates/layouts/categorized_list.html | 98 | ||||
-rw-r--r-- | templates/layouts/deep_categorized_list.html | 54 | ||||
-rw-r--r-- | templates/layouts/index.html | 67 | ||||
-rw-r--r-- | templates/layouts/list.html | 96 |
23 files changed, 288 insertions, 202 deletions
diff --git a/content/9thPK7O3xn/dreams/index.md b/content/9thPK7O3xn/dreams/index.md index bce4433..c89aad4 100644 --- a/content/9thPK7O3xn/dreams/index.md +++ b/content/9thPK7O3xn/dreams/index.md | |||
@@ -1,7 +1,6 @@ | |||
1 | --- | 1 | --- |
2 | title: Dream Journal | 2 | title: Dream Journal |
3 | position: 9 | 3 | position: 9 |
4 | layout: list | ||
5 | list_order: date_desc | 4 | list_order: date_desc |
6 | list_read_indicators: true | 5 | list_read_indicators: true |
7 | create_feed: true | 6 | create_feed: true |
diff --git a/content/9thPK7O3xn/index.md b/content/9thPK7O3xn/index.md index 0b14fcf..52ceada 100644 --- a/content/9thPK7O3xn/index.md +++ b/content/9thPK7O3xn/index.md | |||
@@ -1,6 +1,6 @@ | |||
1 | --- | 1 | --- |
2 | title: Personal | 2 | title: Personal |
3 | layout: categorized_list | 3 | unlisted: true |
4 | create_feed: true | 4 | create_feed: true |
5 | --- | 5 | --- |
6 | 6 | ||
diff --git a/content/9thPK7O3xn/misc/index.md b/content/9thPK7O3xn/misc/index.md index 572cc05..d39ae3f 100644 --- a/content/9thPK7O3xn/misc/index.md +++ b/content/9thPK7O3xn/misc/index.md | |||
@@ -1,7 +1,6 @@ | |||
1 | --- | 1 | --- |
2 | title: Other stuff | 2 | title: Other stuff |
3 | position: 10 | 3 | position: 10 |
4 | layout: list | ||
5 | list_read_indicators: true | 4 | list_read_indicators: true |
6 | create_feed: true | 5 | create_feed: true |
7 | --- | 6 | --- |
diff --git a/content/9thPK7O3xn/pages/index.md b/content/9thPK7O3xn/pages/index.md index 0dccffb..33818ff 100644 --- a/content/9thPK7O3xn/pages/index.md +++ b/content/9thPK7O3xn/pages/index.md | |||
@@ -1,7 +1,6 @@ | |||
1 | --- | 1 | --- |
2 | title: Pages | 2 | title: Pages |
3 | position: 0 | 3 | position: 0 |
4 | layout: list | ||
5 | list_read_indicators: true | 4 | list_read_indicators: true |
6 | create_feed: true | 5 | create_feed: true |
7 | --- | 6 | --- |
diff --git a/content/index.md b/content/index.md index ca1da95..efc03c2 100644 --- a/content/index.md +++ b/content/index.md | |||
@@ -1,5 +1,5 @@ | |||
1 | --- | 1 | --- |
2 | title: Home | 2 | title: Volpeon's Den |
3 | --- | 3 | --- |
4 | 4 | ||
5 | Hi, I'm Volpeon. I enjoy programming, creating vector art and designing user interfaces. | 5 | Hi, I'm Volpeon. I enjoy programming, creating vector art and designing user interfaces. |
diff --git a/content/profiles/bandcamp/index.md b/content/profiles/bandcamp/index.md new file mode 100644 index 0000000..34f3c88 --- /dev/null +++ b/content/profiles/bandcamp/index.md | |||
@@ -0,0 +1,5 @@ | |||
1 | --- | ||
2 | title: Bandcamp | ||
3 | icon: parallelogram | ||
4 | list_icon: icon-arrow-up-right | ||
5 | --- | ||
diff --git a/content/profiles/bandcamp/main.md b/content/profiles/bandcamp/main.md new file mode 100644 index 0000000..f94213f --- /dev/null +++ b/content/profiles/bandcamp/main.md | |||
@@ -0,0 +1,5 @@ | |||
1 | --- | ||
2 | title: volpeon | ||
3 | titlecase: false | ||
4 | url: https://bandcamp.com/volpeon | ||
5 | --- | ||
diff --git a/content/profiles/email/index.md b/content/profiles/email/index.md new file mode 100644 index 0000000..e305535 --- /dev/null +++ b/content/profiles/email/index.md | |||
@@ -0,0 +1,5 @@ | |||
1 | --- | ||
2 | title: E-Mail | ||
3 | icon: envelope | ||
4 | list_icon: icon-arrow-up-right | ||
5 | --- | ||
diff --git a/content/profiles/email/main.md b/content/profiles/email/main.md new file mode 100644 index 0000000..16f103a --- /dev/null +++ b/content/profiles/email/main.md | |||
@@ -0,0 +1,5 @@ | |||
1 | --- | ||
2 | title: me@volpeon.ink | ||
3 | titlecase: false | ||
4 | url: "mailto:me@volpeon.ink" | ||
5 | --- | ||
diff --git a/content/profiles/fediverse/index.md b/content/profiles/fediverse/index.md new file mode 100644 index 0000000..ed35dc1 --- /dev/null +++ b/content/profiles/fediverse/index.md | |||
@@ -0,0 +1,5 @@ | |||
1 | --- | ||
2 | title: Fediverse | ||
3 | icon: graph | ||
4 | list_icon: icon-arrow-up-right | ||
5 | --- | ||
diff --git a/content/profiles/fediverse/main.md b/content/profiles/fediverse/main.md new file mode 100644 index 0000000..70ee902 --- /dev/null +++ b/content/profiles/fediverse/main.md | |||
@@ -0,0 +1,5 @@ | |||
1 | --- | ||
2 | title: "@volpeon@mk.vulpes.one" | ||
3 | titlecase: false | ||
4 | url: "https://mk.vulpes.one/@volpeon" | ||
5 | --- | ||
diff --git a/content/profiles/github/index.md b/content/profiles/github/index.md new file mode 100644 index 0000000..d4f011d --- /dev/null +++ b/content/profiles/github/index.md | |||
@@ -0,0 +1,5 @@ | |||
1 | --- | ||
2 | title: Git | ||
3 | icon: git-branch | ||
4 | list_icon: icon-arrow-up-right | ||
5 | --- | ||
diff --git a/content/profiles/github/main.md b/content/profiles/github/main.md new file mode 100644 index 0000000..fb25680 --- /dev/null +++ b/content/profiles/github/main.md | |||
@@ -0,0 +1,5 @@ | |||
1 | --- | ||
2 | title: "git.vulpes.one" | ||
3 | titlecase: false | ||
4 | url: "https://git.vulpes.one/" | ||
5 | --- | ||
diff --git a/content/profiles/index.md b/content/profiles/index.md new file mode 100644 index 0000000..1041807 --- /dev/null +++ b/content/profiles/index.md | |||
@@ -0,0 +1,5 @@ | |||
1 | --- | ||
2 | title: Profiles | ||
3 | list_grid: true | ||
4 | list_icon: icon-arrow-up-right | ||
5 | --- | ||
diff --git a/content/projects/emojis/index.md b/content/projects/emojis/index.md index f650b2e..01054aa 100644 --- a/content/projects/emojis/index.md +++ b/content/projects/emojis/index.md | |||
@@ -1,6 +1,5 @@ | |||
1 | --- | 1 | --- |
2 | title: Emojis | 2 | title: Emojis |
3 | icon: smile | 3 | icon: smile |
4 | layout: list | ||
5 | list_grid: true | 4 | list_grid: true |
6 | --- | 5 | --- |
diff --git a/content/projects/index.md b/content/projects/index.md index 8aa8f96..c79f803 100644 --- a/content/projects/index.md +++ b/content/projects/index.md | |||
@@ -1,5 +1,5 @@ | |||
1 | --- | 1 | --- |
2 | title: Projects | 2 | title: Projects |
3 | layout: categorized_list | ||
4 | list_grid: true | 3 | list_grid: true |
4 | list_icon: icon-arrow-right | ||
5 | --- | 5 | --- |
diff --git a/metadata/metadata.yaml b/metadata/metadata.yaml index c8f2d72..679cdcb 100644 --- a/metadata/metadata.yaml +++ b/metadata/metadata.yaml | |||
@@ -11,43 +11,11 @@ menus: | |||
11 | label: Projects | 11 | label: Projects |
12 | url: /projects/ | 12 | url: /projects/ |
13 | 13 | ||
14 | - id: profiles | ||
15 | label: Profiles | ||
16 | url: /profiles/ | ||
17 | |||
14 | - id: 9thPK7O3xn | 18 | - id: 9thPK7O3xn |
15 | label: Personal | 19 | label: Personal |
16 | url: /9thPK7O3xn/ | 20 | url: /9thPK7O3xn/ |
17 | hidden: true | 21 | hidden: true |
18 | |||
19 | profiles: | ||
20 | - platform: Bandcamp | ||
21 | icon: parallelogram | ||
22 | username: volpeon | ||
23 | url: https://bandcamp.com/volpeon | ||
24 | featured: true | ||
25 | |||
26 | - platform: E-Mail | ||
27 | icon: envelope | ||
28 | username: me@volpeon.ink | ||
29 | featured: true | ||
30 | url: "mailto:me@volpeon.ink" | ||
31 | |||
32 | - platform: Fediverse | ||
33 | icon: graph | ||
34 | username: "@volpeon@mk.vulpes.one" | ||
35 | url: "https://mk.vulpes.one/@volpeon" | ||
36 | featured: true | ||
37 | |||
38 | - platform: GitHub | ||
39 | icon: git-branch | ||
40 | username: volpeon | ||
41 | url: "https://github.com/volpeon" | ||
42 | |||
43 | - platform: IRC | ||
44 | icon: hash | ||
45 | username: volpeon | ||
46 | |||
47 | - platform: Steam | ||
48 | username: volpeon | ||
49 | url: https://steamcommunity.com/id/volpeon/ | ||
50 | |||
51 | - platform: XMPP | ||
52 | icon: messages | ||
53 | username: "<available>" | ||
diff --git a/scripts/metadata_filter.lua b/scripts/metadata_filter.lua index 7039a2c..ebd69f1 100644 --- a/scripts/metadata_filter.lua +++ b/scripts/metadata_filter.lua | |||
@@ -33,30 +33,6 @@ function table_to_list(t, kv, cmp) | |||
33 | return l | 33 | return l |
34 | end | 34 | end |
35 | 35 | ||
36 | function group_by(l, field, insert) | ||
37 | insert = insert or function(group, _, item) | ||
38 | if not group then | ||
39 | group = l:new({ item }) | ||
40 | return group | ||
41 | end | ||
42 | group:insert(item) | ||
43 | end | ||
44 | |||
45 | local groups = {} | ||
46 | |||
47 | for i = 1, #l do | ||
48 | local item = l[i] | ||
49 | local f = field(item) | ||
50 | |||
51 | if f then | ||
52 | local out = insert(groups[f], f, item) | ||
53 | if out then groups[f] = out end | ||
54 | end | ||
55 | end | ||
56 | |||
57 | return groups | ||
58 | end | ||
59 | |||
60 | function make_absolute(rel, base) | 36 | function make_absolute(rel, base) |
61 | return path.is_absolute(rel) and rel or path.join({ path.directory(base), rel }) | 37 | return path.is_absolute(rel) and rel or path.join({ path.directory(base), rel }) |
62 | end | 38 | end |
@@ -67,15 +43,28 @@ function resolve_url(site_url, ref_file, target_file) | |||
67 | local ref_base_dir = path.directory(ref_file) | 43 | local ref_base_dir = path.directory(ref_file) |
68 | local abs = target_file | 44 | local abs = target_file |
69 | local rel = path.make_relative(abs, ref_base_dir, true) | 45 | local rel = path.make_relative(abs, ref_base_dir, true) |
46 | local full = (abs[1] == "/" and (site_url .. abs)) or abs | ||
70 | 47 | ||
71 | return { abs = abs, rel = rel, full = (site_url .. abs) } | 48 | return { abs = abs, rel = rel, full = full } |
72 | end | 49 | end |
73 | 50 | ||
74 | function resolve_layout(layout) | 51 | function resolve_layout(depth) |
75 | if layout then | 52 | local layout = "deep_categorized_list" |
76 | layout = pandoc.utils.stringify(layout) | 53 | |
77 | return { id = layout, ["is_" .. layout] = true } | 54 | if depth == "0" then |
55 | layout = "page" | ||
56 | elseif depth == "1" then | ||
57 | layout = "list" | ||
58 | elseif depth == "2" then | ||
59 | layout = "categorized_list" | ||
78 | end | 60 | end |
61 | |||
62 | return layout | ||
63 | end | ||
64 | |||
65 | function prep_layout(layout) | ||
66 | layout = pandoc.utils.stringify(layout) | ||
67 | return { id = layout, ["is_" .. layout] = true } | ||
79 | end | 68 | end |
80 | 69 | ||
81 | function resolve_namespace(namespace) | 70 | function resolve_namespace(namespace) |
@@ -110,8 +99,10 @@ function process_pages(global, order, pages_by_id) | |||
110 | 99 | ||
111 | for _, page in pairs(pages_by_id) do | 100 | for _, page in pairs(pages_by_id) do |
112 | local p = process(global, page) | 101 | local p = process(global, page) |
113 | pages_all:insert(p) | 102 | if not p.unlisted then |
114 | if p.date then pages_date_desc:insert(p) end | 103 | pages_all:insert(p) |
104 | if p.date then pages_date_desc:insert(p) end | ||
105 | end | ||
115 | end | 106 | end |
116 | 107 | ||
117 | pages_all:sort(function(p1, p2) | 108 | pages_all:sort(function(p1, p2) |
@@ -171,12 +162,27 @@ function titlecase(str) | |||
171 | end) | 162 | end) |
172 | end | 163 | end |
173 | 164 | ||
165 | function find_depth(pages) | ||
166 | local depth = 0 | ||
167 | |||
168 | for i = 1, #pages do | ||
169 | local p = pages[i] | ||
170 | local d = tonumber(p.depth) | ||
171 | if d > depth then depth = d end | ||
172 | end | ||
173 | |||
174 | depth = depth + 1 | ||
175 | |||
176 | return tostring(depth) | ||
177 | end | ||
178 | |||
174 | function process(global, meta) | 179 | function process(global, meta) |
175 | meta.namespace = resolve_namespace(meta.namespace) | 180 | meta.namespace = resolve_namespace(meta.namespace) |
176 | meta.file_out = pandoc.utils.stringify(meta.file_out):gsub("^out", "") | 181 | meta.file_out = pandoc.utils.stringify(meta.file_out):gsub("^out", "") |
177 | meta.layout = resolve_layout(meta.layout) | 182 | meta.url = meta.url and pandoc.utils.stringify(meta.url) |
178 | meta.url = resolve_url(global.site.url, global.file_out, meta.file_out) | 183 | meta.url = resolve_url(global.site.url, global.file_out, meta.url or meta.file_out) |
179 | meta.title = (meta.title and titlecase(pandoc.utils.stringify(meta.title))) or "" | 184 | meta.title = (meta.title and pandoc.utils.stringify(meta.title)) or "" |
185 | if meta.titlecase ~= false then meta.title = titlecase(meta.title) end | ||
180 | if meta.list_order then meta.list_order = pandoc.utils.stringify(meta.list_order) end | 186 | if meta.list_order then meta.list_order = pandoc.utils.stringify(meta.list_order) end |
181 | if meta.position then meta.position = pandoc.utils.stringify(meta.position) end | 187 | if meta.position then meta.position = pandoc.utils.stringify(meta.position) end |
182 | 188 | ||
@@ -204,6 +210,8 @@ function process(global, meta) | |||
204 | end | 210 | end |
205 | 211 | ||
206 | meta.pages = process_pages(global, meta.list_order, meta.pages) | 212 | meta.pages = process_pages(global, meta.list_order, meta.pages) |
213 | meta.depth = (meta.pages and find_depth(meta.pages.all)) or "0" | ||
214 | meta.layout = prep_layout(meta.layout or resolve_layout(meta.depth)) | ||
207 | 215 | ||
208 | if meta.date then | 216 | if meta.date then |
209 | meta.date = format_date(meta.date) | 217 | meta.date = format_date(meta.date) |
diff --git a/templates/base.html b/templates/base.html index e736864..ede7941 100644 --- a/templates/base.html +++ b/templates/base.html | |||
@@ -63,8 +63,8 @@ | |||
63 | </nav> | 63 | </nav> |
64 | 64 | ||
65 | <main> | 65 | <main> |
66 | $if(namespace.root.is_index)$ | 66 | $if(layout.is_deep_categorized_list)$ |
67 | ${layouts/index()} | 67 | ${layouts/deep_categorized_list()} |
68 | $elseif(layout.is_categorized_list)$ | 68 | $elseif(layout.is_categorized_list)$ |
69 | ${layouts/categorized_list()} | 69 | ${layouts/categorized_list()} |
70 | $elseif(layout.is_list)$ | 70 | $elseif(layout.is_list)$ |
diff --git a/templates/layouts/categorized_list.html b/templates/layouts/categorized_list.html index a3af43c..ad510ae 100644 --- a/templates/layouts/categorized_list.html +++ b/templates/layouts/categorized_list.html | |||
@@ -11,36 +11,76 @@ $body$ | |||
11 | <h2 class="c-card-list__category-header"> | 11 | <h2 class="c-card-list__category-header"> |
12 | <a href="$it.url.rel$">$it.title$</a> | 12 | <a href="$it.url.rel$">$it.title$</a> |
13 | </h2> | 13 | </h2> |
14 | <div class="c-card-list__category-content$if(it.list_grid)$ c-card-list__category-content--grid$endif$"> | 14 | $if(it.list_grid)$ |
15 | $for(it.pages.all)$ | 15 | <div class="c-card-list__category-content c-card-list__category-content--grid"> |
16 | <a href="$it.url.rel$" class="c-card-list__card c-card"> | 16 | $for(it.pages.all)$ |
17 | $if(pages.all.list_read_indicators)$ | 17 | <a href="$it.url.rel$" class="c-card-list__card c-card"> |
18 | <div class="c-card__block c-card__block--indicator"></div> | 18 | $if(pages.all.list_read_indicators)$ |
19 | $endif$ | 19 | <div class="c-card__block c-card__block--indicator"></div> |
20 | $if(pages.all.icon)$ | 20 | $endif$ |
21 | <svg class="c-card__block o-icon" width="1em" height="1em"> | 21 | $if(pages.all.icon)$ |
22 | <use href="/symbols.svg#icon-$pages.all.icon$"></use> | 22 | <svg class="c-card__block o-icon" width="1em" height="1em"> |
23 | </svg> | 23 | <use href="/symbols.svg#icon-$pages.all.icon$"></use> |
24 | $endif$ | 24 | </svg> |
25 | <div class="c-card__block c-card__block--main"> | 25 | $endif$ |
26 | $it.title$ | 26 | <div class="c-card__block c-card__block--main"> |
27 | </div> | 27 | $if(it.date)$ |
28 | $if(it.date)$ | 28 | <time datetime="$it.date.yyyy_mm_dd$"> |
29 | <time datetime="$it.date.yyyy_mm_dd$" class="c-card__block u-fs0"> | 29 | <small class="u-dn@sm-hi"> |
30 | <small class="u-dn@sm-hi"> | 30 | $it.date.short$ |
31 | $it.date.short$ | 31 | </small> |
32 | </small> | 32 | <small class="u-dn@sm-lo"> |
33 | <small class="u-dn@sm-lo"> | 33 | $it.date.long$ |
34 | $it.date.long$ | 34 | </small> |
35 | </small> | 35 | </time> |
36 | </time> | 36 | <strong class="u-db">$it.title$</strong> |
37 | $endif$ | 37 | $else$ |
38 | </a> | 38 | $it.title$ |
39 | $endfor$ | 39 | $endif$ |
40 | </div> | 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$ | ||
41 | $endif$ | 83 | $endif$ |
42 | $endfor$ | 84 | $endfor$ |
43 | </div> | 85 | </div> |
44 | </section> | 86 | </section> |
45 | |||
46 | |||
diff --git a/templates/layouts/deep_categorized_list.html b/templates/layouts/deep_categorized_list.html new file mode 100644 index 0000000..eec16c9 --- /dev/null +++ b/templates/layouts/deep_categorized_list.html | |||
@@ -0,0 +1,54 @@ | |||
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/index.html b/templates/layouts/index.html deleted file mode 100644 index 1eca10f..0000000 --- a/templates/layouts/index.html +++ /dev/null | |||
@@ -1,67 +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">I'm a <strong>red fox</strong> in disguise.</span></h1> | ||
4 | |||
5 | $body$ | ||
6 | </div> | ||
7 | |||
8 | <div class="c-card-list"> | ||
9 | <h2 class="c-card-list__category-header"> | ||
10 | Profiles | ||
11 | </h2> | ||
12 | <div class="c-card-list__category-content c-card-list__category-content--grid"> | ||
13 | $for(profiles)$ | ||
14 | $if(it.featured)$ | ||
15 | $if(it.url)$ | ||
16 | <a class="c-card-list__card c-card" href="$it.url$"> | ||
17 | $else$ | ||
18 | <div class="c-card-list__card c-card"> | ||
19 | $endif$ | ||
20 | $if(it.icon)$ | ||
21 | <svg class="c-card__block o-icon" width="1em" height="1em"> | ||
22 | <use href="/symbols.svg#icon-$it.icon$"></use> | ||
23 | </svg> | ||
24 | $endif$ | ||
25 | <div class="c-card__block c-card__block--main"> | ||
26 | <strong class="u-db">$it.platform$</strong> | ||
27 | <small class="u-db">$it.username$</small> | ||
28 | </div> | ||
29 | $if(it.url)$ | ||
30 | <svg class="c-card__block o-icon" width="1em" height="1em"> | ||
31 | <use href="/symbols.svg#icon-arrow-up-right"></use> | ||
32 | </svg> | ||
33 | $endif$ | ||
34 | $if(it.url)$ | ||
35 | </a> | ||
36 | $else$ | ||
37 | </div> | ||
38 | $endif$ | ||
39 | $endif$ | ||
40 | $endfor$ | ||
41 | </div> | ||
42 | |||
43 | <h2 class="c-card-list__category-header"> | ||
44 | <a href="$pages.by_id.projects.url.rel$">$pages.by_id.projects.title$</a> | ||
45 | </h2> | ||
46 | <div class="c-card-list__category-content c-card-list__category-content--grid"> | ||
47 | $for(pages.by_id.projects.pages.all)$ | ||
48 | $for(it.pages.all)$ | ||
49 | <a href="$it.url.rel$" class="c-card-list__card c-card"> | ||
50 | $if(pages.by_id.projects.pages.all.icon)$ | ||
51 | <svg class="c-card__block o-icon" width="1em" height="1em"> | ||
52 | <use href="/symbols.svg#icon-$pages.by_id.projects.pages.all.icon$"></use> | ||
53 | </svg> | ||
54 | $endif$ | ||
55 | <div class="c-card__block c-card__block--main"> | ||
56 | <small class="u-db">$pages.by_id.projects.pages.all.title$</small> | ||
57 | <strong class="u-db">$it.title$</strong> | ||
58 | </div> | ||
59 | <svg class="c-card__block o-icon" width="1em" height="1em"> | ||
60 | <use href="/symbols.svg#icon-arrow-right"></use> | ||
61 | </svg> | ||
62 | </a> | ||
63 | $endfor$ | ||
64 | $endfor$ | ||
65 | </div> | ||
66 | </div> | ||
67 | </section> | ||
diff --git a/templates/layouts/list.html b/templates/layouts/list.html index 2ef02ab..b4647a1 100644 --- a/templates/layouts/list.html +++ b/templates/layouts/list.html | |||
@@ -6,33 +6,75 @@ $body$ | |||
6 | </div> | 6 | </div> |
7 | 7 | ||
8 | <div class="c-card-list"> | 8 | <div class="c-card-list"> |
9 | <div class="c-card-list__category-content$if(list_grid)$ c-card-list__category-content--grid$endif$"> | 9 | $if(list_grid)$ |
10 | $for(pages.all)$ | 10 | <div class="c-card-list__category-content c-card-list__category-content--grid"> |
11 | <a href="$it.url.rel$" class="c-card-list__card c-card"> | 11 | $for(pages.all)$ |
12 | $if(list_read_indicators)$ | 12 | <a href="$it.url.rel$" class="c-card-list__card c-card"> |
13 | <div class="c-card__block c-card__block--indicator"></div> | 13 | $if(list_read_indicators)$ |
14 | $endif$ | 14 | <div class="c-card__block c-card__block--indicator"></div> |
15 | $if(icon)$ | 15 | $endif$ |
16 | <svg class="c-card__block o-icon"> | 16 | $if(icon)$ |
17 | <use href="/symbols.svg#icon-$icon$"></use> | 17 | <svg class="c-card__block o-icon"> |
18 | </svg> | 18 | <use href="/symbols.svg#icon-$icon$"></use> |
19 | $endif$ | 19 | </svg> |
20 | <div class="c-card__block c-card__block--main"> | 20 | $endif$ |
21 | $it.title$ | 21 | <div class="c-card__block c-card__block--main"> |
22 | </div> | 22 | $if(it.date)$ |
23 | $if(it.date)$ | 23 | <time datetime="$it.date.yyyy_mm_dd$"> |
24 | <time datetime="$it.date.yyyy_mm_dd$" class="c-card__block u-fs0"> | 24 | <small class="u-dn@sm-hi"> |
25 | <small class="u-dn@sm-hi"> | 25 | $it.date.short$ |
26 | $it.date.short$ | 26 | </small> |
27 | </small> | 27 | <small class="u-dn@sm-lo"> |
28 | <small class="u-dn@sm-lo"> | 28 | $it.date.long$ |
29 | $it.date.long$ | 29 | </small> |
30 | </small> | 30 | </time> |
31 | </time> | 31 | <strong class="u-db">$it.title$</strong> |
32 | $endif$ | 32 | $else$ |
33 | </a> | 33 | $it.title$ |
34 | $endfor$ | 34 | $endif$ |
35 | </div> | 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> | ||
44 | $else$ | ||
45 | <div class="c-card-list__category-content"> | ||
46 | $for(pages.all)$ | ||
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> | ||
77 | $endif$ | ||
36 | </div> | 78 | </div> |
37 | </section> | 79 | </section> |
38 | 80 | ||