From 239b9d9a9b003f63d672073b4f3ebb7f7c012c30 Mon Sep 17 00:00:00 2001 From: gil Date: Sat, 22 Jun 2024 09:27:50 -0500 Subject: [PATCH] Move blog to new folder, add background images --- README.md | 1 + src/_includes/layouts/default.njk | 4 +- src/_includes/layouts/home.njk | 34 ++-- src/_includes/partials/footer.njk | 10 +- src/{posts/posts.json => blog/blog.json} | 0 src/{posts => blog}/index.md | 1 - src/css/global.css | 187 ++++++++++---------- src/css/global.css.map | 2 +- src/img/background.png | Bin 0 -> 1662 bytes src/img/background2.png | Bin 0 -> 13124 bytes src/img/landing.png | Bin 3455 -> 0 bytes src/img/nine-patch.png | Bin 199 -> 0 bytes src/img/objects.png | Bin 0 -> 12556 bytes src/img/sigils.png | Bin 1360 -> 0 bytes src/scss/{_markup.scss => _components.scss} | 8 +- src/scss/global.scss | 136 +++++++------- src/scss/{ => modules}/_fonts.scss | 0 17 files changed, 190 insertions(+), 193 deletions(-) rename src/{posts/posts.json => blog/blog.json} (100%) rename src/{posts => blog}/index.md (95%) create mode 100644 src/img/background.png create mode 100644 src/img/background2.png delete mode 100644 src/img/landing.png delete mode 100644 src/img/nine-patch.png create mode 100644 src/img/objects.png delete mode 100644 src/img/sigils.png rename src/scss/{_markup.scss => _components.scss} (74%) rename src/scss/{ => modules}/_fonts.scss (100%) diff --git a/README.md b/README.md index e800f02..f189a8e 100644 --- a/README.md +++ b/README.md @@ -31,3 +31,4 @@ - Add pagination to blog - Add `home` layout - Refactored base template +- Switch layout back to CSS flex diff --git a/src/_includes/layouts/default.njk b/src/_includes/layouts/default.njk index 4abea22..2e8ef8a 100644 --- a/src/_includes/layouts/default.njk +++ b/src/_includes/layouts/default.njk @@ -2,6 +2,6 @@ layout: layouts/base.njk --- -
- {{ content | safe }} +
+
{{ content | safe }}
\ No newline at end of file diff --git a/src/_includes/layouts/home.njk b/src/_includes/layouts/home.njk index d885687..2a2379d 100644 --- a/src/_includes/layouts/home.njk +++ b/src/_includes/layouts/home.njk @@ -1,21 +1,21 @@ --- layout: layouts/base.njk --- - -
-

Blurb

- {{ content | safe }} +
+
+ {{ content | safe }} +
+ +
- - \ No newline at end of file diff --git a/src/_includes/partials/footer.njk b/src/_includes/partials/footer.njk index 0663ca0..700978c 100644 --- a/src/_includes/partials/footer.njk +++ b/src/_includes/partials/footer.njk @@ -1,6 +1,6 @@ -

- Made with 11ty. - {% if page.date %} +

+

Made with 11ty. + {%- if page.date %} Last updated on . - {% endif %} -

\ No newline at end of file + {% endif -%}

+
\ No newline at end of file diff --git a/src/posts/posts.json b/src/blog/blog.json similarity index 100% rename from src/posts/posts.json rename to src/blog/blog.json diff --git a/src/posts/index.md b/src/blog/index.md similarity index 95% rename from src/posts/index.md rename to src/blog/index.md index 8bf472d..8c7bac7 100644 --- a/src/posts/index.md +++ b/src/blog/index.md @@ -1,6 +1,5 @@ --- title: Blog -permalink: /blog/ override:tags: [] pagination: data: collections.blog diff --git a/src/css/global.css b/src/css/global.css index e370b12..550403e 100644 --- a/src/css/global.css +++ b/src/css/global.css @@ -1,4 +1,55 @@ /* IMPORTS ================================================================= */ +/* ============================================================================ +FONT SOURCES +============================================================================ */ +/* Linux Libertine ------------------------------------------------------------ + +Licensed under GPL and OFL 1.1 + +Full license texts: +- https://gils.nexus/font/GPL.txt +- https://gils.nexus/font/OFL-1.1.txt + +---------------------------------------------------------------------------- */ +@font-face { + font-family: "Linux Libertine"; + font-style: normal; + src: local("Linux Libertine"), url("../font/LinLibertine_Rah.ttf"); +} +@font-face { + font-family: "Linux Libertine"; + font-style: normal; + font-weight: 600; + src: local("Linux Libertine Semibold"), url("../font/LinLibertine_RZah.ttf"); +} +@font-face { + font-family: "Linux Libertine"; + font-style: normal; + font-weight: 700; + src: local("Linux Libertine Bold"), url("../font/LinLibertine_RBah.ttf"); +} +@font-face { + font-family: "Linux Libertine"; + font-style: italic; + src: local("Linux Libertine Italic"), url("../font/LinLibertine_RIah.ttf"); +} +@font-face { + font-family: "Linux Libertine"; + font-style: italic; + font-weight: 600; + src: local("Linux Libertine Semibold Italic"), url("../font/LinLibertine_RZIah.ttf"); +} +@font-face { + font-family: "Linux Libertine"; + font-style: italic; + font-weight: 700; + src: local("Linux Libertine Bold Italic"), url("../font/LinLibertine_RBIah.ttf"); +} +/* ============================================================================ +COMPONENTS +---------- +Reusable components for use across my site +============================================================================ */ .markup { word-wrap: break-word; line-height: 1.7; @@ -77,122 +128,70 @@ GLOBAL VARIABLES /* Spacing ----------------------------------------------------------------- */ /* Typography -------------------------------------------------------------- */ /* -- Font ----------------------------------------------------------------- */ -/* ============================================================================ -FONT SOURCES -============================================================================ */ -/* Linux Libertine ------------------------------------------------------------ - -Licensed under GPL and OFL 1.1 - -Full license texts: -- https://gils.nexus/font/GPL.txt -- https://gils.nexus/font/OFL-1.1.txt - ----------------------------------------------------------------------------- */ -@font-face { - font-family: "Linux Libertine"; - font-style: normal; - src: local("Linux Libertine"), url("../font/LinLibertine_Rah.ttf"); -} -@font-face { - font-family: "Linux Libertine"; - font-style: normal; - font-weight: 600; - src: local("Linux Libertine Semibold"), url("../font/LinLibertine_RZah.ttf"); -} -@font-face { - font-family: "Linux Libertine"; - font-style: normal; - font-weight: 700; - src: local("Linux Libertine Bold"), url("../font/LinLibertine_RBah.ttf"); -} -@font-face { - font-family: "Linux Libertine"; - font-style: italic; - src: local("Linux Libertine Italic"), url("../font/LinLibertine_RIah.ttf"); -} -@font-face { - font-family: "Linux Libertine"; - font-style: italic; - font-weight: 600; - src: local("Linux Libertine Semibold Italic"), url("../font/LinLibertine_RZIah.ttf"); -} -@font-face { - font-family: "Linux Libertine"; - font-style: italic; - font-weight: 700; - src: local("Linux Libertine Bold Italic"), url("../font/LinLibertine_RBIah.ttf"); -} :root { font-size: 12pt; font-family: "Linux Libertine", "Times New Roman", Times, serif; color-scheme: light dark; } -.site { - display: grid; +body { + background: url("/img/background2.png"); } -.site > .banner { + +.site > .banner, +.site > .navbar, +.site > .footer { text-align: center; } + +.site { + display: flex; + flex-direction: column; +} .site > .navbar { - text-align: center; + border: solid black 1px; } .site > .navbar li { display: inline-flex; } -@media (min-width: 769px) { - .site { - grid-template-columns: repeat(10, 1fr); - grid-template-rows: 3; - column-gap: 1em; - height: 100%; - padding: 2em 0; - } - .site > .banner { - grid-row: 1; - grid-column: 1/-1; - } - .site > .navbar { - grid-row: 2; - grid-column: 1/-1; - } - .site > .footer { - grid-row: 4; - grid-column: 1/-1; - margin: 1em; - text-align: center; - } -} -@media (min-width: 1025px) { - .site { - grid-template-columns: repeat(12, 1fr); +@media (min-width: 641px) { + .site > main { + display: flex; + flex-direction: row; + gap: 1em; } } -.page { - font-size: 1rem; - margin: 0 1em; +.box { + border: solid black 1px; + padding: 0 1em; } + @media (min-width: 769px) { - .page { - display: grid; - grid-template-columns: subgrid; - grid-row: 3; - grid-column: 2/span 8; - margin: 0; - } - .page * { - grid-column: 2/span 6; + .width-1\/6 { + width: 16.66666667%; } } -@media (min-width: 1025px) { - .page { - grid-column: 2/span 10; - } - .page * { - grid-column: 4/span 4; + +@media (min-width: 769px) { + .width-2\/3 { + width: 66.66666667%; } } +.flex-auto { + flex: 1 1 auto; +} + +.flex-initial { + flex: 0 1 auto; +} + +.order-first { + order: -999; +} +.order-last { + order: 999; +} + /*# sourceMappingURL=global.css.map */ diff --git a/src/css/global.css.map b/src/css/global.css.map index cd3ee58..8d8480d 100644 --- a/src/css/global.css.map +++ b/src/css/global.css.map @@ -1 +1 @@ -{"version":3,"sourceRoot":"","sources":["../scss/global.scss","../scss/_markup.scss","../scss/_vars.scss","../scss/_fonts.scss","../scss/modules/_include-media.scss"],"names":[],"mappings":"AAEA;ACAA;EACE;EACA;EACA;;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAOE;;AAGF;AAAA;EAEE;EACA;;AAGF;EACE;;AAGF;EACE;;AAGF;EACE;;AAGF;EACE;;AAGF;EACE;;AAGF;EACE;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;EAME;;AAGF;AAAA;AAAA;EAGE;;AAGF;EACE;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;;ACjFJ;AAAA;AAAA;AAIA;AAGA;AAGA;AAGA;ACbA;AAAA;AAAA;AAIA;;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAWA;EACE;EACA;EACA;;AAIF;EACE;EACA;EACA;EACA;;AAIF;EACE;EACA;EACA;EACA;;AAIF;EACE;EACA;EACA;;AAIF;EACE;EACA;EACA;EACA;;AAKF;EACE;EACA;EACA;EACA;;AHvCF;EAEI,WEPa;EFQb,aEPe;EFSjB;;;AAGF;EACE;;AAEA;EACE;;AAGF;EACE;;AAEA;EACE;;AI6jBF;EJxkBJ;IAgBI;IACA;IACA,YErCK;IFsCL;IACA;;EAEA;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;IACA;IACA;;;AIoiBF;EJxkBJ;IAyCI;;;;AAIJ;EACE;EACA;;AIyhBE;EJ3hBJ;IAKI;IACA;IACA;IACA;IACA;;EAEA;IACE;;;AI+gBF;EJ3hBJ;IAiBI;;EAEA;IACE","file":"global.css"} \ No newline at end of file +{"version":3,"sourceRoot":"","sources":["../scss/global.scss","../scss/modules/_fonts.scss","../scss/_components.scss","../scss/_vars.scss","../scss/modules/_include-media.scss"],"names":[],"mappings":"AAEA;ACDA;AAAA;AAAA;AAIA;;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAWA;EACE;EACA;EACA;;AAIF;EACE;EACA;EACA;EACA;;AAIF;EACE;EACA;EACA;EACA;;AAIF;EACE;EACA;EACA;;AAIF;EACE;EACA;EACA;EACA;;AAKF;EACE;EACA;EACA;EACA;;AC1DF;AAAA;AAAA;AAAA;AAAA;AAOA;EACE;EACA;EACA;;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAOE;;AAGF;AAAA;EAEE;EACA;;AAGF;EACE;;AAGF;EACE;;AAGF;EACE;;AAGF;EACE;;AAGF;EACE;;AAGF;EACE;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;EAME;;AAGF;AAAA;AAAA;EAGE;;AAGF;EACE;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;;ACvFJ;AAAA;AAAA;AAIA;AAGA;AAGA;AAGA;AHHA;EAEI,WGEa;EHDb,aGEe;EHAjB;;;AAGF;EACE;;;AAGF;AAAA;AAAA;EACE;;;AAGF;EACE;EACA;;AASE;EACE;;AAEA;EACE;;AI0jBJ;EJrjBE;IACE;IACA;IACA,KGzCC;;;;AH+CT;EACE;EACA;;;AI0iBE;EJviBJ;IAEI;;;;AIqiBA;EJjiBJ;IAEI;;;;AAIJ;EACE;;;AAGF;EACE;;;AAIA;EACE;;AAEF;EACE","file":"global.css"} \ No newline at end of file diff --git a/src/img/background.png b/src/img/background.png new file mode 100644 index 0000000000000000000000000000000000000000..1506df5edf1fbd6c06743d1e16a9497987c12773 GIT binary patch literal 1662 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 literal 0 HcmV?d00001 diff --git a/src/img/landing.png b/src/img/landing.png deleted file mode 100644 index 59f83ea1c45ba4bef2f966a864ec2a219064d1ef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3455 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 diff --git a/src/img/objects.png b/src/img/objects.png new file mode 100644 index 0000000000000000000000000000000000000000..24a59ed249eb0d07c6b9d1e8daa106530f40cd92 GIT binary patch literal 12556 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 SoL2n+0000 .banner { - text-align: center; - } - - & > .navbar { - text-align: center; - - li { - display: inline-flex; - } - } - - @include media(">md") { - grid-template-columns: repeat(10, 1fr); - grid-template-rows: 3; - column-gap: $gutter; - height: 100%; - padding: ($gutter * 2) 0; - - & > .banner { - grid-row: 1; - grid-column: 1 / -1; + > { + .banner, + .navbar, + .footer { + @extend %text-center; } - & > .navbar { - grid-row: 2; - grid-column: 1 / -1; + .navbar { + border: solid black 1px; + + li { + display: inline-flex; + } } - & > .footer { - grid-row: 4; - grid-column: 1 / -1; - margin: 1em; - text-align: center; - } - } - - @include media(">lg") { - grid-template-columns: repeat(12, 1fr); - } -} - -.page { - font-size: 1rem; - margin: 0 $gutter; - - @include media(">md") { - display: grid; - grid-template-columns: subgrid; - grid-row: 3; - grid-column: 2 / span 8; - margin: 0; - - * { - grid-column: 2 / span 6; - } - } - - @include media(">lg") { - grid-column: 2 / span 10; - - * { - grid-column: 4 / span 4; + @include media(">sm") { + main { + display: flex; + flex-direction: row; + gap: $gutter; + } } } } + +.box { + border: solid black 1px; + padding: 0 1em; +} + +.width-1\/6 { + @include media(">md") { + width: 16.66666667%; + } +} + +.width-2\/3 { + @include media(">md") { + width: 66.66666667%; + } +} + +.flex-auto { + flex: 1 1 auto; +} + +.flex-initial { + flex: 0 1 auto; +} + +.order- { + &first { + order: -999; + } + &last { + order: 999; + } +} \ No newline at end of file diff --git a/src/scss/_fonts.scss b/src/scss/modules/_fonts.scss similarity index 100% rename from src/scss/_fonts.scss rename to src/scss/modules/_fonts.scss