commit 011a3db03a8c6a16767847f407aa9c67ed75fa32 Author: Mikko Ahlroth Date: Sun Apr 14 15:45:57 2024 +0300 Initial commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..18c440a --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +*.beam +*.ez +/build +erl_crash.dump +.DS_Store diff --git a/.tool-versions b/.tool-versions new file mode 100644 index 0000000..aa5a120 --- /dev/null +++ b/.tool-versions @@ -0,0 +1,2 @@ +gleam 1.0.0 +nodejs 20.10.0 diff --git a/README.md b/README.md new file mode 100644 index 0000000..be47a5e --- /dev/null +++ b/README.md @@ -0,0 +1,25 @@ +# gloss_blog + +[![Package Version](https://img.shields.io/hexpm/v/gloss_blog)](https://hex.pm/packages/gloss_blog) +[![Hex Docs](https://img.shields.io/badge/hex-docs-ffaff3)](https://hexdocs.pm/gloss_blog/) + +```sh +gleam add gloss_blog +``` +```gleam +import gloss_blog + +pub fn main() { + // TODO: An example of the project in use +} +``` + +Further documentation can be found at . + +## Development + +```sh +gleam run # Run the project +gleam test # Run the tests +gleam shell # Run an Erlang shell +``` diff --git a/data/menu b/data/menu new file mode 100644 index 0000000..bdb849e --- /dev/null +++ b/data/menu @@ -0,0 +1,5 @@ +https://hex.pm/packages/gloss Hex +https://hexdocs.pm/gloss HexDocs +https://gitlab.com/nicd/gloss GitLab +/guide.html User's Guide +https://gitlab.com/nicd/gloss_blog This blog's source diff --git a/data/pages/404.md b/data/pages/404.md new file mode 100644 index 0000000..4fab000 --- /dev/null +++ b/data/pages/404.md @@ -0,0 +1,4 @@ +Page Not Found + +Try some other page? Or file an issue in the +[blog repository](https://gitlab.com/nicd/gloss_blog). diff --git a/data/pages/guide.md b/data/pages/guide.md new file mode 100644 index 0000000..2511ac6 --- /dev/null +++ b/data/pages/guide.md @@ -0,0 +1,3 @@ +Gloss User's Guide + +Yay. diff --git a/data/posts/2024-04-14-hello-world.md b/data/posts/2024-04-14-hello-world.md new file mode 100644 index 0000000..5dacaea --- /dev/null +++ b/data/posts/2024-04-14-hello-world.md @@ -0,0 +1,6 @@ +Hello, world! +time: 15:25 Europe/Helsinki + +This is the [Gloss](https://hexdocs.pm/gloss) demo blog. This blog will contain news about +Gloss, and the user's guide. It also works as a demonstration of a simple blog setup. You can +find this blog's code also on [GitLab](https://gitlab.com/nicd/gloss_blog). diff --git a/gleam.toml b/gleam.toml new file mode 100644 index 0000000..0cc6ed2 --- /dev/null +++ b/gleam.toml @@ -0,0 +1,18 @@ +name = "gloss_blog" +version = "1.0.0" +target = "javascript" + +# Fill out these fields if you intend to generate HTML documentation or publish +# your project to the Hex package manager. +# +# description = "" +# licences = ["Apache-2.0"] +# repository = { type = "github", user = "username", repo = "project" } +# links = [{ title = "Website", href = "https://gleam.run" }] +# +# For a full reference of all the available options, you can have a look at +# https://gleam.run/writing-gleam/gleam-toml/. + +[dependencies] +gleam_stdlib = "~> 0.34 or ~> 1.0" +gloss = { path = "../gloss" } diff --git a/manifest.toml b/manifest.toml new file mode 100644 index 0000000..5d2f37e --- /dev/null +++ b/manifest.toml @@ -0,0 +1,24 @@ +# This file was generated by Gleam +# You typically do not need to edit this file + +packages = [ + { name = "bigi", version = "3.0.0", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "bigi", source = "hex", outer_checksum = "FFDFC542A5146C535AE09AB9A642D652AD8B018509CDA70E1D09741EDB64FBF7" }, + { name = "filepath", version = "1.0.0", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "filepath", source = "hex", outer_checksum = "EFB6FF65C98B2A16378ABC3EE2B14124168C0CE5201553DE652E2644DCFDB594" }, + { name = "gleam_erlang", version = "0.25.0", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "gleam_erlang", source = "hex", outer_checksum = "054D571A7092D2A9727B3E5D183B7507DAB0DA41556EC9133606F09C15497373" }, + { name = "gleam_javascript", version = "0.8.0", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "gleam_javascript", source = "hex", outer_checksum = "14D5B7E1A70681E0776BF0A0357F575B822167960C844D3D3FA114D3A75F05A8" }, + { name = "gleam_json", version = "1.0.0", build_tools = ["gleam"], requirements = ["gleam_stdlib", "thoas"], otp_app = "gleam_json", source = "hex", outer_checksum = "8B197DD5D578EA6AC2C0D4BDC634C71A5BCA8E7DB5F47091C263ECB411A60DF3" }, + { name = "gleam_otp", version = "0.10.0", build_tools = ["gleam"], requirements = ["gleam_erlang", "gleam_stdlib"], otp_app = "gleam_otp", source = "hex", outer_checksum = "0B04FE915ACECE539B317F9652CAADBBC0F000184D586AAAF2D94C100945D72B" }, + { name = "gleam_stdlib", version = "0.36.0", build_tools = ["gleam"], requirements = [], otp_app = "gleam_stdlib", source = "hex", outer_checksum = "C0D14D807FEC6F8A08A7C9EF8DFDE6AE5C10E40E21325B2B29365965D82EB3D4" }, + { name = "gloss", version = "1.0.0", build_tools = ["gleam"], requirements = ["bigi", "gleam_javascript", "gleam_stdlib", "lustre", "lustre_ssg", "ranged_int"], source = "local", path = "../gloss" }, + { name = "jot", version = "0.3.1", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "jot", source = "hex", outer_checksum = "574A2DACA106E9B4826C9F3F2D3911844C7826D554C08E404696CC16F85E0392" }, + { name = "lustre", version = "4.1.7", build_tools = ["gleam"], requirements = ["gleam_erlang", "gleam_json", "gleam_otp", "gleam_stdlib"], otp_app = "lustre", source = "hex", outer_checksum = "64F5D7E4DF51280185F70296ACB7D3DCC9B5DA09EFC5257F0E5601846DFBEF23" }, + { name = "lustre_ssg", version = "0.5.0", build_tools = ["gleam"], requirements = ["gleam_stdlib", "jot", "lustre", "simplifile", "tom"], otp_app = "lustre_ssg", source = "hex", outer_checksum = "F208FC79C25AE70976AEA2BA4262760BCC5C807E637742FEF66F0692150039C6" }, + { name = "ranged_int", version = "2.0.0", build_tools = ["gleam"], requirements = ["bigi", "gleam_stdlib"], otp_app = "ranged_int", source = "hex", outer_checksum = "9FCDA804C1884015FC25F3F8BE429FC450D402F861B5C561464479F5B1162A41" }, + { name = "simplifile", version = "1.7.0", build_tools = ["gleam"], requirements = ["filepath", "gleam_stdlib"], otp_app = "simplifile", source = "hex", outer_checksum = "1D5DFA3A2F9319EC85825F6ED88B8E449F381B0D55A62F5E61424E748E7DDEB0" }, + { name = "thoas", version = "0.4.1", build_tools = ["rebar3"], requirements = [], otp_app = "thoas", source = "hex", outer_checksum = "4918D50026C073C4AB1388437132C77A6F6F7C8AC43C60C13758CC0ADCE2134E" }, + { name = "tom", version = "0.3.0", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "tom", source = "hex", outer_checksum = "0831C73E45405A2153091226BF98FB485ED16376988602CC01A5FD086B82D577" }, +] + +[requirements] +gleam_stdlib = { version = "~> 0.34 or ~> 1.0" } +gloss = { path = "../gloss" } diff --git a/output/2024/04/14/hello-world.html b/output/2024/04/14/hello-world.html new file mode 100644 index 0000000..de9fca9 --- /dev/null +++ b/output/2024/04/14/hello-world.html @@ -0,0 +1,5 @@ + +Hello, world! · Gloss Blog

Hello, world!

Posted on .

This is the Gloss demo blog. This blog will contain news about +Gloss, and the user's guide. It also works as a demonstration of a simple blog setup. You can +find this blog's code also on GitLab.

+
\ No newline at end of file diff --git a/output/404.html b/output/404.html new file mode 100644 index 0000000..f7f405e --- /dev/null +++ b/output/404.html @@ -0,0 +1,4 @@ + +Page Not Found · Gloss Blog

Page Not Found

Try some other page? Or file an issue in the +blog repository.

+
\ No newline at end of file diff --git a/output/archive/2024.html b/output/archive/2024.html new file mode 100644 index 0000000..2869c45 --- /dev/null +++ b/output/archive/2024.html @@ -0,0 +1,5 @@ + +Archives for 2024 · Gloss Blog

Hello, world!

Posted on .

This is the Gloss demo blog. This blog will contain news about +Gloss, and the user's guide. It also works as a demonstration of a simple blog setup. You can +find this blog's code also on GitLab.

+
\ No newline at end of file diff --git a/output/archive/2024/04.html b/output/archive/2024/04.html new file mode 100644 index 0000000..ad0814a --- /dev/null +++ b/output/archive/2024/04.html @@ -0,0 +1,5 @@ + +Archives for April 2024 · Gloss Blog

Hello, world!

Posted on .

This is the Gloss demo blog. This blog will contain news about +Gloss, and the user's guide. It also works as a demonstration of a simple blog setup. You can +find this blog's code also on GitLab.

+
\ No newline at end of file diff --git a/output/css/custom.css b/output/css/custom.css new file mode 100644 index 0000000..91b4abd --- /dev/null +++ b/output/css/custom.css @@ -0,0 +1,144 @@ +@charset "UTF-8"; + +:root { + --bg: #fbfaf5; + --fg: #2c2c2c; +} + +body { + display: grid; + + grid-template: "title main" min-content "sidebar main" 1fr "sidebar footer" auto / 350px auto; +} + +@media (max-width: 900px) { + body { + grid-template: "title" "main" "sidebar" "footer"; + } +} + +#title { + grid-area: title; + + margin: 0; + padding: 0; +} + +#title h1 { + margin: 0; + padding: 3rem 1rem 1rem 1rem; + font-size: 3rem; +} + +body > main { + grid-area: main; + height: 100%; +} + +#sidebar { + grid-area: sidebar; + + display: flex; + flex-direction: column; + gap: 2rem; +} + +body > header > nav { + padding: 0.7rem; +} + +body > header > nav > ul { + display: flex; + flex-direction: row; + justify-content: space-around; + align-items: baseline; + flex-wrap: wrap; + gap: 1rem; +} + +body > header > nav > ul > li { + display: inline-block; + margin: 0; +} + +body > footer { + grid-area: footer; +} + +.page-nav ul { + list-style-type: none; + display: flex; + flex-direction: row; + flex-wrap: wrap; + justify-content: center; + align-items: baseline; + gap: 0.2rem; +} + +.page-nav ul li a { + display: inline-block; + padding: 0.8rem; +} + +#tags { + list-style-type: none; + font-size: 2.75rem; +} + +#tags li { + display: inline-block; + margin: 0.2rem; +} + +#tags a { + text-decoration: none; +} + +#tags a:hover { + text-decoration: underline; +} + +#archives li { + margin-left: 2rem; +} + +.post-list { + display: flex; + flex-direction: column; + gap: 4rem; +} + +.post > header h2, +.page > header h2 { + font-size: 3rem; + line-height: 3rem; +} + +.post > header, +.page > header { + margin: 0; + padding: 0; +} + +.post > header nav ul { + display: flex; + flex-direction: row; + flex-wrap: wrap; + justify-content: flex-start; + align-items: baseline; + gap: 0.5rem; + + margin: 0; +} + +.post > header nav ul li { + margin: 0; +} + +.post > footer { + text-align: left; + + margin: 0; + padding-left: 0; + padding-right: 0; +} diff --git a/output/css/fonts.css b/output/css/fonts.css new file mode 100644 index 0000000..0bac21b --- /dev/null +++ b/output/css/fonts.css @@ -0,0 +1,476 @@ +/* latin */ +@font-face { + font-family: "Averia Libre"; + font-style: italic; + font-weight: 400; + font-display: swap; + src: url("../fonts/Averia_Libre/AveriaLibre-Italic.ttf") format("truetype"); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, + U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, + U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +/* latin */ +@font-face { + font-family: "Averia Libre"; + font-style: italic; + font-weight: 700; + font-display: swap; + src: url("../fonts/Averia_Libre/AveriaLibre-BoldItalic.ttf") + format("truetype"); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, + U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, + U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +/* latin */ +@font-face { + font-family: "Averia Libre"; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url("../fonts/Averia_Libre/AveriaLibre-Regular.ttf") format("truetype"); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, + U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, + U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +/* latin */ +@font-face { + font-family: "Averia Libre"; + font-style: normal; + font-weight: 700; + font-display: swap; + src: url("../fonts/Averia_Libre/AveriaLibre-Bold.ttf") format("truetype"); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, + U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, + U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +/* latin */ +@font-face { + font-family: "Averia Serif Libre"; + font-style: italic; + font-weight: 300; + font-display: swap; + src: url("../fonts/Averia_Serif_Libre/AveriaSerifLibre-LightItalic.ttf") + format("truetype"); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, + U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, + U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +/* latin */ +@font-face { + font-family: "Averia Serif Libre"; + font-style: italic; + font-weight: 700; + font-display: swap; + src: url("../fonts/Averia_Serif_Libre/AveriaSerifLibre-BoldItalic.ttf") + format("truetype"); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, + U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, + U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +/* latin */ +@font-face { + font-family: "Averia Serif Libre"; + font-style: normal; + font-weight: 300; + font-display: swap; + src: url("../fonts/Averia_Serif_Libre/AveriaSerifLibre-Light.ttf") + format("truetype"); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, + U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, + U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +/* latin */ +@font-face { + font-family: "Averia Serif Libre"; + font-style: normal; + font-weight: 700; + font-display: swap; + src: url("../fonts/Averia_Serif_Libre/AveriaSerifLibre-Bold.ttf") + format("truetype"); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, + U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, + U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +/* cyrillic-ext */ +@font-face { + font-family: "Caveat"; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url("../fonts/Caveat/Caveat-VariableFont_wght.ttf") format("truetype"); + unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, + U+FE2E-FE2F; +} +/* cyrillic */ +@font-face { + font-family: "Caveat"; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url("../fonts/Caveat/Caveat-VariableFont_wght.ttf") format("truetype"); + unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* latin-ext */ +@font-face { + font-family: "Caveat"; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url("../fonts/Caveat/Caveat-VariableFont_wght.ttf") format("truetype"); + unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, + U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: "Caveat"; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url("../fonts/Caveat/Caveat-VariableFont_wght.ttf") format("truetype"); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, + U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, + U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +/* latin-ext */ +@font-face { + font-family: "Courier Prime"; + font-style: italic; + font-weight: 400; + font-display: swap; + src: url("../fonts/Courier_Prime/CourierPrime-Italic.ttf") format("truetype"); + unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, + U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: "Courier Prime"; + font-style: italic; + font-weight: 400; + font-display: swap; + src: url("../fonts/Courier_Prime/CourierPrime-Italic.ttf") format("truetype"); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, + U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, + U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +/* latin-ext */ +@font-face { + font-family: "Courier Prime"; + font-style: italic; + font-weight: 700; + font-display: swap; + src: url("../fonts/Courier_Prime/CourierPrime-BoldItalic.ttf") + format("truetype"); + unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, + U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: "Courier Prime"; + font-style: italic; + font-weight: 700; + font-display: swap; + src: url("../fonts/Courier_Prime/CourierPrime-BoldItalic.ttf") + format("truetype"); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, + U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, + U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +/* latin-ext */ +@font-face { + font-family: "Courier Prime"; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url("../fonts/Courier_Prime/CourierPrime-Regular.ttf") format("truetype"); + unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, + U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: "Courier Prime"; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url("../fonts/Courier_Prime/CourierPrime-Regular.ttf") format("truetype"); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, + U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, + U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +/* latin-ext */ +@font-face { + font-family: "Courier Prime"; + font-style: normal; + font-weight: 700; + font-display: swap; + src: url("../fonts/Courier_Prime/CourierPrime-Bold.ttf") format("truetype"); + unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, + U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: "Courier Prime"; + font-style: normal; + font-weight: 700; + font-display: swap; + src: url("../fonts/Courier_Prime/CourierPrime-Bold.ttf") format("truetype"); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, + U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, + U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +/* braille */ +@font-face { + font-family: "Noto Sans Symbols 2"; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url("../fonts/Noto_Sans_Symbols_2/NotoSansSymbols2-Regular.ttf") + format("truetype"); + unicode-range: U+2800-28FF; +} +/* math */ +@font-face { + font-family: "Noto Sans Symbols 2"; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url("../fonts/Noto_Sans_Symbols_2/NotoSansSymbols2-Regular.ttf") + format("truetype"); + unicode-range: U+0302-0303, U+0305, U+0307-0308, U+0330, U+0391-03A1, + U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, + U+2034-2037, U+2057, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2102, U+210A-210E, + U+2110-2112, U+2115, U+2119-211D, U+2124, U+2128, U+212C-212D, U+212F-2131, + U+2133-2138, U+213C-2140, U+2145-2149, U+2190, U+2192, U+2194-21AE, + U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, + U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B6, + U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, + U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, + U+2B30-2B4C, U+2BFE, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF; +} +/* mayan-numerals */ +@font-face { + font-family: "Noto Sans Symbols 2"; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url("../fonts/Noto_Sans_Symbols_2/NotoSansSymbols2-Regular.ttf") + format("truetype"); + unicode-range: U+1D2E0-1D2F3; +} +/* symbols */ +@font-face { + font-family: "Noto Sans Symbols 2"; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url("../fonts/Noto_Sans_Symbols_2/NotoSansSymbols2-Regular.ttf") + format("truetype"); + unicode-range: U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, + U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, + U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, + U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, + U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, + U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, + U+1F000-1F0FF, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, + U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, + U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, + U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, + U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, + U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, + U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, + U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, + U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, + U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, + U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, + U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, + U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8B1, U+1F900-1F90B, U+1F93B, U+1F946, + U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA88, + U+1FA90-1FABD, U+1FABF-1FAC5, U+1FACE-1FADB, U+1FAE0-1FAE8, U+1FAF0-1FAF8, + U+1FB00-1FBFF; +} +/* latin-ext */ +@font-face { + font-family: "Noto Sans Symbols 2"; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url("../fonts/Noto_Sans_Symbols_2/NotoSansSymbols2-Regular.ttf") + format("truetype"); + unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, + U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: "Noto Sans Symbols 2"; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url("../fonts/Noto_Sans_Symbols_2/NotoSansSymbols2-Regular.ttf") + format("truetype"); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, + U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, + U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +/* cyrillic */ +@font-face { + font-family: "Spectral"; + font-style: italic; + font-weight: 300; + font-display: swap; + src: url("../fonts/Spectral/Spectral-LightItalic.ttf") format("truetype"); + unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* vietnamese */ +@font-face { + font-family: "Spectral"; + font-style: italic; + font-weight: 300; + font-display: swap; + src: url("../fonts/Spectral/Spectral-LightItalic.ttf") format("truetype"); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, + U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, + U+1EA0-1EF9, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: "Spectral"; + font-style: italic; + font-weight: 300; + font-display: swap; + src: url("../fonts/Spectral/Spectral-LightItalic.ttf") format("truetype"); + unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, + U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: "Spectral"; + font-style: italic; + font-weight: 300; + font-display: swap; + src: url("../fonts/Spectral/Spectral-LightItalic.ttf") format("truetype"); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, + U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, + U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +/* cyrillic */ +@font-face { + font-family: "Spectral"; + font-style: italic; + font-weight: 600; + font-display: swap; + src: url("../fonts/Spectral/Spectral-SemiBoldItalic.ttf") format("truetype"); + unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* vietnamese */ +@font-face { + font-family: "Spectral"; + font-style: italic; + font-weight: 600; + font-display: swap; + src: url("../fonts/Spectral/Spectral-SemiBoldItalic.ttf") format("truetype"); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, + U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, + U+1EA0-1EF9, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: "Spectral"; + font-style: italic; + font-weight: 600; + font-display: swap; + src: url("../fonts/Spectral/Spectral-SemiBoldItalic.ttf") format("truetype"); + unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, + U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: "Spectral"; + font-style: italic; + font-weight: 600; + font-display: swap; + src: url("../fonts/Spectral/Spectral-SemiBoldItalic.ttf") format("truetype"); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, + U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, + U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +/* cyrillic */ +@font-face { + font-family: "Spectral"; + font-style: normal; + font-weight: 300; + font-display: swap; + src: url("../fonts/Spectral/Spectral-Light.ttf") format("truetype"); + unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* vietnamese */ +@font-face { + font-family: "Spectral"; + font-style: normal; + font-weight: 300; + font-display: swap; + src: url("../fonts/Spectral/Spectral-Light.ttf") format("truetype"); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, + U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, + U+1EA0-1EF9, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: "Spectral"; + font-style: normal; + font-weight: 300; + font-display: swap; + src: url("../fonts/Spectral/Spectral-Light.ttf") format("truetype"); + unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, + U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: "Spectral"; + font-style: normal; + font-weight: 300; + font-display: swap; + src: url("../fonts/Spectral/Spectral-Light.ttf") format("truetype"); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, + U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, + U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +/* cyrillic */ +@font-face { + font-family: "Spectral"; + font-style: normal; + font-weight: 600; + font-display: swap; + src: url("../fonts/Spectral/Spectral-SemiBold.ttf") format("truetype"); + unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* vietnamese */ +@font-face { + font-family: "Spectral"; + font-style: normal; + font-weight: 600; + font-display: swap; + src: url("../fonts/Spectral/Spectral-SemiBold.ttf") format("truetype"); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, + U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, + U+1EA0-1EF9, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: "Spectral"; + font-style: normal; + font-weight: 600; + font-display: swap; + src: url("../fonts/Spectral/Spectral-SemiBold.ttf") format("truetype"); + unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, + U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: "Spectral"; + font-style: normal; + font-weight: 600; + font-display: swap; + src: url("../fonts/Spectral/Spectral-SemiBold.ttf") format("truetype"); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, + U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, + U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} diff --git a/output/css/magick.css b/output/css/magick.css new file mode 100644 index 0000000..891141a --- /dev/null +++ b/output/css/magick.css @@ -0,0 +1,751 @@ +/* + * Magick CSS + * by: winterveil (https://github.com/wintermute-cell/) + * license: MIT + * version: 1.0.5 +*/ + +@charset "UTF-8"; + +/* Importing the fonts. */ +@import url("./fonts.css"); + +/* Simple CSS Reset */ +* { + margin: 0; + padding: 0; + box-sizing: border-box; +} + +:root { + /* Theme colors */ + --fg: #0e0e0e; + --bg: #fefefe; + --form-bg: #fbfbfb; + --form-fg: #00004d; + --form-fg-placeholder: #00004d9a; +} + +@media (prefers-color-scheme: dark) { + :root { + --fg: #fefefe; + --bg: #0e0e0e; + --form-bg: #1a1a1a; + --form-fg: #fefefe; + --form-fg-placeholder: #fefefe9a; + } +} + +/* + 1) Modify the base font-size to 62.5% so that 1.6rem = 16px. + 2) Set box-sizing globally to handle padding and border widths. +*/ +html { + font-size: 62.5%; /* 1 */ + box-sizing: border-box; /* 2 */ +} + +/* Use smaller sizes on mobile devices. */ +@media (max-width: 600px) { + html { + font-size: 56%; + } +} + +/* + 1) Set the base font-size to 18px with a normal weight. + 2) Set the text and background colors to match the theme. + 3) Use the 'Averia Serif Libre' font for the body text. + 4) Reset the counter for sidenotes. +*/ +body { + font-size: 1.8rem; /* 1 */ + background-color: var(--bg); /* 2 */ + color: var(--fg); /* 2 */ + font-family: "Averia Serif Libre", serif; /* 3 */ + font-style: normal; /* 3 */ + line-height: 2.2rem; /* 3 */ + font-weight: 300; /* 3 */ + + counter-reset: sidenote-counter; /* 4 */ +} + +/* + 1) Center the main content. + 2) Set the width of the element to 760px, with lower padding on mobile devices. + 3) Relative position as the default allows for absolute positioning of child elements. +*/ +article, +main { + margin: auto; /* 1 */ + max-width: 76rem; /* 2 */ + padding: 0 1rem; /* 2 */ + width: 100%; /* 2 */ + position: relative; /* 3 */ +} + +@media (max-width: 600px) { + article, + main { + padding: 0 0.2rem; /* 2 */ + } +} + +/* ========================================================================================================================= */ +/* Structure & Layout ===================================================================================================== */ +/* ========================================================================================================================= */ + +/* Display the header, main, and footer sections as distinctly separate blocks. */ +header, +section, +footer { + margin: 0.7rem; + padding: 0.7rem; +} + +/* On mobile devices, a smaller margin looks more fitting due to the smaller view. */ +@media (max-width: 600px) { + header, + section, + footer { + margin-top: 0.2rem; + margin-bottom: 0.2rem; + } +} + +/* Avoid double margin on the last child of each section */ +header > *:last-child, +section > *:last-child, +footer > *:last-child { + margin-bottom: 0; +} + +/* Add large margins to the header to visually separate it from the main content. */ +header { + margin-top: 12rem; + margin-bottom: 8rem; +} + +/* On mobile devices, reduce the margin around the header to save space. */ +@media (max-width: 600px) { + header { + margin: 0; + padding: 1.2rem; + } +} + +/* + 1) Center align the text in the footer. + 2) Add a margin to the top of the footer to visually separate it from the main content. + 3) Add a margin to the bottom of the footer to not have it stuck to the bottom of the page. +*/ +footer { + text-align: center; /* 1 */ + margin-top: 5rem; /* 2 */ + margin-bottom: 2rem; /* 3 */ +} + +/* ========================================================================================================================= */ +/* Typography & Links ===================================================================================================== */ +/* ========================================================================================================================= */ + +/* Add some space between paragraphs. */ +p { + margin: 1.6rem 0; /* 1 */ +} + +/* Remove link color. */ +a { + color: var(--fg); +} + +/* Make string a little more bold, to adjust for the font. */ +b, +strong { + font-weight: 600; +} + +/* Make emphasized text a little larger, to adjust for the font. */ +i, +em { + font-size: calc(1em + 0.1rem); +} + +/* + 1) Set the font-family, color, and font-style for the headings. + 2) Add a margin to the top and bottom of the headings. +*/ +h1, +h2, +h3, +h4 { + font-family: "Averia Libre", cursive; /* 1 */ + color: var(--fg); /* 1 */ + font-style: normal; /* 1 */ + font-weight: 600; /* 1 */ + margin: 1.6rem 0 1.6rem 0; /* 2 */ +} + +/* h1 headings are uppercase and 2x the size of the base font. */ +h1 { + text-transform: uppercase; + font-size: 3.6rem; + line-height: 3.3rem; +} + +/* h2 headings are uppercase and 1.250x (major third) the size of the base font. */ +h2 { + font-size: 2.25rem; + text-transform: uppercase; + margin: 1.2rem 0 1.2rem 0; +} + +/* h3 headings are 1.125x (major second) the size of the base font. */ +h3 { + font-size: 2.025rem; +} + +/* Add a decorative element before h3 headings. */ +h3:before { + font-family: "Noto Sans Symbols 2", sans-serif; + content: "🙛 "; +} + +/* h4 headings are the same size as h3 headings, but italic and without the decorative element. */ +h4 { + font-style: italic; + font-size: 2.025rem; +} + +/* A uniquely styled h1 for the header */ +header h1 { + font-size: 4rem; + color: var(--fg); + text-align: center; + padding: 4rem 0 1.2rem 0; + margin-bottom: 1rem; +} + +/* Additional decorations for the header h1 */ +header h1:before, +header h1:after { + content: "✦"; + color: var(--fg); + font-size: 1.5rem; + vertical-align: middle; + padding: 0 0.5rem; +} + +/* + 1) Remove any list symbols. + 2) Center align the nav links. + 3) Add a margin to the top of the nav links. + 4) Remove the default padding from the list. +*/ +header nav ul { + list-style-type: none; /* 1 */ + text-align: center; /* 2 */ + margin-top: 1rem; /* 3 */ + padding-inline-start: 0; /* 4 */ +} + +/* Display the navigation links as a centered, horizontal list. */ +header nav ul li { + display: inline; + margin: 0 1.2rem; +} + +/* Remove default link styles. */ +header nav ul li a { + text-decoration: none; + color: var(--fg); +} + +/* Add a hover effect to the navigation links. */ +header nav ul li a::before { + content: "❯ "; /* 1 */ + opacity: 0; /* 1 */ +} +header nav ul li a:hover::before { + opacity: 1; /* 1 */ +} + +/* ===================================================================================================================== */ +/* Lists ===================================================================================================== */ +/* ===================================================================================================================== */ + +/* + 1) Add some indentation to the list items. + 2) Add a margin to the top and bottom of the list. +*/ +:where(main ol, main ul) { + margin-inline-start: 0; /* 1 */ + padding-inline-start: 3rem; /* 1 */ + margin: 0.8rem 0; /* 2 */ +} + +/* Add some vertical space around a definition list. */ +dl { + margin: 0.8rem 0; +} + +/* Add an indent to the definition term. */ +dd { + margin: 0 1.6rem; +} + +/* ===================================================================================================================== */ +/* Media ===================================================================================================== */ +/* ===================================================================================================================== */ + +/* + 1) Set the maximum width of the image to 100% so they don't overflow the main column. + 2) Set the height in respect to the width to prevent the image from stretching. + 3) Add some margin to standalone images. +*/ +img { + max-width: 100%; /* 1 */ + height: auto; /* 2 */ + margin: 0.8rem 0; /* 3 */ +} + +/* Images in figures should not have their own margins */ +figure img { + margin: 0; + padding: 0; +} + +/* + 1) Set margins and padding for figures. + 2) Center align any text inside figures. +*/ +figure { + margin: 2rem 0; /* 1 */ + padding: 0; /* 1 */ + text-align: center; /* 2 */ +} + +/* Center align any element that is part of a figure */ +figure * { + margin-left: auto; + margin-right: auto; +} + +/* We don't want to center prealigned text or code in figures */ +figure code, +figure pre { + text-align: left; +} + +/* Set the typography for the figure captions */ +figcaption { + margin: 0.8rem 0; + font-size: 1.8rem; +} + +/* ===================================================================================================================== */ +/* Forms & Inputs ===================================================================================================== */ +/* ===================================================================================================================== */ + +/* + 1) Display the form elements in a grid layout, two columns wide. + 2) Add some space between the form elements. + 3) Set padding and margin for the form. + 4) Give the form a pop out paper note look. +*/ +form { + display: grid; /* 1 */ + grid-template-columns: 1fr 1fr; /* 1 */ + gap: 10px; /* 2 */ + padding: 1rem; /* 3 */ + margin: 0.8rem 0; /* 3 */ + box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1); /* 4 */ + background-color: var(--form-bg); /* 4 */ +} + +/* Make form inputs and labels span two columns. (They get their own line) */ +form input[type="email"], +form input[type="number"], +form input[type="password"], +form input[type="search"], +form input[type="tel"], +form input[type="text"], +form input[type="url"], +form label, +form fieldset, +form textarea { + grid-column: span 2; +} + +/* + 1) Adjust the elements to take up full width of their grid cell. + 2) Prevent textarea from being resized horizontally and overflowing the main column. +*/ +form input, +form button, +form textarea { + width: 100%; /* 1 */ + resize: vertical; /* 2 */ +} + +/* + 1) Prevent radio and checkbox from taking up full width, so they can be put next to each other. + 2) Add space between radio and checkbox options. +*/ +input[type="radio"], +input[type="checkbox"] { + width: auto; /* 1 */ + margin-right: 0.5rem; /* 2 */ +} +input[type="radio"] + label, +input[type="checkbox"] + label { + margin-right: 2rem; /* 2 */ +} + +/* Add a disabled variant for radio and checkbox inputs */ +input[type="radio"]:disabled + label, +input[type="checkbox"]:disabled + label { + text-decoration: line-through; + opacity: 0.5; +} + +/* + 1) Remove the default appearance of the input. + 2) Set padding and margin for the input. + 3) Apply some custom styles in place of the default ones. + 4) Give the input a handwritten look. +*/ +input[type="email"], +input[type="number"], +input[type="password"], +input[type="search"], +input[type="tel"], +input[type="text"], +input[type="url"], +textarea, +select { + -webkit-appearance: none; /* 1 */ + -moz-appearance: none; /* 1 */ + appearance: none; /* 1 */ + box-shadow: none; /* 1 */ + box-sizing: inherit; /* 1 */ + border: none; /* 1 */ + + padding: 0.4rem 1rem; /* 2 */ + margin-bottom: 1.6rem; /* 2 */ + + font-size: 2rem; /* 3 */ + color: var(--fg); /* 3 */ + background-color: transparent; /* 3 */ + border-bottom: 1px solid var(--fg); /* 3 */ + border-radius: 0; /* 3 */ + font-size: 1.8rem; /* 3 */ + + font-family: "Caveat", cursive; /* 4 */ + font-size: 2.6rem; /* 4 */ + color: var(--form-fg); /* 4 */ + caret-color: var(--form-fg); /* 4 */ +} + +/* Add disabled variant for input fields */ +input[type="email"]:disabled, +input[type="number"]:disabled, +input[type="password"]:disabled, +input[type="search"]:disabled, +input[type="tel"]:disabled, +input[type="text"]:disabled, +input[type="url"]:disabled, +textarea:disabled, +select:disabled { + border-bottom: 1px dashed var(--fg); /* 3 */ + text-decoration: line-through; +} + +/* A slightly more transparent color for the placeholder text. */ +input::placeholder, +textarea::placeholder { + color: var(--form-fg-placeholder); +} + +/* + 1) Remove the default focus outline. + 2) Add a thicker bottom border to the input when focused, reducing margin to prevent layout shifting. +*/ +input[type="email"]:focus, +input[type="number"]:focus, +input[type="password"]:focus, +input[type="search"]:focus, +input[type="tel"]:focus, +input[type="text"]:focus, +input[type="url"]:focus, +textarea:focus, +select:focus { + outline: none; /* 1 */ + border-bottom: 2px solid var(--fg); /* 2 */ + margin-bottom: calc(1.6rem - 1px); /* 2 */ +} + +/* + 1) Match the theme colors. + 2) Add padding. + 3) Add a top margin to visually separate the buttons for the rest of the form. + 4) Add a thin border. + 5) Add a pointer cursor on hover. +*/ +button, +input[type="button"], +input[type="reset"], +input[type="submit"] { + background-color: transparent; /* 1 */ + color: var(--fg); /* 1 */ + padding: 10px; /* 2 */ + margin-top: 1.6rem; /* 3 */ + border: 1px solid var(--fg); /* 4 */ + cursor: pointer; /* 5 */ +} + +/* + 1) A thin border around the fieldset. + 2) Set the width of the fieldset to fit around the content. +*/ +fieldset { + border: 1px solid var(--fg); /* 1 */ + width: fit-content; /* 2 */ +} + +/* In a form, the fieldset takes up 100% of the width. */ +form fieldset { + width: 100%; +} + +/* + 1) Set the border of a disabled button to be dashed. + 2) Add the not-allowed cursor when hovering a disabled button. +*/ +button:disabled, +input[type="button"]:disabled, +input[type="reset"]:disabled, +input[type="submit"]:disabled { + opacity: 0.5; + border-style: dashed; /* 1 */ + cursor: not-allowed; /* 2 */ + text-decoration: line-through; +} + +/* ===================================================================================================================== */ +/* Tables ========================================================================================================== */ +/* ===================================================================================================================== */ + +/* Remove the distance between adjacent cells, since we don't have vertical border lines. */ +table { + border-spacing: 0; +} + +/* Add some padding around table cells. */ +td, +th { + padding: 0.4rem 1rem; +} + +/* Remove left padding for first cell in a row. */ +td:first-child, +th:first-child { + padding-left: 0; +} + +/* Remove right padding for last cell in a row. */ +td:last-child, +th:last-child { + padding-right: 0; +} + +/* + 1) Add a border under the table header. + 2) Align the text to the left in the table header. +*/ +th { + border-bottom: 2px solid var(--fg); /* 1 */ + text-align: left; /* 2 */ +} + +/* ============================================================================================================================ */ +/* Preformatting, Quotes & Code ============================================================================================ */ +/* ============================================================================================================================ */ + +/* + 1) Set custom padding and margins. + 2) Hide the vertical scroll bar. + 3) Set the width to fit just around the content, but limit it to 80% of the main column. + 4) Center the blockquote horizontally and add some vertical margins. +*/ +blockquote { + padding: 1rem 1.6rem; /* 1 */ + overflow-y: hidden; /* 2 */ + width: fit-content; /* 3 */ + max-width: 80%; /* 3 */ + margin: 2rem auto; /* 4 */ +} + +/* + 1) Set a custom font for blockquote text paragraphs. + 2) Add some space between the paragraphs. +*/ +blockquote p { + font-family: "Spectral", serif; /* 1 */ + font-style: italic; /* 1 */ + font-size: 2.1rem; /* 1 */ + font-weight: 300; /* 1 */ + line-height: 2.4rem; /* 1 */ + margin: 2.1rem 0; /* 2 */ +} + +/* Add a footer to the blockquote for citations. */ +/* + 1) Reset any margins and padding from the main footer. + 2) Set the footer to float and align to the right. + 3) Limit the width of the footer to 55% of the main column. + 4) Set a custom font for the footer. +*/ +blockquote footer { + margin: 0; /* 1 */ + padding: 0; /* 1 */ + float: right; /* 2 */ + text-align: right; /* 2 */ + width: 55%; /* 3 */ + font-family: "Spectral", serif; /* 4 */ + font-style: normal; /* 4 */ + font-size: 1.4rem; /* 4 */ +} + +/* Make the actual citation italic */ +blockquote footer cite { + font-style: italic; +} + +/* + 1) Set custom padding. + 2) Hide the vertical scroll bar. + 3) Set a custom monospace font. + 4) Add a top and bottom border line. +*/ +pre:has(code) { + padding: 1rem 1.6rem; /* 1 */ + margin: 1.6rem 0; /* 1 */ + overflow-y: hidden; /* 2 */ + font-family: "Courier Prime", monospace; /* 3 */ + font-size: 1.6rem; /* 3 */ + border-top: 2px solid var(--fg); /* 4 */ + border-bottom: 2px solid var(--fg); /* 4 */ +} + +/* Set a custom monospace font */ +code { + font-family: "Courier Prime", monospace; + font-size: 1.6rem; +} + +/* + 1) Float the line numbers to the left, next to the code. + 2) Make some distance between the line numbers and the code, and pull it all to the left with a negative margin. + 3) Add a vertical line to separate the line numbers from the code. + 4) Align the line numbers against the separator. +*/ +pre .line-number { + float: left; /* 1 */ + margin: 0 1.5rem 0 -1.5rem; /* 2 */ + border-right: 1px solid; /* 3 */ + text-align: right; /* 4 */ +} + +/* + 1) Display as block, so we get a new line for each line number. + 2) Add some padding to the line numbers. +*/ +pre .line-number span { + display: block; /* 1 */ + padding: 0 0.8rem 0 1.6rem; /* 2 */ +} + +/* ============================================================================================================================ */ +/* Sidenotes & Asides ====================================================================================================== */ +/* ============================================================================================================================ */ + +/* + 1) On mobile devices, sidenotes behave the same as asides. + 2) Float the sidenotes to the right. + 3) Make sure the sidenotes don't clash. + 4) Set the width of the sidenotes to 40% of the main column. + 5) Add padding, margins and a border for better visual separation. + 6) Adjust typography to be more compact. +*/ +.sidenote, /* 1 */ +aside { + float: right; /* 2 */ + clear: right; /* 3 */ + width: 40%; /* 4 */ + margin: 1rem 1rem 1rem 3rem; /* 5 */ + padding: 0.5rem 0.5rem 0.5rem 2rem; /* 5 */ + border-left: 3px solid var(--fg); /* 5 */ + font-size: 1.4rem; /* 6 */ + line-height: 1.3; /* 6 */ +} + +/* Prevent double top margins */ +aside h1, +aside h2, +aside h3, +aside h4 { + margin-top: 0; +} + +/* + 1) Set the distance from the main column. + 2) Set the width of the element to a little less than the remaining space on one side, limited to 40% of the main column. + 3) Remove any values set for the mobile version of the sidenotes. + 4) Set the width to the variable defined above. + 5) Set a negative right margin to (self-width + distance-from-main) to pull the sidenote to the right. +*/ +/* Sadly, CSS does not support var() and rem in media queries, so we have to hardcode pixels. */ +/* This will break if the main column width is changed without adjusting this media query. */ +@media (min-width: calc(760px + 400px)) { + .sidenote { + --distance-from-main: 3rem; /* 1 */ + --self-width: min( + calc((100vw - 760px) / 2 - (var(--distance-from-main))), + 40% + ); /* 2 */ + margin: 0; /* 3 */ + padding: 0; /* 3 */ + border: none; /* 3 */ + width: var(--self-width); + margin-right: calc( + calc(var(--self-width) + var(--distance-from-main)) * -1 + ); + } +} + +/* Each time a sidenote anchor is encountered, increment the counter */ +.sidenote-anchor { + counter-increment: sidenote-counter; +} + +/* Use a custom font for the sidenote numbers */ +.sidenote-anchor:after, +.sidenote:before { + font-size: 1.3rem; + position: relative; + font-family: "Spectral", serif; +} + +/* Fine-adjust the number position for the sidenote anchor */ +.sidenote-anchor:after { + content: counter(sidenote-counter); + top: -0.5rem; + left: 0.1rem; +} + +/* Fine-adjust the number position for the sidenote */ +.sidenote:before { + content: counter(sidenote-counter) " "; + top: -0.5rem; +} diff --git a/output/css/normalize.css b/output/css/normalize.css new file mode 100644 index 0000000..bb6e2a7 --- /dev/null +++ b/output/css/normalize.css @@ -0,0 +1,351 @@ +/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */ + +/* Document + ========================================================================== */ + +/** + * 1. Correct the line height in all browsers. + * 2. Prevent adjustments of font size after orientation changes in iOS. + */ + +html { + line-height: 1.15; /* 1 */ + -webkit-text-size-adjust: 100%; /* 2 */ +} + +/* Sections + ========================================================================== */ + +/** + * Remove the margin in all browsers. + */ + +body { + margin: 0; +} + +/** + * Render the `main` element consistently in IE. + */ + +main { + display: block; +} + +/** + * Correct the font size and margin on `h1` elements within `section` and + * `article` contexts in Chrome, Firefox, and Safari. + */ + +h1 { + font-size: 2em; + margin: 0.67em 0; +} + +/* Grouping content + ========================================================================== */ + +/** + * 1. Add the correct box sizing in Firefox. + * 2. Show the overflow in Edge and IE. + */ + +hr { + box-sizing: content-box; /* 1 */ + height: 0; /* 1 */ + overflow: visible; /* 2 */ +} + +/** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ + +pre { + font-family: monospace, monospace; /* 1 */ + font-size: 1em; /* 2 */ +} + +/* Text-level semantics + ========================================================================== */ + +/** + * Remove the gray background on active links in IE 10. + */ + +a { + background-color: transparent; +} + +/** + * 1. Remove the bottom border in Chrome 57- + * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. + */ + +abbr[title] { + border-bottom: none; /* 1 */ + text-decoration: underline; /* 2 */ + text-decoration: underline dotted; /* 2 */ +} + +/** + * Add the correct font weight in Chrome, Edge, and Safari. + */ + +b, +strong { + font-weight: bolder; +} + +/** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ + +code, +kbd, +samp { + font-family: monospace, monospace; /* 1 */ + font-size: 1em; /* 2 */ +} + +/** + * Add the correct font size in all browsers. + */ + +small { + font-size: 80%; +} + +/** + * Prevent `sub` and `sup` elements from affecting the line height in + * all browsers. + */ + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sub { + bottom: -0.25em; +} + +sup { + top: -0.5em; +} + +/* Embedded content + ========================================================================== */ + +/** + * Remove the border on images inside links in IE 10. + */ + +img { + border-style: none; +} + +/* Forms + ========================================================================== */ + +/** + * 1. Change the font styles in all browsers. + * 2. Remove the margin in Firefox and Safari. + */ + +button, +input, +optgroup, +select, +textarea { + font-family: inherit; /* 1 */ + font-size: 100%; /* 1 */ + line-height: 1.15; /* 1 */ + margin: 0; /* 2 */ +} + +/** + * Show the overflow in IE. + * 1. Show the overflow in Edge. + */ + +button, +input { + /* 1 */ + overflow: visible; +} + +/** + * Remove the inheritance of text transform in Edge, Firefox, and IE. + * 1. Remove the inheritance of text transform in Firefox. + */ + +button, +select { + /* 1 */ + text-transform: none; +} + +/** + * Correct the inability to style clickable types in iOS and Safari. + */ + +button, +[type="button"], +[type="reset"], +[type="submit"] { + -webkit-appearance: button; +} + +/** + * Remove the inner border and padding in Firefox. + */ + +button::-moz-focus-inner, +[type="button"]::-moz-focus-inner, +[type="reset"]::-moz-focus-inner, +[type="submit"]::-moz-focus-inner { + border-style: none; + padding: 0; +} + +/** + * Restore the focus styles unset by the previous rule. + */ + +button:-moz-focusring, +[type="button"]:-moz-focusring, +[type="reset"]:-moz-focusring, +[type="submit"]:-moz-focusring { + outline: 1px dotted ButtonText; +} + +/** + * Correct the padding in Firefox. + */ + +fieldset { + padding: 0.35em 0.75em 0.625em; +} + +/** + * 1. Correct the text wrapping in Edge and IE. + * 2. Correct the color inheritance from `fieldset` elements in IE. + * 3. Remove the padding so developers are not caught out when they zero out + * `fieldset` elements in all browsers. + */ + +legend { + box-sizing: border-box; /* 1 */ + color: inherit; /* 2 */ + display: table; /* 1 */ + max-width: 100%; /* 1 */ + padding: 0; /* 3 */ + white-space: normal; /* 1 */ +} + +/** + * Add the correct vertical alignment in Chrome, Firefox, and Opera. + */ + +progress { + vertical-align: baseline; +} + +/** + * Remove the default vertical scrollbar in IE 10+. + */ + +textarea { + overflow: auto; +} + +/** + * 1. Add the correct box sizing in IE 10. + * 2. Remove the padding in IE 10. + */ + +[type="checkbox"], +[type="radio"] { + box-sizing: border-box; /* 1 */ + padding: 0; /* 2 */ +} + +/** + * Correct the cursor style of increment and decrement buttons in Chrome. + */ + +[type="number"]::-webkit-inner-spin-button, +[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +/** + * 1. Correct the odd appearance in Chrome and Safari. + * 2. Correct the outline style in Safari. + */ + +[type="search"] { + -webkit-appearance: textfield; /* 1 */ + outline-offset: -2px; /* 2 */ +} + +/** + * Remove the inner padding in Chrome and Safari on macOS. + */ + +[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +/** + * 1. Correct the inability to style clickable types in iOS and Safari. + * 2. Change font properties to `inherit` in Safari. + */ + +::-webkit-file-upload-button { + -webkit-appearance: button; /* 1 */ + font: inherit; /* 2 */ +} + +/* Interactive + ========================================================================== */ + +/* + * Add the correct display in Edge, IE 10+, and Firefox. + */ + +details { + display: block; +} + +/* + * Add the correct display in all browsers. + */ + +summary { + display: list-item; +} + +/* Misc + ========================================================================== */ + +/** + * Add the correct display in IE 10+. + */ + +template { + display: none; +} + +/** + * Add the correct display in IE 10. + */ + +[hidden] { + display: none; +} diff --git a/output/feed.xml b/output/feed.xml new file mode 100644 index 0000000..56de631 --- /dev/null +++ b/output/feed.xml @@ -0,0 +1,4 @@ +Gloss Blog2024-04-14T12:38:52.740Zhttps://nicd.gitlab.io/gloss_blogMikko Ahlrothmikko@ahlroth.fihttps://social.ahlcode.fi/@nicdGloss© Mikko AhlrothHello, world!https://nicd.gitlab.io/gloss_blog/2024/04/14/hello-world.html2024-04-14T15:25:00.000+03:00<p>This is the <a href="https://hexdocs.pm/gloss">Gloss</a> demo blog. This blog will contain news about +Gloss, and the user&#39;s guide. It also works as a demonstration of a simple blog setup. You can +find this blog&#39;s code also on <a href="https://gitlab.com/nicd/gloss_blog">GitLab</a>.</p> + \ No newline at end of file diff --git a/output/fonts/Averia_Libre/AveriaLibre-Bold.ttf b/output/fonts/Averia_Libre/AveriaLibre-Bold.ttf new file mode 100644 index 0000000..1e14965 Binary files /dev/null and b/output/fonts/Averia_Libre/AveriaLibre-Bold.ttf differ diff --git a/output/fonts/Averia_Libre/AveriaLibre-BoldItalic.ttf b/output/fonts/Averia_Libre/AveriaLibre-BoldItalic.ttf new file mode 100644 index 0000000..2eb8a22 Binary files /dev/null and b/output/fonts/Averia_Libre/AveriaLibre-BoldItalic.ttf differ diff --git a/output/fonts/Averia_Libre/AveriaLibre-Italic.ttf b/output/fonts/Averia_Libre/AveriaLibre-Italic.ttf new file mode 100644 index 0000000..2f5f4ed Binary files /dev/null and b/output/fonts/Averia_Libre/AveriaLibre-Italic.ttf differ diff --git a/output/fonts/Averia_Libre/AveriaLibre-Light.ttf b/output/fonts/Averia_Libre/AveriaLibre-Light.ttf new file mode 100644 index 0000000..e0d8b6b Binary files /dev/null and b/output/fonts/Averia_Libre/AveriaLibre-Light.ttf differ diff --git a/output/fonts/Averia_Libre/AveriaLibre-LightItalic.ttf b/output/fonts/Averia_Libre/AveriaLibre-LightItalic.ttf new file mode 100644 index 0000000..054e153 Binary files /dev/null and b/output/fonts/Averia_Libre/AveriaLibre-LightItalic.ttf differ diff --git a/output/fonts/Averia_Libre/AveriaLibre-Regular.ttf b/output/fonts/Averia_Libre/AveriaLibre-Regular.ttf new file mode 100644 index 0000000..00675a7 Binary files /dev/null and b/output/fonts/Averia_Libre/AveriaLibre-Regular.ttf differ diff --git a/output/fonts/Averia_Libre/OFL.txt b/output/fonts/Averia_Libre/OFL.txt new file mode 100644 index 0000000..2b79368 --- /dev/null +++ b/output/fonts/Averia_Libre/OFL.txt @@ -0,0 +1,94 @@ +Copyright (c) 2011, Dan Sayers (i@iotic.com), +with Reserved Font Name 'Averia' and 'Averia Libre'. + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +https://openfontlicense.org + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/output/fonts/Averia_Serif_Libre/AveriaSerifLibre-Bold.ttf b/output/fonts/Averia_Serif_Libre/AveriaSerifLibre-Bold.ttf new file mode 100644 index 0000000..81e81a0 Binary files /dev/null and b/output/fonts/Averia_Serif_Libre/AveriaSerifLibre-Bold.ttf differ diff --git a/output/fonts/Averia_Serif_Libre/AveriaSerifLibre-BoldItalic.ttf b/output/fonts/Averia_Serif_Libre/AveriaSerifLibre-BoldItalic.ttf new file mode 100644 index 0000000..8935c9b Binary files /dev/null and b/output/fonts/Averia_Serif_Libre/AveriaSerifLibre-BoldItalic.ttf differ diff --git a/output/fonts/Averia_Serif_Libre/AveriaSerifLibre-Italic.ttf b/output/fonts/Averia_Serif_Libre/AveriaSerifLibre-Italic.ttf new file mode 100644 index 0000000..82eb4f1 Binary files /dev/null and b/output/fonts/Averia_Serif_Libre/AveriaSerifLibre-Italic.ttf differ diff --git a/output/fonts/Averia_Serif_Libre/AveriaSerifLibre-Light.ttf b/output/fonts/Averia_Serif_Libre/AveriaSerifLibre-Light.ttf new file mode 100644 index 0000000..6e2e46c Binary files /dev/null and b/output/fonts/Averia_Serif_Libre/AveriaSerifLibre-Light.ttf differ diff --git a/output/fonts/Averia_Serif_Libre/AveriaSerifLibre-LightItalic.ttf b/output/fonts/Averia_Serif_Libre/AveriaSerifLibre-LightItalic.ttf new file mode 100644 index 0000000..e845662 Binary files /dev/null and b/output/fonts/Averia_Serif_Libre/AveriaSerifLibre-LightItalic.ttf differ diff --git a/output/fonts/Averia_Serif_Libre/AveriaSerifLibre-Regular.ttf b/output/fonts/Averia_Serif_Libre/AveriaSerifLibre-Regular.ttf new file mode 100644 index 0000000..63073f3 Binary files /dev/null and b/output/fonts/Averia_Serif_Libre/AveriaSerifLibre-Regular.ttf differ diff --git a/output/fonts/Averia_Serif_Libre/OFL.txt b/output/fonts/Averia_Serif_Libre/OFL.txt new file mode 100644 index 0000000..2b79368 --- /dev/null +++ b/output/fonts/Averia_Serif_Libre/OFL.txt @@ -0,0 +1,94 @@ +Copyright (c) 2011, Dan Sayers (i@iotic.com), +with Reserved Font Name 'Averia' and 'Averia Libre'. + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +https://openfontlicense.org + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/output/fonts/Caveat/Caveat-VariableFont_wght.ttf b/output/fonts/Caveat/Caveat-VariableFont_wght.ttf new file mode 100644 index 0000000..0ae4d99 Binary files /dev/null and b/output/fonts/Caveat/Caveat-VariableFont_wght.ttf differ diff --git a/output/fonts/Caveat/OFL.txt b/output/fonts/Caveat/OFL.txt new file mode 100644 index 0000000..a1bd351 --- /dev/null +++ b/output/fonts/Caveat/OFL.txt @@ -0,0 +1,93 @@ +Copyright 2014 The Caveat Project Authors (https://github.com/googlefonts/caveat) + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +https://openfontlicense.org + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/output/fonts/Caveat/README.txt b/output/fonts/Caveat/README.txt new file mode 100644 index 0000000..34124c0 --- /dev/null +++ b/output/fonts/Caveat/README.txt @@ -0,0 +1,66 @@ +Caveat Variable Font +==================== + +This download contains Caveat as both a variable font and static fonts. + +Caveat is a variable font with this axis: + wght + +This means all the styles are contained in a single file: + Caveat-VariableFont_wght.ttf + +If your app fully supports variable fonts, you can now pick intermediate styles +that aren’t available as static fonts. Not all apps support variable fonts, and +in those cases you can use the static font files for Caveat: + static/Caveat-Regular.ttf + static/Caveat-Medium.ttf + static/Caveat-SemiBold.ttf + static/Caveat-Bold.ttf + +Get started +----------- + +1. Install the font files you want to use + +2. Use your app's font picker to view the font family and all the +available styles + +Learn more about variable fonts +------------------------------- + + https://developers.google.com/web/fundamentals/design-and-ux/typography/variable-fonts + https://variablefonts.typenetwork.com + https://medium.com/variable-fonts + +In desktop apps + + https://theblog.adobe.com/can-variable-fonts-illustrator-cc + https://helpx.adobe.com/nz/photoshop/using/fonts.html#variable_fonts + +Online + + https://developers.google.com/fonts/docs/getting_started + https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Fonts/Variable_Fonts_Guide + https://developer.microsoft.com/en-us/microsoft-edge/testdrive/demos/variable-fonts + +Installing fonts + + MacOS: https://support.apple.com/en-us/HT201749 + Linux: https://www.google.com/search?q=how+to+install+a+font+on+gnu%2Blinux + Windows: https://support.microsoft.com/en-us/help/314960/how-to-install-or-remove-a-font-in-windows + +Android Apps + + https://developers.google.com/fonts/docs/android + https://developer.android.com/guide/topics/ui/look-and-feel/downloadable-fonts + +License +------- +Please read the full license text (OFL.txt) to understand the permissions, +restrictions and requirements for usage, redistribution, and modification. + +You can use them in your products & projects – print or digital, +commercial or otherwise. + +This isn't legal advice, please consider consulting a lawyer and see the full +license for all details. diff --git a/output/fonts/Caveat/static/Caveat-Bold.ttf b/output/fonts/Caveat/static/Caveat-Bold.ttf new file mode 100644 index 0000000..64c12c7 Binary files /dev/null and b/output/fonts/Caveat/static/Caveat-Bold.ttf differ diff --git a/output/fonts/Caveat/static/Caveat-Medium.ttf b/output/fonts/Caveat/static/Caveat-Medium.ttf new file mode 100644 index 0000000..513854f Binary files /dev/null and b/output/fonts/Caveat/static/Caveat-Medium.ttf differ diff --git a/output/fonts/Caveat/static/Caveat-Regular.ttf b/output/fonts/Caveat/static/Caveat-Regular.ttf new file mode 100644 index 0000000..1febd9f Binary files /dev/null and b/output/fonts/Caveat/static/Caveat-Regular.ttf differ diff --git a/output/fonts/Caveat/static/Caveat-SemiBold.ttf b/output/fonts/Caveat/static/Caveat-SemiBold.ttf new file mode 100644 index 0000000..e5df6cf Binary files /dev/null and b/output/fonts/Caveat/static/Caveat-SemiBold.ttf differ diff --git a/output/fonts/Courier_Prime/CourierPrime-Bold.ttf b/output/fonts/Courier_Prime/CourierPrime-Bold.ttf new file mode 100644 index 0000000..7e6b222 Binary files /dev/null and b/output/fonts/Courier_Prime/CourierPrime-Bold.ttf differ diff --git a/output/fonts/Courier_Prime/CourierPrime-BoldItalic.ttf b/output/fonts/Courier_Prime/CourierPrime-BoldItalic.ttf new file mode 100644 index 0000000..2e70ab7 Binary files /dev/null and b/output/fonts/Courier_Prime/CourierPrime-BoldItalic.ttf differ diff --git a/output/fonts/Courier_Prime/CourierPrime-Italic.ttf b/output/fonts/Courier_Prime/CourierPrime-Italic.ttf new file mode 100644 index 0000000..15d9463 Binary files /dev/null and b/output/fonts/Courier_Prime/CourierPrime-Italic.ttf differ diff --git a/output/fonts/Courier_Prime/CourierPrime-Regular.ttf b/output/fonts/Courier_Prime/CourierPrime-Regular.ttf new file mode 100644 index 0000000..4af1ff5 Binary files /dev/null and b/output/fonts/Courier_Prime/CourierPrime-Regular.ttf differ diff --git a/output/fonts/Courier_Prime/OFL.txt b/output/fonts/Courier_Prime/OFL.txt new file mode 100644 index 0000000..7072510 --- /dev/null +++ b/output/fonts/Courier_Prime/OFL.txt @@ -0,0 +1,93 @@ +Copyright 2015 The Courier Prime Project Authors (https://github.com/quoteunquoteapps/CourierPrime). + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +https://openfontlicense.org + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/output/fonts/Noto_Sans_Symbols_2/NotoSansSymbols2-Regular.ttf b/output/fonts/Noto_Sans_Symbols_2/NotoSansSymbols2-Regular.ttf new file mode 100644 index 0000000..90581c1 Binary files /dev/null and b/output/fonts/Noto_Sans_Symbols_2/NotoSansSymbols2-Regular.ttf differ diff --git a/output/fonts/Noto_Sans_Symbols_2/OFL.txt b/output/fonts/Noto_Sans_Symbols_2/OFL.txt new file mode 100644 index 0000000..106e5d8 --- /dev/null +++ b/output/fonts/Noto_Sans_Symbols_2/OFL.txt @@ -0,0 +1,93 @@ +Copyright 2022 The Noto Project Authors (https://github.com/notofonts/symbols) + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +https://openfontlicense.org + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/output/fonts/Spectral/OFL.txt b/output/fonts/Spectral/OFL.txt new file mode 100644 index 0000000..98df38e --- /dev/null +++ b/output/fonts/Spectral/OFL.txt @@ -0,0 +1,93 @@ +Copyright 2017 The Spectral Project Authors (http://github.com/productiontype/spectral) + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +https://openfontlicense.org + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/output/fonts/Spectral/Spectral-Bold.ttf b/output/fonts/Spectral/Spectral-Bold.ttf new file mode 100644 index 0000000..1a2852c Binary files /dev/null and b/output/fonts/Spectral/Spectral-Bold.ttf differ diff --git a/output/fonts/Spectral/Spectral-BoldItalic.ttf b/output/fonts/Spectral/Spectral-BoldItalic.ttf new file mode 100644 index 0000000..48d3f0d Binary files /dev/null and b/output/fonts/Spectral/Spectral-BoldItalic.ttf differ diff --git a/output/fonts/Spectral/Spectral-ExtraBold.ttf b/output/fonts/Spectral/Spectral-ExtraBold.ttf new file mode 100644 index 0000000..5fa1618 Binary files /dev/null and b/output/fonts/Spectral/Spectral-ExtraBold.ttf differ diff --git a/output/fonts/Spectral/Spectral-ExtraBoldItalic.ttf b/output/fonts/Spectral/Spectral-ExtraBoldItalic.ttf new file mode 100644 index 0000000..c79829c Binary files /dev/null and b/output/fonts/Spectral/Spectral-ExtraBoldItalic.ttf differ diff --git a/output/fonts/Spectral/Spectral-ExtraLight.ttf b/output/fonts/Spectral/Spectral-ExtraLight.ttf new file mode 100644 index 0000000..a4427ca Binary files /dev/null and b/output/fonts/Spectral/Spectral-ExtraLight.ttf differ diff --git a/output/fonts/Spectral/Spectral-ExtraLightItalic.ttf b/output/fonts/Spectral/Spectral-ExtraLightItalic.ttf new file mode 100644 index 0000000..d15160c Binary files /dev/null and b/output/fonts/Spectral/Spectral-ExtraLightItalic.ttf differ diff --git a/output/fonts/Spectral/Spectral-Italic.ttf b/output/fonts/Spectral/Spectral-Italic.ttf new file mode 100644 index 0000000..f706e13 Binary files /dev/null and b/output/fonts/Spectral/Spectral-Italic.ttf differ diff --git a/output/fonts/Spectral/Spectral-Light.ttf b/output/fonts/Spectral/Spectral-Light.ttf new file mode 100644 index 0000000..70dbaa2 Binary files /dev/null and b/output/fonts/Spectral/Spectral-Light.ttf differ diff --git a/output/fonts/Spectral/Spectral-LightItalic.ttf b/output/fonts/Spectral/Spectral-LightItalic.ttf new file mode 100644 index 0000000..cd04bc8 Binary files /dev/null and b/output/fonts/Spectral/Spectral-LightItalic.ttf differ diff --git a/output/fonts/Spectral/Spectral-Medium.ttf b/output/fonts/Spectral/Spectral-Medium.ttf new file mode 100644 index 0000000..6180c94 Binary files /dev/null and b/output/fonts/Spectral/Spectral-Medium.ttf differ diff --git a/output/fonts/Spectral/Spectral-MediumItalic.ttf b/output/fonts/Spectral/Spectral-MediumItalic.ttf new file mode 100644 index 0000000..a4bc4df Binary files /dev/null and b/output/fonts/Spectral/Spectral-MediumItalic.ttf differ diff --git a/output/fonts/Spectral/Spectral-Regular.ttf b/output/fonts/Spectral/Spectral-Regular.ttf new file mode 100644 index 0000000..b67dca1 Binary files /dev/null and b/output/fonts/Spectral/Spectral-Regular.ttf differ diff --git a/output/fonts/Spectral/Spectral-SemiBold.ttf b/output/fonts/Spectral/Spectral-SemiBold.ttf new file mode 100644 index 0000000..3414cab Binary files /dev/null and b/output/fonts/Spectral/Spectral-SemiBold.ttf differ diff --git a/output/fonts/Spectral/Spectral-SemiBoldItalic.ttf b/output/fonts/Spectral/Spectral-SemiBoldItalic.ttf new file mode 100644 index 0000000..c84a43d Binary files /dev/null and b/output/fonts/Spectral/Spectral-SemiBoldItalic.ttf differ diff --git a/output/guide.html b/output/guide.html new file mode 100644 index 0000000..c2027da --- /dev/null +++ b/output/guide.html @@ -0,0 +1,3 @@ + +Gloss User's Guide · Gloss Blog

Gloss User's Guide

Yay.

+
\ No newline at end of file diff --git a/output/index.html b/output/index.html new file mode 100644 index 0000000..1e4bf1a --- /dev/null +++ b/output/index.html @@ -0,0 +1,5 @@ + +Gloss Blog

Hello, world!

Posted on .

This is the Gloss demo blog. This blog will contain news about +Gloss, and the user's guide. It also works as a demonstration of a simple blog setup. You can +find this blog's code also on GitLab.

+
\ No newline at end of file diff --git a/src/gloss_blog.gleam b/src/gloss_blog.gleam new file mode 100644 index 0000000..937cc31 --- /dev/null +++ b/src/gloss_blog.gleam @@ -0,0 +1,30 @@ +import gleam/result +import gleam/option +import gleam/io +import gloss/builder +import gloss/config.{type Configuration, Configuration} +import gloss/defaults + +pub fn main() { + let config = + defaults.default_config( + "Gloss Blog", + "https://nicd.gitlab.io/gloss_blog", + "en", + config.Author( + "Mikko Ahlroth", + option.Some("mikko@ahlroth.fi"), + option.Some("https://social.ahlcode.fi/@nicd"), + ), + "© Mikko Ahlroth", + ) + + io.debug(build(config)) +} + +pub fn build(config: Configuration) { + use db <- result.try(builder.parse(config)) + let compiled = builder.compile(db, config) + let posts = builder.render(db, compiled, config) + builder.write(posts, config) +}