diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..24a8e87 --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +*.png filter=lfs diff=lfs merge=lfs -text diff --git a/Sources/Docs/Templates/BaseLayout.swift b/Sources/Docs/Templates/BaseLayout.swift index 957df32..6490d77 100644 --- a/Sources/Docs/Templates/BaseLayout.swift +++ b/Sources/Docs/Templates/BaseLayout.swift @@ -21,7 +21,7 @@ func baseLayout( .documentType("html"), html(lang: "en-US") { generateHeader(pageTitle, extraHeader) - body(class: "bg-page text-white pb-5 font-avenir \(section.rawValue)") { + body(class: "text-white text-lg pb-5 font-avenir \(section.rawValue)") { siteHeader(section) div(class: "container") { @@ -59,9 +59,9 @@ private func siteHeader(_ section: Section) -> Node { } private func footer(_ rssLink: String) -> Node { - div(class: "site-footer text-slate-200 border-t border-light text-center pt-6 mt-8 text-sm") { + div(class: "site-footer text-slate-400 border-t border-light text-center pt-2 text-sm") { div { - "Copyright © Michael Housh 2023-\(Date().description.prefix(4))." + "Copyright © Michael Housh \(Date().description.prefix(4))." } p(class: "mb-2") { "Built in Swift using" @@ -92,15 +92,33 @@ private func generateHeader(_ pageTitle: String, _ extraHeader: NodeConvertible) meta(content: "#0e1112", name: "theme-color", customAttributes: ["media": "(prefers-color-scheme: dark)"]) meta(content: "#566B78", name: "theme-color", customAttributes: ["media": "(prefers-color-scheme: light)"]) meta(content: "Michael Housh", name: "author") - meta(content: "Mhoush", name: "apple-mobile-web-app-title") + meta(content: "HHE-Docs", name: "apple-mobile-web-app-title") meta(content: "initial-scale=1.0, width=device-width", name: "viewport") meta(content: "telephone=no", name: "format-detection") meta(content: "True", name: "HandheldFriendly") meta(content: "320", name: "MobileOptimized") - meta(content: "Mhoush", name: "og:site_name") + meta(content: "HHE-Docs", name: "og:site_name") meta(content: "hvac, developer, swift, home-performance, design", name: "keywords") title { SiteMetadata.name + ": \(pageTitle)" } - link(href: "/static/favicon.ico", rel: "shortcut icon") + Node.raw(""" + + + + + + + + + + + + + + + + + + """) link(href: "/static/output.css", rel: "stylesheet") link(href: "/static/style.css", rel: "stylesheet") link(href: "/articles/feed.xml", rel: "alternate", title: SiteMetadata.name, type: "application/rss+xml") diff --git a/Sources/Docs/Templates/RenderArticle.swift b/Sources/Docs/Templates/RenderArticle.swift index d44b83a..9160cc9 100644 --- a/Sources/Docs/Templates/RenderArticle.swift +++ b/Sources/Docs/Templates/RenderArticle.swift @@ -85,12 +85,6 @@ private enum OtherArticles { } } -var tagSVG: Node { - Node.raw(""" - tag-2 Created with Sketch Beta. - """) -} - func renderArticle(context: ItemRenderingContext) -> Node { let otherArticles = parseOtherArticles(context) @@ -100,12 +94,11 @@ func renderArticle(context: ItemRenderingContext) -> Node { title: context.item.title, extraHeader: generateHeader(.article(context.item)) ) { - article(class: "prose pt-8") { + article(class: "pt-8 font-avenir text-lg") { h1 { context.item.title } div { renderArticleInfo(context.item) } - // img(alt: "banner", src: context.item.imagePath) Node.raw(context.item.body) } @@ -115,7 +108,7 @@ func renderArticle(context: ItemRenderingContext) -> Node { if let tag = otherArticles.tag { a(href: "/articles/tag/\(tag)") { div(class: " [&:hover]:border-b border-orange px-5 flex flex-row gap-5") { - img(src: "/static/images/tag.svg", width: "40") + img(src: "/static/img/tag.svg", width: "40") span(class: "text-4xl font-extrabold text-orange") { tag } } } @@ -126,11 +119,11 @@ func renderArticle(context: ItemRenderingContext) -> Node { otherArticles.items.prefix(2).map { renderArticleForGrid(article: $0) } } - div(class: "prose mt-10") { + div(class: "mt-10") { a(href: "/articles/") { div(class: "flex flex-row gap-2") { - span(class: "mt-8") { "All Articles" } - img(src: "/static/images/document.svg", width: "40") + span(class: "mt-4") { "All Articles" } + img(src: "/static/img/document.svg", width: "40") } } } @@ -141,13 +134,12 @@ func renderArticle(context: ItemRenderingContext) -> Node { func renderArticleForGrid(article: Item) -> Node { section { h2(class: "post-title text-2xl font-bold mb-2") { - a(class: "[&:hover]:border-b border-orange", href: article.url) { article.title } + a(class: "[&:hover]:border-b border-orange-400", href: article.url) { article.title } } renderArticleInfo(article) p { a(href: article.url) { div { - // img(alt: "banner", src: article.imagePath) article.summary } } diff --git a/Sources/Docs/Templates/RenderArticles.swift b/Sources/Docs/Templates/RenderArticles.swift index 11897f0..05048a3 100644 --- a/Sources/Docs/Templates/RenderArticles.swift +++ b/Sources/Docs/Templates/RenderArticles.swift @@ -20,8 +20,8 @@ func renderArticles(context: ItemsRenderingContext) -> Node { sortedByYearDescending.map { year, articles in div { div(class: "border-b border-light flex flex-row gap-4 mb-12") { - img(src: "/static/images/calendar.svg", width: "40") - h1(class: "text-4xl font-extrabold") { year } + img(src: "/static/img/calendar.svg", width: "40") + h1(class: "text-4xl font-extrabold pt-3") { year } } div(class: "grid gap-10 mb-16") { diff --git a/Sources/Docs/Templates/RenderPage.swift b/Sources/Docs/Templates/RenderPage.swift index 9659878..3b36d03 100644 --- a/Sources/Docs/Templates/RenderPage.swift +++ b/Sources/Docs/Templates/RenderPage.swift @@ -27,8 +27,6 @@ func renderPage(context: ItemRenderingContext) -> Node { func renderHome(body: String) -> Node { div { - // img(alt: "Avatar", class: "my-24 w-[315px] h-200px mx-auto", src: "/static/images/avatar.png") - div(class: "my-24 uppercase font-avenir text-[40px] leading-[1.25] font-thin text-center [&>h1>strong]:font-bold") { Node.raw(body) } @@ -37,7 +35,7 @@ func renderHome(body: String) -> Node { func renderNonHome(body: String) -> Node { article { - div(class: "prose") { + div(class: "font-avenir") { Node.raw(body) } } diff --git a/content/index.md b/content/index.md index ae5e077..a491a5d 100644 --- a/content/index.md +++ b/content/index.md @@ -1,3 +1,7 @@ --- section: home --- + +# Home + +## Welcome to our internal documentation site diff --git a/content/static/android-icon-144x144.png b/content/static/android-icon-144x144.png new file mode 100644 index 0000000..c3215aa --- /dev/null +++ b/content/static/android-icon-144x144.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8c622b74859425a97c8a1f96615b0db349e29a826966138510f258b6b40e847e +size 10580 diff --git a/content/static/android-icon-192x192.png b/content/static/android-icon-192x192.png new file mode 100644 index 0000000..9c40b69 --- /dev/null +++ b/content/static/android-icon-192x192.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b8ac0c7c70eb399f26aa45b6a8e6fb3720df355bcc387a62265222a1a3ac255e +size 13378 diff --git a/content/static/android-icon-36x36.png b/content/static/android-icon-36x36.png new file mode 100644 index 0000000..4ca26a9 --- /dev/null +++ b/content/static/android-icon-36x36.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fc0113b2a3e16b7a84c54e8f5bf2901d654e08b704251186cd4799cd69e890f2 +size 2476 diff --git a/content/static/android-icon-48x48.png b/content/static/android-icon-48x48.png new file mode 100644 index 0000000..682a83a --- /dev/null +++ b/content/static/android-icon-48x48.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ee0e217a2c52249be927e9c81471d790b4f129c2f7d86f45fe115a89ba746de6 +size 2992 diff --git a/content/static/android-icon-72x72.png b/content/static/android-icon-72x72.png new file mode 100644 index 0000000..04e7446 --- /dev/null +++ b/content/static/android-icon-72x72.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1f3a1d8992868cd275c1fd1196a535131070702185b7beb7b55df0eabe6bbd0f +size 4484 diff --git a/content/static/android-icon-96x96.png b/content/static/android-icon-96x96.png new file mode 100644 index 0000000..77553c7 --- /dev/null +++ b/content/static/android-icon-96x96.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0fea9095d8f3874eaa238f4170a9b0dd2b8dea992469f0bfad6a897e964e7535 +size 6353 diff --git a/content/static/apple-icon-114x114.png b/content/static/apple-icon-114x114.png new file mode 100644 index 0000000..0529697 --- /dev/null +++ b/content/static/apple-icon-114x114.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bd4311573b0575990bf326051b134d31ff17d32eff43b19dacdbb6fd5ff68a98 +size 7672 diff --git a/content/static/apple-icon-120x120.png b/content/static/apple-icon-120x120.png new file mode 100644 index 0000000..984f573 --- /dev/null +++ b/content/static/apple-icon-120x120.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:30d83029060666ad655a4ce4c8094423444cf5f7b77700d9c8a5690bbd08f52d +size 8166 diff --git a/content/static/apple-icon-144x144.png b/content/static/apple-icon-144x144.png new file mode 100644 index 0000000..c3215aa --- /dev/null +++ b/content/static/apple-icon-144x144.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8c622b74859425a97c8a1f96615b0db349e29a826966138510f258b6b40e847e +size 10580 diff --git a/content/static/apple-icon-152x152.png b/content/static/apple-icon-152x152.png new file mode 100644 index 0000000..37e779a --- /dev/null +++ b/content/static/apple-icon-152x152.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:41972b8e27c56fbf8f01964be06ac5dbc6642f444bf20b38cdfb0b251d49ac08 +size 11206 diff --git a/content/static/apple-icon-180x180.png b/content/static/apple-icon-180x180.png new file mode 100644 index 0000000..1ad2e76 --- /dev/null +++ b/content/static/apple-icon-180x180.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:208d1399ae94529b3c718eb86d5bc6f83c01bda4e9fe8e877d70ef3aa2114a13 +size 13922 diff --git a/content/static/apple-icon-57x57.png b/content/static/apple-icon-57x57.png new file mode 100644 index 0000000..87bb8f2 --- /dev/null +++ b/content/static/apple-icon-57x57.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bd453f38f3e8334bd96ae5e44b318cea6dcff8f26b1b6ecce67d58a8468d62fb +size 3504 diff --git a/content/static/apple-icon-60x60.png b/content/static/apple-icon-60x60.png new file mode 100644 index 0000000..8061a23 --- /dev/null +++ b/content/static/apple-icon-60x60.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bf8b8e640c23e03864980cfbc0a989300cc2d022fb60bd23f42356279eb08f5c +size 3562 diff --git a/content/static/apple-icon-72x72.png b/content/static/apple-icon-72x72.png new file mode 100644 index 0000000..04e7446 --- /dev/null +++ b/content/static/apple-icon-72x72.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1f3a1d8992868cd275c1fd1196a535131070702185b7beb7b55df0eabe6bbd0f +size 4484 diff --git a/content/static/apple-icon-76x76.png b/content/static/apple-icon-76x76.png new file mode 100644 index 0000000..fdbd7a6 --- /dev/null +++ b/content/static/apple-icon-76x76.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:20b9049103c83458a03409ab78e5b2c92e02ca1c13180ece9384989e6b2a8b03 +size 4676 diff --git a/content/static/apple-icon-precomposed.png b/content/static/apple-icon-precomposed.png new file mode 100644 index 0000000..13cb44a --- /dev/null +++ b/content/static/apple-icon-precomposed.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f8f2f75e0056c1281ebd7960c3e1bcaa48bb766ad5513b53496f70f8957ecc16 +size 14420 diff --git a/content/static/apple-icon.png b/content/static/apple-icon.png new file mode 100644 index 0000000..13cb44a --- /dev/null +++ b/content/static/apple-icon.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f8f2f75e0056c1281ebd7960c3e1bcaa48bb766ad5513b53496f70f8957ecc16 +size 14420 diff --git a/content/static/browserconfig.xml b/content/static/browserconfig.xml new file mode 100644 index 0000000..c554148 --- /dev/null +++ b/content/static/browserconfig.xml @@ -0,0 +1,2 @@ + +#ffffff \ No newline at end of file diff --git a/content/static/favicon-16x16.png b/content/static/favicon-16x16.png new file mode 100644 index 0000000..4ec83b9 --- /dev/null +++ b/content/static/favicon-16x16.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:355820c18638c543c12456c1e93aa662d414b26d17eb60e239a46da5dfb13ddc +size 1819 diff --git a/content/static/favicon-32x32.png b/content/static/favicon-32x32.png new file mode 100644 index 0000000..9de5821 --- /dev/null +++ b/content/static/favicon-32x32.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:673aabdcb3d3643e6e0a3f869aad9591d618d5d5e87667c44529b6aba869b27e +size 2295 diff --git a/content/static/favicon-96x96.png b/content/static/favicon-96x96.png new file mode 100644 index 0000000..77553c7 --- /dev/null +++ b/content/static/favicon-96x96.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0fea9095d8f3874eaa238f4170a9b0dd2b8dea992469f0bfad6a897e964e7535 +size 6353 diff --git a/content/static/favicon.ico b/content/static/favicon.ico index 99d83d3..42c3dda 100644 Binary files a/content/static/favicon.ico and b/content/static/favicon.ico differ diff --git a/content/static/img/calendar.svg b/content/static/img/calendar.svg new file mode 100644 index 0000000..df36147 --- /dev/null +++ b/content/static/img/calendar.svg @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/content/static/img/document.svg b/content/static/img/document.svg new file mode 100644 index 0000000..61e4e32 --- /dev/null +++ b/content/static/img/document.svg @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/content/static/img/firewall.png b/content/static/img/firewall.png index e8168c8..f865d02 100644 Binary files a/content/static/img/firewall.png and b/content/static/img/firewall.png differ diff --git a/content/static/img/tag.svg b/content/static/img/tag.svg new file mode 100644 index 0000000..aadf2b9 --- /dev/null +++ b/content/static/img/tag.svg @@ -0,0 +1,11 @@ + + + + + + + + + tag-2 Created with Sketch Beta. + + diff --git a/content/static/input.css b/content/static/input.css index f065b55..f2c72f2 100644 --- a/content/static/input.css +++ b/content/static/input.css @@ -1,3 +1,4 @@ +@import url("https://fonts.cdnfonts.com/css/avenir"); @import "tailwindcss"; /* @@ -18,6 +19,10 @@ } } +@theme { + --font-avenir: "Avenir", sans-serif; +} + :root { --accent: #a6e3a1; --background: rgb(34, 33, 41); @@ -90,9 +95,12 @@ nav a:hover { @apply border-b-2 border-orange-400; } +nav a.active { + @apply border-b-2 border-orange-400; +} body { - @apply bg-slate-900; + @apply bg-slate-900 font-avenir; } h1 { @@ -120,6 +128,10 @@ article h2 { @apply border-b-2 border-slate-200; } +article { + @apply font-avenir text-lg; +} + .container { @apply px-10; } @@ -130,7 +142,3 @@ article h2 { -ms-box-sizing: border-box; box-sizing: border-box; } - -nav a:active { - @apply border-yellow-300 text-white; -} diff --git a/content/static/manifest.json b/content/static/manifest.json new file mode 100644 index 0000000..013d4a6 --- /dev/null +++ b/content/static/manifest.json @@ -0,0 +1,41 @@ +{ + "name": "App", + "icons": [ + { + "src": "\/android-icon-36x36.png", + "sizes": "36x36", + "type": "image\/png", + "density": "0.75" + }, + { + "src": "\/android-icon-48x48.png", + "sizes": "48x48", + "type": "image\/png", + "density": "1.0" + }, + { + "src": "\/android-icon-72x72.png", + "sizes": "72x72", + "type": "image\/png", + "density": "1.5" + }, + { + "src": "\/android-icon-96x96.png", + "sizes": "96x96", + "type": "image\/png", + "density": "2.0" + }, + { + "src": "\/android-icon-144x144.png", + "sizes": "144x144", + "type": "image\/png", + "density": "3.0" + }, + { + "src": "\/android-icon-192x192.png", + "sizes": "192x192", + "type": "image\/png", + "density": "4.0" + } + ] +} \ No newline at end of file diff --git a/content/static/ms-icon-144x144.png b/content/static/ms-icon-144x144.png new file mode 100644 index 0000000..c3215aa --- /dev/null +++ b/content/static/ms-icon-144x144.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8c622b74859425a97c8a1f96615b0db349e29a826966138510f258b6b40e847e +size 10580 diff --git a/content/static/ms-icon-150x150.png b/content/static/ms-icon-150x150.png new file mode 100644 index 0000000..31ebc93 --- /dev/null +++ b/content/static/ms-icon-150x150.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:821788c5d660f8d7d3045c7fe56941464ea75fe51257ec5877f064251564d10b +size 11000 diff --git a/content/static/ms-icon-310x310.png b/content/static/ms-icon-310x310.png new file mode 100644 index 0000000..307d8d6 --- /dev/null +++ b/content/static/ms-icon-310x310.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ca7f247425dc2b17a86cf4b4aadc13c9c6d9700005c3331c9976e9e7c872444c +size 29287 diff --git a/content/static/ms-icon-70x70.png b/content/static/ms-icon-70x70.png new file mode 100644 index 0000000..fafdaf0 --- /dev/null +++ b/content/static/ms-icon-70x70.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8cdd04db7d3e8709eb9202485ede46ac07357e980dd19f49c7a985b32a28445c +size 4357 diff --git a/content/static/output.css b/content/static/output.css index 6cefa20..548bfe5 100644 --- a/content/static/output.css +++ b/content/static/output.css @@ -1,2 +1,2 @@ /*! tailwindcss v4.1.1 | MIT License | https://tailwindcss.com */ -@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-orange-400:oklch(75% .183 55.934);--color-amber-500:oklch(76.9% .188 70.08);--color-yellow-300:oklch(90.5% .182 98.111);--color-green-400:oklch(79.2% .209 151.711);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-400:oklch(70.4% .04 256.788);--color-slate-900:oklch(20.8% .042 265.755);--color-gray-200:oklch(92.8% .006 264.531);--color-white:#fff;--spacing:.25rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25/1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--font-weight-thin:100;--font-weight-bold:700;--font-weight-extrabold:800;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:color-mix(in oklab,currentColor 50%,transparent)}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*,:after,:before,::backdrop{border-color:var(--color-gray-200,currentColor)}::file-selector-button{border-color:var(--color-gray-200,currentColor)}}@layer components;@layer utilities{.static{position:static}.isolate{isolation:isolate}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.my-24{margin-block:calc(var(--spacing)*24)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-8{margin-top:calc(var(--spacing)*8)}.mt-10{margin-top:calc(var(--spacing)*10)}.mt-16{margin-top:calc(var(--spacing)*16)}.mr-2{margin-right:calc(var(--spacing)*2)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.mb-10{margin-bottom:calc(var(--spacing)*10)}.mb-12{margin-bottom:calc(var(--spacing)*12)}.mb-16{margin-bottom:calc(var(--spacing)*16)}.flex{display:flex}.grid{display:grid}.inline{display:inline}.w-\[315px\]{width:315px}.transform{transform:var(--tw-rotate-x)var(--tw-rotate-y)var(--tw-rotate-z)var(--tw-skew-x)var(--tw-skew-y)}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.gap-2{gap:calc(var(--spacing)*2)}.gap-4{gap:calc(var(--spacing)*4)}.gap-5{gap:calc(var(--spacing)*5)}.gap-10{gap:calc(var(--spacing)*10)}.gap-x-2{column-gap:calc(var(--spacing)*2)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-green-400{border-color:var(--color-green-400)}.border-white{border-color:var(--color-white)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-5{padding-inline:calc(var(--spacing)*5)}.pt-6{padding-top:calc(var(--spacing)*6)}.pt-8{padding-top:calc(var(--spacing)*8)}.pr-2{padding-right:calc(var(--spacing)*2)}.pb-5{padding-bottom:calc(var(--spacing)*5)}.text-center{text-align:center}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-\[40px\]{font-size:40px}.leading-\[1\.25\]{--tw-leading:1.25;line-height:1.25}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.font-thin{--tw-font-weight:var(--font-weight-thin);font-weight:var(--font-weight-thin)}.text-orange-400{color:var(--color-orange-400)}.text-slate-200{color:var(--color-slate-200)}.text-slate-400{color:var(--color-slate-400)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media (min-width:64rem){.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:gap-x-5{column-gap:calc(var(--spacing)*5)}}.\[\&\:hover\]\:border-b:hover{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.\[\&\>h1\>strong\]\:font-bold>h1>strong{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}hover.\[\&hover\]\:border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}hover.\[\&hover\]\:border-green-400{border-color:var(--color-green-400)}}@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){@layer base{*,:before,:after,::backdrop{--tw-rotate-x:rotateX(0);--tw-rotate-y:rotateY(0);--tw-rotate-z:rotateZ(0);--tw-skew-x:skewX(0);--tw-skew-y:skewY(0);--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}:root{--accent:#a6e3a1;--background:#222129;--color:#fff;--border-color:#ffffff1a;--phoneWidth:(max-width: 684px);--tabletWidth:(max-width: 900px)--orange: #f5a87f;--green:#a6e3a1}.header{flex-direction:column;display:flex;position:relative}.header__inner{justify-center:space-between;align-items:center;display:flex}.header__logo{flex:1;display:flex}.header__logo:after{content:"";background:repeating-linear-gradient(90deg,#ffa86a,#ffa86a 2px,#0000 0 10px);background:repeating-linear-gradient(90deg,var(--accent),var(--accent)2px,transparent 0,transparent 10px);width:100%;display:block;right:10px}.header__logo a{flex:none;max-width:100%;text-decoration:none}.logo{background:#ffa86a;background:var(--accent);color:#000;align-items:center;padding:5px 10px;text-decoration:none;display:flex}.header .menu{flex-wrap:wrap;margin:0;padding:10px;list-style:none;display:flex}nav a:hover{border-bottom-style:var(--tw-border-style);border-bottom-width:2px;border-color:var(--color-orange-400)}body{background-color:var(--color-slate-900)}h1{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}h2{margin-bottom:calc(var(--spacing)*4);padding-top:calc(var(--spacing)*4);font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height));color:var(--green)}h3{padding-block:calc(var(--spacing)*4);font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height));color:var(--color-amber-500)}p{margin-bottom:calc(var(--spacing)*8)}img{padding-top:10px;padding-bottom:10px}article h2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px;border-color:var(--color-slate-200)}.container{padding-inline:calc(var(--spacing)*10)}*{box-sizing:border-box;-ms-box-sizing:border-box}nav a:active{border-color:var(--color-yellow-300);color:var(--color-white)}@property --tw-rotate-x{syntax:"*";inherits:false;initial-value:rotateX(0)}@property --tw-rotate-y{syntax:"*";inherits:false;initial-value:rotateY(0)}@property --tw-rotate-z{syntax:"*";inherits:false;initial-value:rotateZ(0)}@property --tw-skew-x{syntax:"*";inherits:false;initial-value:skewX(0)}@property --tw-skew-y{syntax:"*";inherits:false;initial-value:skewY(0)}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false} \ No newline at end of file +@import "https://fonts.cdnfonts.com/css/avenir";@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-orange-400:oklch(75% .183 55.934);--color-amber-500:oklch(76.9% .188 70.08);--color-green-400:oklch(79.2% .209 151.711);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-400:oklch(70.4% .04 256.788);--color-slate-900:oklch(20.8% .042 265.755);--color-gray-200:oklch(92.8% .006 264.531);--color-white:#fff;--spacing:.25rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25/1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--font-weight-thin:100;--font-weight-bold:700;--font-weight-extrabold:800;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--font-avenir:"Avenir",sans-serif}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:color-mix(in oklab,currentColor 50%,transparent)}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*,:after,:before,::backdrop{border-color:var(--color-gray-200,currentColor)}::file-selector-button{border-color:var(--color-gray-200,currentColor)}}@layer components;@layer utilities{.static{position:static}.isolate{isolation:isolate}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.m-580{margin:calc(var(--spacing)*580)}.my-24{margin-block:calc(var(--spacing)*24)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-10{margin-top:calc(var(--spacing)*10)}.mt-16{margin-top:calc(var(--spacing)*16)}.mr-2{margin-right:calc(var(--spacing)*2)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.mb-10{margin-bottom:calc(var(--spacing)*10)}.mb-12{margin-bottom:calc(var(--spacing)*12)}.mb-16{margin-bottom:calc(var(--spacing)*16)}.flex{display:flex}.grid{display:grid}.inline{display:inline}.transform{transform:var(--tw-rotate-x)var(--tw-rotate-y)var(--tw-rotate-z)var(--tw-skew-x)var(--tw-skew-y)}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.gap-2{gap:calc(var(--spacing)*2)}.gap-4{gap:calc(var(--spacing)*4)}.gap-5{gap:calc(var(--spacing)*5)}.gap-10{gap:calc(var(--spacing)*10)}.gap-x-2{column-gap:calc(var(--spacing)*2)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-green-400{border-color:var(--color-green-400)}.border-orange-400{border-color:var(--color-orange-400)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-5{padding-inline:calc(var(--spacing)*5)}.pt-2{padding-top:calc(var(--spacing)*2)}.pt-3{padding-top:calc(var(--spacing)*3)}.pt-8{padding-top:calc(var(--spacing)*8)}.pr-2{padding-right:calc(var(--spacing)*2)}.pb-5{padding-bottom:calc(var(--spacing)*5)}.text-center{text-align:center}.font-avenir{font-family:var(--font-avenir)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-\[40px\]{font-size:40px}.leading-\[1\.25\]{--tw-leading:1.25;line-height:1.25}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.font-thin{--tw-font-weight:var(--font-weight-thin);font-weight:var(--font-weight-thin)}.text-orange-400{color:var(--color-orange-400)}.text-slate-400{color:var(--color-slate-400)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media (min-width:64rem){.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:gap-x-5{column-gap:calc(var(--spacing)*5)}}.\[\&\:hover\]\:border-b:hover{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.\[\&\>h1\>strong\]\:font-bold>h1>strong{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}}@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){@layer base{*,:before,:after,::backdrop{--tw-rotate-x:rotateX(0);--tw-rotate-y:rotateY(0);--tw-rotate-z:rotateZ(0);--tw-skew-x:skewX(0);--tw-skew-y:skewY(0);--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}:root{--accent:#a6e3a1;--background:#222129;--color:#fff;--border-color:#ffffff1a;--phoneWidth:(max-width: 684px);--tabletWidth:(max-width: 900px)--orange: #f5a87f;--green:#a6e3a1}.header{flex-direction:column;display:flex;position:relative}.header__inner{justify-center:space-between;align-items:center;display:flex}.header__logo{flex:1;display:flex}.header__logo:after{content:"";background:repeating-linear-gradient(90deg,#ffa86a,#ffa86a 2px,#0000 0 10px);background:repeating-linear-gradient(90deg,var(--accent),var(--accent)2px,transparent 0,transparent 10px);width:100%;display:block;right:10px}.header__logo a{flex:none;max-width:100%;text-decoration:none}.logo{background:#ffa86a;background:var(--accent);color:#000;align-items:center;padding:5px 10px;text-decoration:none;display:flex}.header .menu{flex-wrap:wrap;margin:0;padding:10px;list-style:none;display:flex}nav a:hover,nav a.active{border-bottom-style:var(--tw-border-style);border-bottom-width:2px;border-color:var(--color-orange-400)}body{background-color:var(--color-slate-900);font-family:var(--font-avenir)}h1{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}h2{margin-bottom:calc(var(--spacing)*4);padding-top:calc(var(--spacing)*4);font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height));color:var(--green)}h3{padding-block:calc(var(--spacing)*4);font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height));color:var(--color-amber-500)}p{margin-bottom:calc(var(--spacing)*8)}img{padding-top:10px;padding-bottom:10px}article h2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px;border-color:var(--color-slate-200)}article{font-family:var(--font-avenir);font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.container{padding-inline:calc(var(--spacing)*10)}*{box-sizing:border-box;-ms-box-sizing:border-box}@property --tw-rotate-x{syntax:"*";inherits:false;initial-value:rotateX(0)}@property --tw-rotate-y{syntax:"*";inherits:false;initial-value:rotateY(0)}@property --tw-rotate-z{syntax:"*";inherits:false;initial-value:rotateZ(0)}@property --tw-skew-x{syntax:"*";inherits:false;initial-value:skewX(0)}@property --tw-skew-y{syntax:"*";inherits:false;initial-value:skewY(0)}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false} \ No newline at end of file diff --git a/justfile b/justfile index e76417d..9ccb30e 100644 --- a/justfile +++ b/justfile @@ -1,3 +1,6 @@ +articles := "./content/articles" +docker_image := "homelab/docs" +docker_tag := "latest" shortdate := `date +%F` [private] @@ -9,6 +12,13 @@ default: run: @swift run watch content Sources deploy -[group('dev')] new-article name: - @echo {{shortdate}}-{{name}}.md + @touch {{articles}}/{{shortdate}}-{{name}}.md + @echo {{articles}}/{{shortdate}}-{{name}}.md + +alias n := new-article + +[group('dev')] +build: + @pnpm run css-build + @docker build --tag {{docker_image}}:{{docker_tag}} .