diff options
-rw-r--r-- | assets/css/components/_hero.scss (renamed from assets/css/components/_page-header.scss) | 2 | ||||
-rw-r--r-- | assets/css/components/_page.scss | 14 | ||||
-rw-r--r-- | assets/css/style.scss | 2 | ||||
-rw-r--r-- | content/_personal/index.md | 4 | ||||
-rw-r--r-- | content/blog/index.md | 4 | ||||
-rw-r--r-- | content/blog/test1.md | 2 | ||||
-rw-r--r-- | content/blog/test2/index.md | 2 | ||||
-rw-r--r-- | filters/common_actions.lua | 12 | ||||
-rw-r--r-- | metadata/metadata.yaml | 4 | ||||
-rw-r--r-- | scripts/metadata_filter.lua | 108 | ||||
-rw-r--r-- | templates/base.html | 27 | ||||
-rw-r--r-- | templates/layouts/dated_list.html (renamed from templates/list.html) | 4 | ||||
-rw-r--r-- | templates/layouts/index.html | 44 | ||||
-rw-r--r-- | templates/layouts/page.html | 12 | ||||
-rw-r--r-- | templates/page.html | 1 | ||||
-rw-r--r-- | templates/partials/pageHeader.html | 17 | ||||
-rw-r--r-- | templates/partials/pageHeaderSm.html | 10 |
17 files changed, 157 insertions, 112 deletions
diff --git a/assets/css/components/_page-header.scss b/assets/css/components/_hero.scss index e97aaf7..7fa79e1 100644 --- a/assets/css/components/_page-header.scss +++ b/assets/css/components/_hero.scss | |||
@@ -1,4 +1,4 @@ | |||
1 | .c-page-header { | 1 | .c-hero { |
2 | margin-bottom: $line-height * 2em; | 2 | margin-bottom: $line-height * 2em; |
3 | margin-left: -1 * $page--item-prefix--width; | 3 | margin-left: -1 * $page--item-prefix--width; |
4 | padding-left: $page--item-prefix--width; | 4 | padding-left: $page--item-prefix--width; |
diff --git a/assets/css/components/_page.scss b/assets/css/components/_page.scss index bccf069..ce67f7e 100644 --- a/assets/css/components/_page.scss +++ b/assets/css/components/_page.scss | |||
@@ -1,4 +1,18 @@ | |||
1 | .c-page { | 1 | .c-page { |
2 | &__header { | ||
3 | margin-bottom: $line-height * 1em; | ||
4 | |||
5 | &__title { | ||
6 | margin-top: 0; | ||
7 | } | ||
8 | |||
9 | &__meta { | ||
10 | margin-top: 0; | ||
11 | color: var(--fg-hi); | ||
12 | font-weight: normal; | ||
13 | } | ||
14 | } | ||
15 | |||
2 | &__content { | 16 | &__content { |
3 | padding-left: $page--item-prefix--width; | 17 | padding-left: $page--item-prefix--width; |
4 | 18 | ||
diff --git a/assets/css/style.scss b/assets/css/style.scss index e89cbd6..9f3bb31 100644 --- a/assets/css/style.scss +++ b/assets/css/style.scss | |||
@@ -6,7 +6,7 @@ | |||
6 | @import 'components/hlist'; | 6 | @import 'components/hlist'; |
7 | @import 'components/nav'; | 7 | @import 'components/nav'; |
8 | @import 'components/page'; | 8 | @import 'components/page'; |
9 | @import 'components/page-header'; | 9 | @import 'components/hero'; |
10 | 10 | ||
11 | @import 'layouts/container'; | 11 | @import 'layouts/container'; |
12 | 12 | ||
diff --git a/content/_personal/index.md b/content/_personal/index.md new file mode 100644 index 0000000..5e89459 --- /dev/null +++ b/content/_personal/index.md | |||
@@ -0,0 +1,4 @@ | |||
1 | --- | ||
2 | title: Personal Blog | ||
3 | layout: dated_list | ||
4 | --- | ||
diff --git a/content/blog/index.md b/content/blog/index.md index 1053dc2..6668eba 100644 --- a/content/blog/index.md +++ b/content/blog/index.md | |||
@@ -1,7 +1,5 @@ | |||
1 | --- | 1 | --- |
2 | title: Blog | 2 | title: Blog |
3 | 3 | layout: dated_list | |
4 | create_feed: true | 4 | create_feed: true |
5 | --- | 5 | --- |
6 | |||
7 | # Blog | ||
diff --git a/content/blog/test1.md b/content/blog/test1.md index 05c2b2d..943570c 100644 --- a/content/blog/test1.md +++ b/content/blog/test1.md | |||
@@ -3,5 +3,3 @@ date: 2020-12-25 | |||
3 | title: Test Page 1 | 3 | title: Test Page 1 |
4 | category: tes | 4 | category: tes |
5 | --- | 5 | --- |
6 | |||
7 | # Test Page 1 | ||
diff --git a/content/blog/test2/index.md b/content/blog/test2/index.md index 9d1ebd2..aee4641 100644 --- a/content/blog/test2/index.md +++ b/content/blog/test2/index.md | |||
@@ -4,8 +4,6 @@ title: Test Page 2 | |||
4 | category: per | 4 | category: per |
5 | --- | 5 | --- |
6 | 6 | ||
7 | # Test Page 2 | ||
8 | |||
9 | ``` | 7 | ``` |
10 | - /----\ | 8 | - /----\ |
11 | - | | | 9 | - | | |
diff --git a/filters/common_actions.lua b/filters/common_actions.lua index 1d13e3a..a358b99 100644 --- a/filters/common_actions.lua +++ b/filters/common_actions.lua | |||
@@ -2,7 +2,10 @@ function CodeBlock(el) | |||
2 | if next(el.classes) == nil then | 2 | if next(el.classes) == nil then |
3 | el.classes = el.classes .. {'c-page__prefixed', 'c-page__prefixed--pre'} | 3 | el.classes = el.classes .. {'c-page__prefixed', 'c-page__prefixed--pre'} |
4 | else | 4 | else |
5 | local formatted = pandoc.pipe('pygmentize', {'-l', el.classes[1], '-f', 'html', '-O', 'cssclass=c-page__code s-code'}, el.text) | 5 | local formatted = pandoc.pipe('pygmentize', { |
6 | '-l', el.classes[1], '-f', 'html', '-O', | ||
7 | 'cssclass=c-page__code s-code' | ||
8 | }, el.text) | ||
6 | el = pandoc.RawBlock('html', formatted) | 9 | el = pandoc.RawBlock('html', formatted) |
7 | end | 10 | end |
8 | 11 | ||
@@ -21,9 +24,7 @@ function Header(el) | |||
21 | end | 24 | end |
22 | 25 | ||
23 | function Div(el) | 26 | function Div(el) |
24 | if el.attributes.macro == nil then | 27 | if el.attributes.macro == nil then return el end |
25 | return el | ||
26 | end | ||
27 | 28 | ||
28 | if el.attributes.macro == 'refs' and el.content[1].tag == 'BulletList' then | 29 | if el.attributes.macro == 'refs' and el.content[1].tag == 'BulletList' then |
29 | local newchildren = pandoc.List() | 30 | local newchildren = pandoc.List() |
@@ -31,7 +32,8 @@ function Div(el) | |||
31 | newchildren:insert(pandoc.RawBlock('html', '<ul>')) | 32 | newchildren:insert(pandoc.RawBlock('html', '<ul>')) |
32 | 33 | ||
33 | for k, children in ipairs(el.content[1].content) do | 34 | for k, children in ipairs(el.content[1].content) do |
34 | newchildren:insert(pandoc.RawBlock('html', '<li class="c-page__prefixed c-page__prefixed--ref">')) | 35 | newchildren:insert(pandoc.RawBlock('html', |
36 | '<li class="c-page__prefixed c-page__prefixed--ref">')) | ||
35 | newchildren:extend(children) | 37 | newchildren:extend(children) |
36 | newchildren:insert(pandoc.RawBlock('html', '</li>')) | 38 | newchildren:insert(pandoc.RawBlock('html', '</li>')) |
37 | end | 39 | end |
diff --git a/metadata/metadata.yaml b/metadata/metadata.yaml index 51e8cda..ac8474d 100644 --- a/metadata/metadata.yaml +++ b/metadata/metadata.yaml | |||
@@ -14,6 +14,10 @@ menus: | |||
14 | - id: blog | 14 | - id: blog |
15 | label: Blog | 15 | label: Blog |
16 | url: /blog/ | 16 | url: /blog/ |
17 | - id: _personal | ||
18 | label: Personal | ||
19 | url: /_personal/ | ||
20 | hidden: true | ||
17 | 21 | ||
18 | feeds: | 22 | feeds: |
19 | - title: Blog | 23 | - title: Blog |
diff --git a/scripts/metadata_filter.lua b/scripts/metadata_filter.lua index d6379b9..4abb716 100644 --- a/scripts/metadata_filter.lua +++ b/scripts/metadata_filter.lua | |||
@@ -1,13 +1,9 @@ | |||
1 | function format_date(date) | 1 | function format_date(date) |
2 | if date == nil then | 2 | if date == nil then return date end |
3 | return date | ||
4 | end | ||
5 | 3 | ||
6 | date = pandoc.utils.normalize_date(pandoc.utils.stringify(date)) | 4 | date = pandoc.utils.normalize_date(pandoc.utils.stringify(date)) |
7 | local year, month, day = date:match("(%d%d%d%d)-(%d%d)-(%d%d)") | 5 | local year, month, day = date:match("(%d%d%d%d)-(%d%d)-(%d%d)") |
8 | if year == nil then | 6 | if year == nil then return nil end |
9 | return nil | ||
10 | end | ||
11 | 7 | ||
12 | local time = os.time({ | 8 | local time = os.time({ |
13 | year = tonumber(year), | 9 | year = tonumber(year), |
@@ -26,15 +22,10 @@ function table_to_list(t, cmp) | |||
26 | local l = pandoc.List() | 22 | local l = pandoc.List() |
27 | 23 | ||
28 | for key, value in pairs(t) do | 24 | for key, value in pairs(t) do |
29 | l:insert(pandoc.MetaMap({ | 25 | l:insert(pandoc.MetaMap({key = key, value = value})) |
30 | key = key, | ||
31 | value = value | ||
32 | })) | ||
33 | end | 26 | end |
34 | 27 | ||
35 | l:sort(cmp or function(i1, i2) | 28 | l:sort(cmp or function(i1, i2) return i1.key < i2.key end) |
36 | return i1.key < i2.key | ||
37 | end) | ||
38 | 29 | ||
39 | return l | 30 | return l |
40 | end | 31 | end |
@@ -56,9 +47,7 @@ function group_by(l, field, insert) | |||
56 | 47 | ||
57 | if f ~= nil then | 48 | if f ~= nil then |
58 | local out = insert(groups[f], f, item) | 49 | local out = insert(groups[f], f, item) |
59 | if out ~= nil then | 50 | if out ~= nil then groups[f] = out end |
60 | groups[f] = out | ||
61 | end | ||
62 | end | 51 | end |
63 | end | 52 | end |
64 | 53 | ||
@@ -68,9 +57,7 @@ end | |||
68 | function splitstr(input, sep) | 57 | function splitstr(input, sep) |
69 | sep = sep or "%s" | 58 | sep = sep or "%s" |
70 | local t = {} | 59 | local t = {} |
71 | for str in input:gmatch("([^" .. sep .. "]+)") do | 60 | for str in input:gmatch("([^" .. sep .. "]+)") do table.insert(t, str) end |
72 | table.insert(t, str) | ||
73 | end | ||
74 | return t | 61 | return t |
75 | end | 62 | end |
76 | 63 | ||
@@ -98,9 +85,7 @@ function relative_to(dir, target) | |||
98 | path = path .. (path == "" and "" or "/") .. target[i] | 85 | path = path .. (path == "" and "" or "/") .. target[i] |
99 | end | 86 | end |
100 | elseif #dir > #target then | 87 | elseif #dir > #target then |
101 | for i = #target + 1, #dir do | 88 | for _ = #target + 1, #dir do path = "../" .. path end |
102 | path = "../" .. path | ||
103 | end | ||
104 | end | 89 | end |
105 | 90 | ||
106 | return path | 91 | return path |
@@ -123,6 +108,16 @@ function resolve_url(page_type, site_url, content_dir, base_dir, cur_file) | |||
123 | }) | 108 | }) |
124 | end | 109 | end |
125 | 110 | ||
111 | function resolve_layout(layout) | ||
112 | if layout then | ||
113 | layout = pandoc.utils.stringify(layout) | ||
114 | return pandoc.MetaMap({ | ||
115 | id = pandoc.MetaString(layout), | ||
116 | ["is_" .. layout] = pandoc.MetaBool(true) | ||
117 | }) | ||
118 | end | ||
119 | end | ||
120 | |||
126 | function resolve_section(abs_url) | 121 | function resolve_section(abs_url) |
127 | local section = abs_url:match("^/(.-)[/.]") or "index" | 122 | local section = abs_url:match("^/(.-)[/.]") or "index" |
128 | return pandoc.MetaMap({ | 123 | return pandoc.MetaMap({ |
@@ -131,25 +126,48 @@ function resolve_section(abs_url) | |||
131 | }) | 126 | }) |
132 | end | 127 | end |
133 | 128 | ||
134 | function organize_subpages(site_url, content_dir, base_dir, pages, categories) | 129 | function resolve_category(categories, category) |
135 | local grouped_pages = group_by(pages, function(p) | 130 | if categories and category then |
136 | return not p.date | 131 | category = pandoc.utils.stringify(category) |
132 | return pandoc.MetaMap({ | ||
133 | id = pandoc.MetaString(category), | ||
134 | name = pandoc.MetaString(categories[category] or category) | ||
135 | }) | ||
136 | end | ||
137 | end | ||
138 | |||
139 | function create_main_menu_state(section, main_menu) | ||
140 | for i = 1, #main_menu do | ||
141 | local item = main_menu[i] | ||
142 | local active = pandoc.utils.stringify(item.id) == section.id | ||
143 | item.active = pandoc.MetaBool(active) | ||
144 | end | ||
145 | |||
146 | return main_menu:filter(function(item) | ||
147 | return not item.hidden or item.active | ||
137 | end) | 148 | end) |
149 | end | ||
150 | |||
151 | function organize_subpages(pages) | ||
152 | local grouped_pages = group_by(pages, function(p) return not p.date end) | ||
138 | 153 | ||
139 | local pages_undated = grouped_pages[true] or pandoc.MetaList({}) | 154 | local pages_undated = grouped_pages[true] or pandoc.MetaList({}) |
140 | pages_undated:sort(function(p1, p2) | 155 | pages_undated:sort(function(p1, p2) |
141 | return pandoc.utils.stringify(p1.title) < pandoc.utils.stringify(p2.title) | 156 | return pandoc.utils.stringify(p1.title) < |
157 | pandoc.utils.stringify(p2.title) | ||
142 | end) | 158 | end) |
143 | 159 | ||
144 | local pages_dated = grouped_pages[false] or pandoc.MetaList({}) | 160 | local pages_dated = grouped_pages[false] or pandoc.MetaList({}) |
145 | pages_dated:sort(function(p1, p2) | 161 | pages_dated:sort(function(p1, p2) |
146 | return pandoc.utils.stringify(p1.date.yyyy_mm_dd) > pandoc.utils.stringify(p2.date.yyyy_mm_dd) | 162 | return pandoc.utils.stringify(p1.date.yyyy_mm_dd) > |
163 | pandoc.utils.stringify(p2.date.yyyy_mm_dd) | ||
147 | end) | 164 | end) |
148 | 165 | ||
149 | local pages_by_year = group_by(pages_dated, function(p) | 166 | local pages_by_year = group_by(pages_dated, function(p) |
150 | return pandoc.utils.stringify(p.date.yyyy) | 167 | return pandoc.utils.stringify(p.date.yyyy) |
151 | end) | 168 | end) |
152 | pages_by_year = pandoc.MetaList(table_to_list(pages_by_year, function(i1, i2) | 169 | pages_by_year = pandoc.MetaList(table_to_list(pages_by_year, |
170 | function(i1, i2) | ||
153 | return i1.key > i2.key | 171 | return i1.key > i2.key |
154 | end)) | 172 | end)) |
155 | 173 | ||
@@ -161,13 +179,10 @@ function organize_subpages(site_url, content_dir, base_dir, pages, categories) | |||
161 | }) | 179 | }) |
162 | 180 | ||
163 | local categories_data = group_by(pages_dated, function(p) | 181 | local categories_data = group_by(pages_dated, function(p) |
164 | return p.category and pandoc.utils.stringify(p.category) | 182 | return p.category and pandoc.utils.stringify(p.category.id) |
165 | end, function(stats, category) | 183 | end, function(stats, _, p) |
166 | if not stats then | 184 | if not stats then |
167 | return { | 185 | return {name = pandoc.MetaString(p.category.name), count = 1} |
168 | name = pandoc.MetaString(categories[category] or category), | ||
169 | count = 1 | ||
170 | } | ||
171 | else | 186 | else |
172 | stats.count = stats.count + 1 | 187 | stats.count = stats.count + 1 |
173 | end | 188 | end |
@@ -175,7 +190,8 @@ function organize_subpages(site_url, content_dir, base_dir, pages, categories) | |||
175 | categories_data = pandoc.MetaList(table_to_list(categories_data)) | 190 | categories_data = pandoc.MetaList(table_to_list(categories_data)) |
176 | 191 | ||
177 | for i = 1, #categories_data do | 192 | for i = 1, #categories_data do |
178 | categories_data[i].value.count = pandoc.MetaString(("%d"):format(categories_data[i].value.count)) | 193 | categories_data[i].value.count = |
194 | pandoc.MetaString(("%d"):format(categories_data[i].value.count)) | ||
179 | end | 195 | end |
180 | 196 | ||
181 | return pages_data, categories_data | 197 | return pages_data, categories_data |
@@ -188,6 +204,8 @@ function Meta(meta) | |||
188 | meta.base_dir = meta.base_file:gsub("^(.*)/.-$", "%1") | 204 | meta.base_dir = meta.base_file:gsub("^(.*)/.-$", "%1") |
189 | meta.page_type = meta.page_type or "page" | 205 | meta.page_type = meta.page_type or "page" |
190 | 206 | ||
207 | meta.layout = resolve_layout(meta.layout) | ||
208 | |||
191 | meta.date = format_date(meta.date) | 209 | meta.date = format_date(meta.date) |
192 | if meta.last_update ~= nil then | 210 | if meta.last_update ~= nil then |
193 | meta.last_update = format_date(meta.last_update) | 211 | meta.last_update = format_date(meta.last_update) |
@@ -197,28 +215,26 @@ function Meta(meta) | |||
197 | 215 | ||
198 | if meta.page_type == "feed" then | 216 | if meta.page_type == "feed" then |
199 | meta.page = pandoc.MetaMap({ | 217 | meta.page = pandoc.MetaMap({ |
200 | url = resolve_url("page", meta.site.url, meta.content_dir, meta.base_dir, meta.file) | 218 | url = resolve_url("page", meta.site.url, meta.content_dir, |
219 | meta.base_dir, meta.file) | ||
201 | }) | 220 | }) |
202 | end | 221 | end |
203 | 222 | ||
204 | meta.url = resolve_url(meta.page_type, meta.site.url, meta.content_dir, meta.base_dir, meta.file) | 223 | meta.url = resolve_url(meta.page_type, meta.site.url, meta.content_dir, |
224 | meta.base_dir, meta.file) | ||
205 | meta.section = resolve_section(meta.url.abs) | 225 | meta.section = resolve_section(meta.url.abs) |
206 | meta.categories = meta.categories[meta.section.id] | 226 | meta.category = resolve_category(meta.categories[meta.section.id], |
227 | meta.category) | ||
228 | meta.categories = nil | ||
207 | 229 | ||
208 | if meta.menus and meta.menus.main then | 230 | if meta.menus and meta.menus.main then |
209 | for i = 1, #meta.menus.main do | 231 | meta.menus.main = create_main_menu_state(meta.section, meta.menus.main) |
210 | local item = meta.menus.main[i] | ||
211 | item.active = pandoc.MetaBool(pandoc.utils.stringify(item.id) == meta.section.id) | ||
212 | end | ||
213 | end | 232 | end |
214 | 233 | ||
215 | if meta.pages then | 234 | if meta.pages then |
216 | local pages, categories = organize_subpages(meta.site.url, meta.content_dir, meta.base_dir, meta.pages, | 235 | local pages, categories = organize_subpages(meta.pages) |
217 | meta.categories) | ||
218 | meta.pages = pages | 236 | meta.pages = pages |
219 | meta.categories = categories | 237 | meta.categories = categories |
220 | else | ||
221 | meta.categories = nil | ||
222 | end | 238 | end |
223 | 239 | ||
224 | return meta | 240 | return meta |
diff --git a/templates/base.html b/templates/base.html index b4a2953..da3dec9 100644 --- a/templates/base.html +++ b/templates/base.html | |||
@@ -45,33 +45,14 @@ | |||
45 | <main class="c-page s-page l-container l-container--content l-container--pad-v"> | 45 | <main class="c-page s-page l-container l-container--content l-container--pad-v"> |
46 | <div class="c-page__content"> | 46 | <div class="c-page__content"> |
47 | $if(section.is_index)$ | 47 | $if(section.is_index)$ |
48 | <header class="c-page-header u-hidden@sm-down" role="presentation"> | 48 | ${layouts/index()} |
49 | ${partials/pageHeader()} | 49 | $elseif(layout.is_dated_list)$ |
50 | </header> | 50 | ${layouts/dated_list()} |
51 | |||
52 | ${page()} | ||
53 | $elseif(pages)$ | ||
54 | ${list()} | ||
55 | $else$ | 51 | $else$ |
56 | ${page()} | 52 | ${layouts/page()} |
57 | $endif$ | 53 | $endif$ |
58 | </div> | 54 | </div> |
59 | </main> | 55 | </main> |
60 | |||
61 | $if(section.is_index)$ | ||
62 | <template id="header-sm"> | ||
63 | ${partials/pageHeaderSm()} | ||
64 | </template> | ||
65 | |||
66 | <script> | ||
67 | var headerEl = document.querySelector(".c-page-header"); | ||
68 | var headerTemplateEl = document.getElementById("header-sm"); | ||
69 | var headerSmEl = headerTemplateEl.content.cloneNode("true"); | ||
70 | |||
71 | headerEl.classList.remove("u-hidden@sm-down"); | ||
72 | headerEl.appendChild(headerSmEl); | ||
73 | </script> | ||
74 | $endif$ | ||
75 | </body> | 56 | </body> |
76 | 57 | ||
77 | </html> | 58 | </html> |
diff --git a/templates/list.html b/templates/layouts/dated_list.html index d74681c..0a279f0 100644 --- a/templates/list.html +++ b/templates/layouts/dated_list.html | |||
@@ -1,3 +1,5 @@ | |||
1 | <h1 class="c-page__prefixed c-page__prefixed--h1">$title$</h1> | ||
2 | |||
1 | $body$ | 3 | $body$ |
2 | 4 | ||
3 | $if(categories)$ | 5 | $if(categories)$ |
@@ -12,7 +14,7 @@ $for(pages.by_year)$ | |||
12 | <ul> | 14 | <ul> |
13 | $for(it.value)$ | 15 | $for(it.value)$ |
14 | <li class="c-page__prefixed c-page__prefixed--ref"> | 16 | <li class="c-page__prefixed c-page__prefixed--ref"> |
15 | <a href="$it.url.rel$">$it.category/uppercase$ $it.date.yyyy_mm_dd$ - $it.title$</a> | 17 | <a href="$it.url.rel$">$it.category.id/uppercase$ $it.date.yyyy_mm_dd$ - $it.title$</a> |
16 | </li> | 18 | </li> |
17 | $endfor$ | 19 | $endfor$ |
18 | </ul> | 20 | </ul> |
diff --git a/templates/layouts/index.html b/templates/layouts/index.html new file mode 100644 index 0000000..144d1ed --- /dev/null +++ b/templates/layouts/index.html | |||
@@ -0,0 +1,44 @@ | |||
1 | <header class="c-hero u-hidden@sm-down" role="presentation"> | ||
2 | $-- ' | ' ' ' ' ' | | | ' ' | ||
3 | $-- | ' ' ' //\_ ' | ' . | ' ' | ||
4 | $-- .| ' ____,...,______..,_~`` -`.., ' | ' | ' ' | ||
5 | $-- | _,~´"' , . ,~--´ ' _| | . |~~.__ ' ' | ||
6 | $-- | | ,-" _.-|~/ |..,____,) ,/,,"' '_( | ' |) ) ' ' | ||
7 | $-- '| \__,~"´ /:) / |:\ \ ,~( ) . | | ) `, ' _,--. | ||
8 | $-- ___\___.___:____(:/\_-,______\:.\_-,____.__\_.\______.__:___\__.___)_.___,/_____ | ||
9 | $-- ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ | ||
10 | |||
11 | <pre class="c-hero__pre c-page__prefixed c-page__prefixed--pre u-mt0 u-hidden@sm-down"> | ||
12 | ' | ' ' ' ' ' | | | ' ' | ||
13 | | ' ' ' <strong>//\_</strong> ' | ' . | ' ' | ||
14 | .| ' <strong>____,...,______..,_~`` -`..,</strong> ' | ' | ' ' | ||
15 | | <strong>_,~´"' , . ,~--´</strong> ' _| | . |~~.__ ' ' | ||
16 | | | <strong>,-" _.-|~/ |..,____,) ,/,,"'</strong> '_( | ' |) ) ' ' | ||
17 | '| <strong>\__,~"´ /:) / |:\ \</strong> ,~( ) . | | ) `, ' _,--. | ||
18 | \ . : <strong>(:/\_-, \:.\_-,</strong> . \ .\ . : \ . ) . ' ,/ </pre> | ||
19 | |||
20 | </header> | ||
21 | |||
22 | $body$ | ||
23 | |||
24 | <template id="header-sm"> | ||
25 | $-- .| //\__ ' .' | . | ' . ' | ||
26 | $-- | _.~-"""-----~`` ,-´ ' ' |' | ' ' | ||
27 | $-- '| .´ ,~'\ ).,__,)/,," ' . ' | | | ' .' | ||
28 | $-- |_ `~´ (/\\, (/\\, _' '_ _| ' |_ _' '_ | ||
29 | |||
30 | <pre class="c-hero__pre c-page__prefixed c-page__prefixed--pre u-mt0 $if(section.is_index)$u-hidden@sm-up$endif$"> | ||
31 | .| <strong> //\__</strong> ' .' | . | ' . ' | ||
32 | | <strong> _.~-"""-----~`` ,-´</strong> ' ' |' | ' ' | ||
33 | '| <strong>.´ ,~'\ ).,__,)/,," </strong> ' . ' | | | ' .' | ||
34 | |_ <strong>`~´ (/\\, (/\\, </strong> _' '_ _| ' |_ _' '_</pre> | ||
35 | </template> | ||
36 | |||
37 | <script> | ||
38 | var headerEl = document.querySelector(".c-hero"); | ||
39 | var headerTemplateEl = document.getElementById("header-sm"); | ||
40 | var headerSmEl = headerTemplateEl.content.cloneNode("true"); | ||
41 | |||
42 | headerEl.classList.remove("u-hidden@sm-down"); | ||
43 | headerEl.appendChild(headerSmEl); | ||
44 | </script> | ||
diff --git a/templates/layouts/page.html b/templates/layouts/page.html new file mode 100644 index 0000000..332a846 --- /dev/null +++ b/templates/layouts/page.html | |||
@@ -0,0 +1,12 @@ | |||
1 | <header class="c-page__header"> | ||
2 | <h1 class="c-page__prefixed c-page__prefixed--h1 c-page__header__title">$title$</h1> | ||
3 | $if(date)$ | ||
4 | <h2 class="c-page__header__meta">$date.yyyy_mm_dd$$if(category)$ in $category.name$$endif$</h2> | ||
5 | $elseif(category)$ | ||
6 | <h2 class="c-page__header__meta">in $category.name$</h2> | ||
7 | $endif$ | ||
8 | </header> | ||
9 | |||
10 | <section> | ||
11 | $body$ | ||
12 | </section> | ||
diff --git a/templates/page.html b/templates/page.html deleted file mode 100644 index 36d66c2..0000000 --- a/templates/page.html +++ /dev/null | |||
@@ -1 +0,0 @@ | |||
1 | $body$ | ||
diff --git a/templates/partials/pageHeader.html b/templates/partials/pageHeader.html deleted file mode 100644 index 95e55f7..0000000 --- a/templates/partials/pageHeader.html +++ /dev/null | |||
@@ -1,17 +0,0 @@ | |||
1 | $-- ' | ' ' ' ' ' | | | ' ' | ||
2 | $-- | ' ' ' //\_ ' | ' . | ' ' | ||
3 | $-- .| ' ____,...,______..,_~`` -`.., ' | ' | ' ' | ||
4 | $-- | _,~´"' , . ,~--´ ' _| | . |~~.__ ' ' | ||
5 | $-- | | ,-" _.-|~/ |..,____,) ,/,,"' '_( | ' |) ) ' ' | ||
6 | $-- '| \__,~"´ /:) / |:\ \ ,~( ) . | | ) `, ' _,--. | ||
7 | $-- ___\___.___:____(:/\_-,______\:.\_-,____.__\_.\______.__:___\__.___)_.___,/_____ | ||
8 | $-- ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ | ||
9 | |||
10 | <pre class="c-page-header__pre c-page__prefixed c-page__prefixed--pre u-mt0 u-hidden@sm-down"> | ||
11 | ' | ' ' ' ' ' | | | ' ' | ||
12 | | ' ' ' <strong>//\_</strong> ' | ' . | ' ' | ||
13 | .| ' <strong>____,...,______..,_~`` -`..,</strong> ' | ' | ' ' | ||
14 | | <strong>_,~´"' , . ,~--´</strong> ' _| | . |~~.__ ' ' | ||
15 | | | <strong>,-" _.-|~/ |..,____,) ,/,,"'</strong> '_( | ' |) ) ' ' | ||
16 | '| <strong>\__,~"´ /:) / |:\ \</strong> ,~( ) . | | ) `, ' _,--. | ||
17 | \ . : <strong>(:/\_-, \:.\_-,</strong> . \ .\ . : \ . ) . ' ,/ </pre> | ||
diff --git a/templates/partials/pageHeaderSm.html b/templates/partials/pageHeaderSm.html deleted file mode 100644 index 92359fa..0000000 --- a/templates/partials/pageHeaderSm.html +++ /dev/null | |||
@@ -1,10 +0,0 @@ | |||
1 | $-- .| //\__ ' .' | . | ' . ' | ||
2 | $-- | _.~-"""-----~`` ,-´ ' ' |' | ' ' | ||
3 | $-- '| .´ ,~'\ ).,__,)/,," ' . ' | | | ' .' | ||
4 | $-- |_ `~´ (/\\, (/\\, _' '_ _| ' |_ _' '_ | ||
5 | |||
6 | <pre class="c-page-header__pre c-page__prefixed c-page__prefixed--pre u-mt0 $if(section.is_index)$u-hidden@sm-up$endif$"> | ||
7 | .| <strong> //\__</strong> ' .' | . | ' . ' | ||
8 | | <strong> _.~-"""-----~`` ,-´</strong> ' ' |' | ' ' | ||
9 | '| <strong>.´ ,~'\ ).,__,)/,," </strong> ' . ' | | | ' .' | ||
10 | |_ <strong>`~´ (/\\, (/\\, </strong> _' '_ _| ' |_ _' '_</pre> | ||