diff --git a/.gitignore b/.gitignore
index 7b62a71..d003268 100644
--- a/.gitignore
+++ b/.gitignore
@@ -10,4 +10,7 @@ hugo.darwin
hugo.linux
# Temporary lock file while building
-/.hugo_build.lock
\ No newline at end of file
+/.hugo_build.lock
+
+# node
+**/node_modules
\ No newline at end of file
diff --git a/.idea/.gitignore b/.idea/.gitignore
deleted file mode 100644
index 13566b8..0000000
--- a/.idea/.gitignore
+++ /dev/null
@@ -1,8 +0,0 @@
-# Default ignored files
-/shelf/
-/workspace.xml
-# Editor-based HTTP Client requests
-/httpRequests/
-# Datasource local storage ignored files
-/dataSources/
-/dataSources.local.xml
diff --git a/.idea/blog.iml b/.idea/blog.iml
deleted file mode 100644
index c956989..0000000
--- a/.idea/blog.iml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
deleted file mode 100644
index e81aaae..0000000
--- a/.idea/modules.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/php.xml b/.idea/php.xml
deleted file mode 100644
index 57a5904..0000000
--- a/.idea/php.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
deleted file mode 100644
index 35eb1dd..0000000
--- a/.idea/vcs.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/hugo.toml b/hugo.toml
index 963e259..f602571 100644
--- a/hugo.toml
+++ b/hugo.toml
@@ -1,7 +1,7 @@
baseURL = 'https://aottr.dev/'
languageCode = 'en-us'
title = 'aottr'
-theme = 'archie'
+theme = 'aottr'
copyright = "AlexOttr"
# Code Highlight
@@ -9,14 +9,15 @@ pygmentsstyle = "monokai"
pygmentscodefences = true
pygmentscodefencesguesssyntax = true
-paginate = 20 # articles per page
-summaryLength = 30
+paginate = 10 # articles per page
+summaryLength = 20
disableHugoGeneratorInject = true
enableGitInfo = false
enableRobotsTXT = true
removePathAccents = true
+enableEmoji = true
[params]
mode="dark" # color-mode → light,dark,toggle or auto
diff --git a/themes/aottr/LICENSE b/themes/aottr/LICENSE
new file mode 100644
index 0000000..8aa2645
--- /dev/null
+++ b/themes/aottr/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) [year] [fullname]
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/themes/aottr/archetypes/default.md b/themes/aottr/archetypes/default.md
new file mode 100644
index 0000000..c6f3fce
--- /dev/null
+++ b/themes/aottr/archetypes/default.md
@@ -0,0 +1,5 @@
++++
+title = '{{ replace .File.ContentBaseName "-" " " | title }}'
+date = {{ .Date }}
+draft = true
++++
diff --git a/themes/aottr/assets/css/main.css b/themes/aottr/assets/css/main.css
new file mode 100644
index 0000000..422a3b6
--- /dev/null
+++ b/themes/aottr/assets/css/main.css
@@ -0,0 +1,1249 @@
+/*
+! tailwindcss v3.4.10 | MIT License | https://tailwindcss.com
+*/
+
+/*
+1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
+2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
+*/
+
+*,
+::before,
+::after {
+ box-sizing: border-box;
+ /* 1 */
+ border-width: 0;
+ /* 2 */
+ border-style: solid;
+ /* 2 */
+ border-color: #e5e7eb;
+ /* 2 */
+}
+
+::before,
+::after {
+ --tw-content: '';
+}
+
+/*
+1. Use a consistent sensible line-height in all browsers.
+2. Prevent adjustments of font size after orientation changes in iOS.
+3. Use a more readable tab size.
+4. Use the user's configured `sans` font-family by default.
+5. Use the user's configured `sans` font-feature-settings by default.
+6. Use the user's configured `sans` font-variation-settings by default.
+7. Disable tap highlights on iOS
+*/
+
+html,
+:host {
+ line-height: 1.5;
+ /* 1 */
+ -webkit-text-size-adjust: 100%;
+ /* 2 */
+ -moz-tab-size: 4;
+ /* 3 */
+ -o-tab-size: 4;
+ tab-size: 4;
+ /* 3 */
+ font-family: "Nunito", ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
+ /* 4 */
+ font-feature-settings: normal;
+ /* 5 */
+ font-variation-settings: normal;
+ /* 6 */
+ -webkit-tap-highlight-color: transparent;
+ /* 7 */
+}
+
+/*
+1. Remove the margin in all browsers.
+2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
+*/
+
+body {
+ margin: 0;
+ /* 1 */
+ line-height: inherit;
+ /* 2 */
+}
+
+/*
+1. Add the correct height in Firefox.
+2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
+3. Ensure horizontal rules are visible by default.
+*/
+
+hr {
+ height: 0;
+ /* 1 */
+ color: inherit;
+ /* 2 */
+ border-top-width: 1px;
+ /* 3 */
+}
+
+/*
+Add the correct text decoration in Chrome, Edge, and Safari.
+*/
+
+abbr:where([title]) {
+ -webkit-text-decoration: underline dotted;
+ text-decoration: underline dotted;
+}
+
+/*
+Remove the default font size and weight for headings.
+*/
+
+h1,
+h2,
+h3,
+h4,
+h5,
+h6 {
+ font-size: inherit;
+ font-weight: inherit;
+}
+
+/*
+Reset links to optimize for opt-in styling instead of opt-out.
+*/
+
+a {
+ color: inherit;
+ text-decoration: inherit;
+}
+
+/*
+Add the correct font weight in Edge and Safari.
+*/
+
+b,
+strong {
+ font-weight: bolder;
+}
+
+/*
+1. Use the user's configured `mono` font-family by default.
+2. Use the user's configured `mono` font-feature-settings by default.
+3. Use the user's configured `mono` font-variation-settings by default.
+4. Correct the odd `em` font sizing in all browsers.
+*/
+
+code,
+kbd,
+samp,
+pre {
+ font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
+ /* 1 */
+ font-feature-settings: normal;
+ /* 2 */
+ font-variation-settings: normal;
+ /* 3 */
+ font-size: 1em;
+ /* 4 */
+}
+
+/*
+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;
+}
+
+/*
+1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
+2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
+3. Remove gaps between table borders by default.
+*/
+
+table {
+ text-indent: 0;
+ /* 1 */
+ border-color: inherit;
+ /* 2 */
+ border-collapse: collapse;
+ /* 3 */
+}
+
+/*
+1. Change the font styles in all browsers.
+2. Remove the margin in Firefox and Safari.
+3. Remove default padding in all browsers.
+*/
+
+button,
+input,
+optgroup,
+select,
+textarea {
+ font-family: inherit;
+ /* 1 */
+ font-feature-settings: inherit;
+ /* 1 */
+ font-variation-settings: inherit;
+ /* 1 */
+ font-size: 100%;
+ /* 1 */
+ font-weight: inherit;
+ /* 1 */
+ line-height: inherit;
+ /* 1 */
+ letter-spacing: inherit;
+ /* 1 */
+ color: inherit;
+ /* 1 */
+ margin: 0;
+ /* 2 */
+ padding: 0;
+ /* 3 */
+}
+
+/*
+Remove the inheritance of text transform in Edge and Firefox.
+*/
+
+button,
+select {
+ text-transform: none;
+}
+
+/*
+1. Correct the inability to style clickable types in iOS and Safari.
+2. Remove default button styles.
+*/
+
+button,
+input:where([type='button']),
+input:where([type='reset']),
+input:where([type='submit']) {
+ -webkit-appearance: button;
+ /* 1 */
+ background-color: transparent;
+ /* 2 */
+ background-image: none;
+ /* 2 */
+}
+
+/*
+Use the modern Firefox focus style for all focusable elements.
+*/
+
+:-moz-focusring {
+ outline: auto;
+}
+
+/*
+Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
+*/
+
+:-moz-ui-invalid {
+ box-shadow: none;
+}
+
+/*
+Add the correct vertical alignment in Chrome and Firefox.
+*/
+
+progress {
+ vertical-align: baseline;
+}
+
+/*
+Correct the cursor style of increment and decrement buttons in Safari.
+*/
+
+::-webkit-inner-spin-button,
+::-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.
+*/
+
+::-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 */
+}
+
+/*
+Add the correct display in Chrome and Safari.
+*/
+
+summary {
+ display: list-item;
+}
+
+/*
+Removes the default spacing and border for appropriate elements.
+*/
+
+blockquote,
+dl,
+dd,
+h1,
+h2,
+h3,
+h4,
+h5,
+h6,
+hr,
+figure,
+p,
+pre {
+ margin: 0;
+}
+
+fieldset {
+ margin: 0;
+ padding: 0;
+}
+
+legend {
+ padding: 0;
+}
+
+ol,
+ul,
+menu {
+ list-style: none;
+ margin: 0;
+ padding: 0;
+}
+
+/*
+Reset default styling for dialogs.
+*/
+
+dialog {
+ padding: 0;
+}
+
+/*
+Prevent resizing textareas horizontally by default.
+*/
+
+textarea {
+ resize: vertical;
+}
+
+/*
+1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
+2. Set the default placeholder color to the user's configured gray 400 color.
+*/
+
+input::-moz-placeholder, textarea::-moz-placeholder {
+ opacity: 1;
+ /* 1 */
+ color: #9ca3af;
+ /* 2 */
+}
+
+input::placeholder,
+textarea::placeholder {
+ opacity: 1;
+ /* 1 */
+ color: #9ca3af;
+ /* 2 */
+}
+
+/*
+Set the default cursor for buttons.
+*/
+
+button,
+[role="button"] {
+ cursor: pointer;
+}
+
+/*
+Make sure disabled buttons don't get the pointer cursor.
+*/
+
+:disabled {
+ cursor: default;
+}
+
+/*
+1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
+2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
+ This can trigger a poorly considered lint error in some tools but is included by design.
+*/
+
+img,
+svg,
+video,
+canvas,
+audio,
+iframe,
+embed,
+object {
+ display: block;
+ /* 1 */
+ vertical-align: middle;
+ /* 2 */
+}
+
+/*
+Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
+*/
+
+img,
+video {
+ max-width: 100%;
+ height: auto;
+}
+
+/* Make elements with the HTML hidden attribute stay hidden by default */
+
+[hidden] {
+ display: none;
+}
+
+@font-face {
+ font-family: 'Nunito';
+
+ font-style: normal;
+
+ font-weight: 100 900;
+
+ font-display: swap;
+
+ src: url(/fonts/Nunito.ttf) format('truetype');
+}
+
+*, ::before, ::after {
+ --tw-border-spacing-x: 0;
+ --tw-border-spacing-y: 0;
+ --tw-translate-x: 0;
+ --tw-translate-y: 0;
+ --tw-rotate: 0;
+ --tw-skew-x: 0;
+ --tw-skew-y: 0;
+ --tw-scale-x: 1;
+ --tw-scale-y: 1;
+ --tw-pan-x: ;
+ --tw-pan-y: ;
+ --tw-pinch-zoom: ;
+ --tw-scroll-snap-strictness: proximity;
+ --tw-gradient-from-position: ;
+ --tw-gradient-via-position: ;
+ --tw-gradient-to-position: ;
+ --tw-ordinal: ;
+ --tw-slashed-zero: ;
+ --tw-numeric-figure: ;
+ --tw-numeric-spacing: ;
+ --tw-numeric-fraction: ;
+ --tw-ring-inset: ;
+ --tw-ring-offset-width: 0px;
+ --tw-ring-offset-color: #fff;
+ --tw-ring-color: rgb(59 130 246 / 0.5);
+ --tw-ring-offset-shadow: 0 0 #0000;
+ --tw-ring-shadow: 0 0 #0000;
+ --tw-shadow: 0 0 #0000;
+ --tw-shadow-colored: 0 0 #0000;
+ --tw-blur: ;
+ --tw-brightness: ;
+ --tw-contrast: ;
+ --tw-grayscale: ;
+ --tw-hue-rotate: ;
+ --tw-invert: ;
+ --tw-saturate: ;
+ --tw-sepia: ;
+ --tw-drop-shadow: ;
+ --tw-backdrop-blur: ;
+ --tw-backdrop-brightness: ;
+ --tw-backdrop-contrast: ;
+ --tw-backdrop-grayscale: ;
+ --tw-backdrop-hue-rotate: ;
+ --tw-backdrop-invert: ;
+ --tw-backdrop-opacity: ;
+ --tw-backdrop-saturate: ;
+ --tw-backdrop-sepia: ;
+ --tw-contain-size: ;
+ --tw-contain-layout: ;
+ --tw-contain-paint: ;
+ --tw-contain-style: ;
+}
+
+::backdrop {
+ --tw-border-spacing-x: 0;
+ --tw-border-spacing-y: 0;
+ --tw-translate-x: 0;
+ --tw-translate-y: 0;
+ --tw-rotate: 0;
+ --tw-skew-x: 0;
+ --tw-skew-y: 0;
+ --tw-scale-x: 1;
+ --tw-scale-y: 1;
+ --tw-pan-x: ;
+ --tw-pan-y: ;
+ --tw-pinch-zoom: ;
+ --tw-scroll-snap-strictness: proximity;
+ --tw-gradient-from-position: ;
+ --tw-gradient-via-position: ;
+ --tw-gradient-to-position: ;
+ --tw-ordinal: ;
+ --tw-slashed-zero: ;
+ --tw-numeric-figure: ;
+ --tw-numeric-spacing: ;
+ --tw-numeric-fraction: ;
+ --tw-ring-inset: ;
+ --tw-ring-offset-width: 0px;
+ --tw-ring-offset-color: #fff;
+ --tw-ring-color: rgb(59 130 246 / 0.5);
+ --tw-ring-offset-shadow: 0 0 #0000;
+ --tw-ring-shadow: 0 0 #0000;
+ --tw-shadow: 0 0 #0000;
+ --tw-shadow-colored: 0 0 #0000;
+ --tw-blur: ;
+ --tw-brightness: ;
+ --tw-contrast: ;
+ --tw-grayscale: ;
+ --tw-hue-rotate: ;
+ --tw-invert: ;
+ --tw-saturate: ;
+ --tw-sepia: ;
+ --tw-drop-shadow: ;
+ --tw-backdrop-blur: ;
+ --tw-backdrop-brightness: ;
+ --tw-backdrop-contrast: ;
+ --tw-backdrop-grayscale: ;
+ --tw-backdrop-hue-rotate: ;
+ --tw-backdrop-invert: ;
+ --tw-backdrop-opacity: ;
+ --tw-backdrop-saturate: ;
+ --tw-backdrop-sepia: ;
+ --tw-contain-size: ;
+ --tw-contain-layout: ;
+ --tw-contain-paint: ;
+ --tw-contain-style: ;
+}
+
+.container {
+ width: 100%;
+}
+
+@media (min-width: 640px) {
+ .container {
+ max-width: 640px;
+ }
+}
+
+@media (min-width: 768px) {
+ .container {
+ max-width: 768px;
+ }
+}
+
+@media (min-width: 1024px) {
+ .container {
+ max-width: 1024px;
+ }
+}
+
+@media (min-width: 1280px) {
+ .container {
+ max-width: 1280px;
+ }
+}
+
+@media (min-width: 1536px) {
+ .container {
+ max-width: 1536px;
+ }
+}
+
+.visible {
+ visibility: visible;
+}
+
+.invisible {
+ visibility: hidden;
+}
+
+.relative {
+ position: relative;
+}
+
+.block {
+ display: block;
+}
+
+.inline {
+ display: inline;
+}
+
+.flex {
+ display: flex;
+}
+
+.table {
+ display: table;
+}
+
+.contents {
+ display: contents;
+}
+
+.hidden {
+ display: none;
+}
+
+.size-0 {
+ width: 0px;
+ height: 0px;
+}
+
+.size-5 {
+ width: 1.25rem;
+ height: 1.25rem;
+}
+
+.w-full {
+ width: 100%;
+}
+
+.flex-none {
+ flex: none;
+}
+
+.flex-grow {
+ flex-grow: 1;
+}
+
+.grow {
+ flex-grow: 1;
+}
+
+.flex-row {
+ flex-direction: row;
+}
+
+.flex-col {
+ flex-direction: column;
+}
+
+.gap-2 {
+ gap: 0.5rem;
+}
+
+.gap-4 {
+ gap: 1rem;
+}
+
+.gap-6 {
+ gap: 1.5rem;
+}
+
+.stroke-current {
+ stroke: currentColor;
+}
+
+.text-4xl {
+ font-size: 2.25rem;
+ line-height: 2.5rem;
+}
+
+.text-lg {
+ font-size: 1.125rem;
+ line-height: 1.75rem;
+}
+
+.text-sm {
+ font-size: 0.875rem;
+ line-height: 1.25rem;
+}
+
+.font-bold {
+ font-weight: 700;
+}
+
+.italic {
+ font-style: italic;
+}
+
+.text-stone-300 {
+ --tw-text-opacity: 1;
+ color: rgb(214 211 209 / var(--tw-text-opacity));
+}
+
+.text-stone-400 {
+ --tw-text-opacity: 1;
+ color: rgb(168 162 158 / var(--tw-text-opacity));
+}
+
+.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, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
+ transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
+ transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
+ transition-duration: 150ms;
+}
+
+body {
+ height: 100%;
+ min-height: 100vh;
+ --tw-bg-opacity: 1;
+ background-color: rgb(41 37 36 / var(--tw-bg-opacity));
+ font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
+ color: rgb(252 231 243 / 0.9);
+}
+
+header {
+ margin-left: auto;
+ margin-right: auto;
+ width: 100%;
+ max-width: 56rem;
+ padding: 1rem;
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+}
+
+main {
+ margin-left: auto;
+ margin-right: auto;
+ width: 100%;
+ max-width: 56rem;
+ padding: 1rem;
+}
+
+footer {
+ margin-left: auto;
+ margin-right: auto;
+ width: 100%;
+ max-width: 56rem;
+ padding: 1rem;
+ font-size: 0.875rem;
+ line-height: 1.25rem;
+ --tw-text-opacity: 1;
+ color: rgb(168 162 158 / var(--tw-text-opacity));
+}
+
+header h1 a, header h1 a:visited {
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+ gap: 0.5rem;
+ --tw-text-opacity: 1;
+ color: rgb(249 168 212 / var(--tw-text-opacity));
+}
+
+header h1, header h1::before {
+ font-size: 1.5rem;
+ line-height: 2rem;
+ font-weight: 700;
+ content: none;
+}
+
+header nav {
+ flex-grow: 1;
+}
+
+header nav ul {
+ display: flex;
+ flex-direction: row;
+ justify-content: flex-end;
+ gap: 0.75rem;
+}
+
+header nav ul li a,
+header nav ul li a:visited,
+header nav ul li::before {
+ --tw-text-opacity: 1;
+ color: rgb(249 168 212 / var(--tw-text-opacity));
+ border-bottom-width: 4px;
+ --tw-border-opacity: 1;
+ border-color: rgb(249 168 212 / var(--tw-border-opacity));
+ content: none;
+}
+
+a {
+ --tw-text-opacity: 1;
+ color: rgb(249 168 212 / var(--tw-text-opacity));
+}
+
+a:hover, a:visited:hover {
+ --tw-bg-opacity: 1;
+ background-color: rgb(249 168 212 / var(--tw-bg-opacity));
+ --tw-text-opacity: 1;
+ color: rgb(28 25 23 / var(--tw-text-opacity));
+}
+
+header nav ul li svg:hover {
+ --tw-bg-opacity: 1;
+ background-color: rgb(249 168 212 / var(--tw-bg-opacity));
+ --tw-text-opacity: 1;
+ color: rgb(28 25 23 / var(--tw-text-opacity));
+}
+
+header nav ul li svg {
+ height: 1.75rem;
+ width: 1.75rem;
+}
+
+a:visited {
+ --tw-text-opacity: 1;
+ color: rgb(232 121 249 / var(--tw-text-opacity));
+}
+
+/* Typography */
+
+h1::before, h2::before, h3::before, h4::before, h5::before, h6::before {
+ font-weight: 700;
+ --tw-text-opacity: 1;
+ color: rgb(249 168 212 / var(--tw-text-opacity));
+}
+
+h1::before {
+ content: '# ';
+}
+
+h2::before {
+ content: '## ';
+}
+
+h3::before {
+ content: '### ';
+}
+
+h4::before {
+ content: '#### ';
+}
+
+h5::before {
+ content: '##### ';
+}
+
+h6::before {
+ content: '###### ';
+}
+
+h1 {
+ font-size: 1.5rem;
+ line-height: 2rem;
+}
+
+h2 {
+ font-size: 1.25rem;
+ line-height: 1.75rem;
+}
+
+h3 {
+ font-size: 1.125rem;
+ line-height: 1.75rem;
+}
+
+h1, h2, h3, h4, h5, h6 {
+ margin-top: 1.75rem;
+ margin-bottom: 0.75rem;
+}
+
+/* Single page header */
+
+main h1:first-of-type {
+ margin-top: 0px;
+ margin-bottom: 0px;
+}
+
+main p {
+ margin-top: 0.75rem;
+ margin-bottom: 0.75rem;
+ font-family: "Nunito", ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
+ font-size: large;
+}
+
+main p code {
+ --tw-bg-opacity: 1;
+ background-color: rgb(68 64 60 / var(--tw-bg-opacity));
+ font-size: 0.875rem;
+ line-height: 1.25rem;
+ --tw-text-opacity: 1;
+ color: rgb(214 211 209 / var(--tw-text-opacity));
+ border-radius: 0.375rem;
+ padding-left: 0.25rem;
+ padding-right: 0.25rem;
+ padding-top: 0.125rem;
+ padding-bottom: 0.125rem;
+}
+
+.meta {
+ font-size: 0.875rem;
+ line-height: 1.25rem;
+ --tw-text-opacity: 1;
+ color: rgb(168 162 158 / var(--tw-text-opacity));
+ font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
+}
+
+.tldr {
+ margin-top: 0.5rem;
+ margin-bottom: 0.5rem;
+ font-size: 0.875rem;
+ line-height: 1.25rem;
+ --tw-text-opacity: 1;
+ color: rgb(168 162 158 / var(--tw-text-opacity));
+}
+
+.toc {
+ margin-top: 1.5rem;
+ margin-bottom: 1.5rem;
+ width: -moz-fit-content;
+ width: fit-content;
+ border-radius: 0.5rem;
+ background-color: rgb(68 64 60 / 0.3);
+ padding: 0.625rem;
+ display: flex;
+ flex-direction: column;
+ align-items: flex-start;
+ gap: 0.25rem;
+}
+
+.toc nav {
+ display: inline-block;
+}
+
+.callout {
+ --tw-bg-opacity: 1;
+ background-color: rgb(68 64 60 / var(--tw-bg-opacity));
+ --tw-text-opacity: 1;
+ color: rgb(214 211 209 / var(--tw-text-opacity));
+ --tw-shadow-color: #1c1917;
+ --tw-shadow: var(--tw-shadow-colored);
+ margin-top: 1rem;
+ margin-bottom: 1rem;
+ padding: 0.625rem;
+ border-radius: 0.5rem;
+}
+
+.callout-inner {
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+ gap: 1rem;
+ font-size: 0.875rem;
+ line-height: 1.25rem;
+}
+
+.callout-inner p {
+ margin-top: 0px;
+ margin-bottom: 0px;
+ font-size: 1rem;
+ line-height: 1.5rem;
+}
+
+.callout-inner .icon {
+ height: 2rem;
+ width: 2rem;
+ flex: none;
+ stroke: currentColor;
+}
+
+ul {
+ list-style-type: none;
+ padding-left: 0.5rem;
+}
+
+ul > li {
+ font-family: "Nunito", ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
+}
+
+ul > li::before {
+ content: '* ';
+ font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
+ font-weight: 700;
+ --tw-text-opacity: 1;
+ color: rgb(249 168 212 / var(--tw-text-opacity));
+}
+
+.tag-cloud ul > li::before {
+ content: '🏷 ';
+ font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
+ font-weight: 700;
+ --tw-text-opacity: 1;
+ color: rgb(249 168 212 / var(--tw-text-opacity));
+}
+
+strong {
+ font-weight: 800;
+}
+
+.highlight {
+ position: relative;
+ -webkit-overflow-scrolling: touch;
+}
+
+.highlight pre code[class*="language-"] {
+ -webkit-overflow-scrolling: touch;
+}
+
+.highlight pre {
+ border-width: 2px;
+ --tw-border-opacity: 1;
+ border-color: rgb(68 64 60 / var(--tw-border-opacity));
+ --tw-bg-opacity: 1;
+ background-color: rgb(41 37 36 / var(--tw-bg-opacity));
+ border-radius: 0.5rem;
+ padding: 1rem;
+ font-size: 0.875rem;
+ line-height: 1.25rem;
+}
+
+.highlight pre code[class*="language-"]::before {
+ border-top-right-radius: 0.5rem;
+ border-bottom-left-radius: 0.5rem;
+ --tw-bg-opacity: 1;
+ background-color: rgb(0 0 0 / var(--tw-bg-opacity));
+ font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
+ font-size: 0.75rem;
+ line-height: 1rem;
+ text-transform: uppercase;
+ --tw-text-opacity: 1;
+ color: rgb(255 255 255 / var(--tw-text-opacity));
+ letter-spacing: 0.025rem;
+ position: absolute;
+ top: 0px;
+ right: 0px;
+ padding-top: 0.25rem;
+ padding-bottom: 0.25rem;
+ padding-left: 0.5rem;
+ padding-right: 0.5rem;
+ text-align: right;
+}
+
+.highlight pre code[class*='language-nix']::before,
+.highlight pre code[class*='language-nix']::before{
+ content: 'nix';
+ background: #4b7bc0;
+ color: whitesmoke ;
+}
+
+.highlight pre code[class*='language-caddy']::before,
+.highlight pre code[class*='language-caddy']::before{
+ content: 'caddy';
+ background: #021727;
+ color: #4da6d9;
+}
+
+.highlight pre code[class=language-javaScript]::before,
+.highlight pre code[class="language-js"]::before {
+ content: "js";
+ background: #f7df1e;
+ color: black;
+}
+
+.highlight pre code[class=language-TypeScript]::before,
+.highlight pre code[class="language-ts"]::before {
+ content: "TS";
+ background: #1a78bd;
+ color: white;
+}
+
+.highlight pre code[class*='language-yml']::before,
+.highlight pre code[class*='language-yaml']::before {
+ content: 'yaml';
+ background: #f71e6a;
+ color: white;
+}
+
+.highlight pre code[class*='language-shell']::before,
+.highlight pre code[class*='language-bash']::before,
+.highlight pre code[class*='language-sh']::before {
+ content: 'shell';
+ background: green;
+ color:white
+}
+
+.highlight pre code[class*='language-json']::before{
+ content: 'json';
+ background: dodgerblue;
+ color: #000000
+}
+
+.highlight pre code[class*='language-python']::before,
+.highlight pre code[class*='language-py']::before {
+ content: 'py';
+ background: #2b688d;
+ color: white;
+}
+
+.highlight pre code[class*='language-css']::before{
+ content: 'css';
+ background: cyan;
+ color: black ;
+}
+
+.highlight pre code[class*='language-go']::before{
+ content: 'Go';
+ background: cyan;
+ color: royalblue ;
+}
+
+main figure {
+ padding-left: 1.25rem;
+ padding-right: 1.25rem;
+ padding-top: 0.75rem;
+ padding-bottom: 0.75rem;
+}
+
+main figure img {
+ max-height: 500px;
+}
+
+main figure h4 {
+ font-size: 0.875rem;
+ line-height: 1.25rem;
+ --tw-text-opacity: 1;
+ color: rgb(168 162 158 / var(--tw-text-opacity));
+ margin: 0px;
+ margin-bottom: 0.5rem;
+}
+
+main figure h4::before {
+ font-size: 0.875rem;
+ line-height: 1.25rem;
+ --tw-text-opacity: 1;
+ color: rgb(168 162 158 / var(--tw-text-opacity));
+ content: '↳ ';
+}
+
+.post-tags {
+ margin-top: 1rem;
+ margin-bottom: 1rem;
+}
+
+.post-tags ul {
+ margin-top: 0.5rem;
+ display: flex;
+ flex-wrap: wrap;
+ gap: 0.5rem;
+}
+
+.post-tags ul li a {
+ --tw-bg-opacity: 1;
+ background-color: rgb(68 64 60 / var(--tw-bg-opacity));
+ font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
+ --tw-text-opacity: 1;
+ color: rgb(214 211 209 / var(--tw-text-opacity));
+ border-radius: 0.5rem;
+ padding-left: 0.5rem;
+ padding-right: 0.5rem;
+ padding-top: 0.25rem;
+ padding-bottom: 0.25rem;
+}
+
+.post-tags ul li a:hover {
+ --tw-bg-opacity: 1;
+ background-color: rgb(249 168 212 / var(--tw-bg-opacity));
+ --tw-text-opacity: 1;
+ color: rgb(28 25 23 / var(--tw-text-opacity));
+}
+
+.post-tags ul li::before {
+ content: none;
+}
+
+h1.page-title {
+ margin-bottom: 1rem !important;
+}
+
+.home-post div.title::before {
+ content: '* ';
+}
+
+.home-post div.title time {
+ font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
+ font-size: 0.75rem;
+ line-height: 1rem;
+ --tw-text-opacity: 1;
+ color: rgb(168 162 158 / var(--tw-text-opacity));
+}
+
+.home-post p {
+ margin: 0px;
+ font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
+ font-size: 0.75rem;
+ line-height: 1rem;
+ --tw-text-opacity: 1;
+ color: rgb(214 211 209 / var(--tw-text-opacity));
+ padding-left: 1.25rem;
+}
+
+.pagination {
+ display: flex;
+ flex-direction: row;
+ justify-content: center;
+ gap: 0.5rem;
+ margin-top: 1rem;
+ margin-bottom: 1rem;
+}
+
+.hover\:bg-pink-300:hover {
+ --tw-bg-opacity: 1;
+ background-color: rgb(249 168 212 / var(--tw-bg-opacity));
+}
+
+@media (min-width: 768px) {
+ .md\:visible {
+ visibility: visible;
+ }
+
+ .md\:size-64 {
+ width: 16rem;
+ height: 16rem;
+ }
+
+ .md\:flex-row {
+ flex-direction: row;
+ }
+}
\ No newline at end of file
diff --git a/themes/aottr/assets/css/tailwind.css b/themes/aottr/assets/css/tailwind.css
new file mode 100644
index 0000000..1f0a35e
--- /dev/null
+++ b/themes/aottr/assets/css/tailwind.css
@@ -0,0 +1,313 @@
+@tailwind base;
+@tailwind components;
+@tailwind utilities;
+
+@layer base {
+ @font-face {
+ font-family: 'Nunito';
+ font-style: normal;
+ font-weight: 100 900;
+ font-display: swap;
+ src: url(/fonts/Nunito.ttf) format('truetype');
+ }
+}
+
+body {
+ @apply bg-stone-800 h-full min-h-screen;
+ @apply text-pink-100/90 font-mono;
+}
+
+header {
+ @apply w-full max-w-4xl mx-auto p-4;
+ @apply flex flex-row items-center;
+}
+
+main {
+ @apply w-full max-w-4xl mx-auto p-4;
+}
+
+footer {
+ @apply w-full max-w-4xl mx-auto p-4;
+ @apply text-stone-400 text-sm;
+}
+header h1 a, header h1 a:visited {
+ @apply flex flex-row items-center gap-2;
+ @apply text-pink-300;
+}
+header h1, header h1::before {
+ @apply text-2xl font-bold;
+ content: none;
+}
+
+header nav {
+ @apply flex-grow;
+}
+
+header nav ul {
+ @apply flex flex-row justify-end gap-3;
+}
+
+header nav ul li a,
+header nav ul li a:visited,
+header nav ul li::before {
+ @apply text-pink-300;
+ @apply border-b-4 border-pink-300;
+ content: none
+}
+
+a {
+ @apply text-pink-300;
+}
+
+a:hover, a:visited:hover {
+ @apply bg-pink-300 text-stone-900;
+}
+
+header nav ul li svg:hover {
+ @apply bg-pink-300 text-stone-900;
+}
+
+header nav ul li svg {
+ @apply h-7 w-7;
+}
+
+a:visited {
+ @apply text-fuchsia-400;
+}
+
+/* Typography */
+
+h1::before, h2::before, h3::before, h4::before, h5::before, h6::before {
+ @apply font-bold;
+ @apply text-pink-300;
+}
+
+h1::before { content: '# '; }
+h2::before { content: '## '; }
+h3::before { content: '### '; }
+h4::before { content: '#### '; }
+h5::before { content: '##### '; }
+h6::before { content: '###### '; }
+
+h1 { @apply text-2xl; }
+h2 { @apply text-xl; }
+h3 { @apply text-lg; }
+
+h1, h2, h3, h4, h5, h6 {
+ @apply mt-7 mb-3
+}
+
+/* Single page header */
+main h1:first-of-type {
+ @apply my-0;
+}
+
+main p {
+ @apply my-3;
+ @apply font-sans;
+ font-size: large;
+}
+
+main p code {
+ @apply bg-stone-700 text-sm text-stone-300;
+ @apply rounded-md;
+ @apply px-1 py-0.5;
+}
+
+.meta {
+ @apply text-sm text-stone-400;
+ @apply font-mono;
+}
+
+.tldr {
+ @apply text-sm text-stone-400 my-2;
+}
+
+.toc {
+ @apply rounded-lg bg-stone-700/30 p-2.5 w-fit my-6;
+ @apply flex flex-col gap-1 items-start;
+}
+
+.toc nav {
+ @apply inline-block
+}
+
+.callout {
+ @apply text-stone-300 bg-stone-700 shadow-stone-900;
+ @apply p-2.5 my-4;
+ @apply rounded-lg;
+}
+.callout-inner {
+ @apply flex flex-row gap-4 items-center text-sm;
+}
+.callout-inner p {
+ @apply text-base my-0;
+}
+
+.callout-inner .icon {
+ @apply w-8 h-8 stroke-current flex-none;
+}
+
+ul {
+ @apply list-none pl-2;
+}
+ul > li {
+ @apply font-sans;
+}
+ul > li::before {
+ content: '* ';
+ @apply font-bold text-pink-300 font-mono;
+}
+
+.tag-cloud ul > li::before {
+ content: '🏷 ';
+ @apply font-bold text-pink-300 font-mono;
+}
+
+strong {
+ @apply font-extrabold;
+}
+
+.highlight {
+ position: relative;
+ -webkit-overflow-scrolling: touch;
+}
+.highlight pre code[class*="language-"] {
+ -webkit-overflow-scrolling: touch;
+}
+
+.highlight pre {
+ @apply bg-stone-800 border-2 border-stone-700;
+ @apply rounded-lg text-sm p-4;
+}
+
+.highlight pre code[class*="language-"]::before {
+ @apply rounded-tr-lg rounded-bl-lg;
+ @apply text-xs text-white bg-black font-mono uppercase;
+ letter-spacing: 0.025rem;
+ @apply py-1 px-2 absolute top-0 right-0;
+ text-align: right;
+}
+
+.highlight pre code[class*='language-nix']::before,
+.highlight pre code[class*='language-nix']::before{
+ content: 'nix';
+ background: #4b7bc0;
+ color: whitesmoke ;
+}
+
+.highlight pre code[class*='language-caddy']::before,
+.highlight pre code[class*='language-caddy']::before{
+ content: 'caddy';
+ background: #021727;
+ color: #4da6d9;
+}
+
+.highlight pre code[class=language-javaScript]::before,
+.highlight pre code[class="language-js"]::before {
+ content: "js";
+ background: #f7df1e;
+ color: black;
+}
+
+
+.highlight pre code[class=language-TypeScript]::before,
+.highlight pre code[class="language-ts"]::before {
+ content: "TS";
+ background: #1a78bd;
+ color: white;
+}
+
+.highlight pre code[class*='language-yml']::before,
+.highlight pre code[class*='language-yaml']::before {
+ content: 'yaml';
+ background: #f71e6a;
+ color: white;
+}
+.highlight pre code[class*='language-shell']::before,
+.highlight pre code[class*='language-bash']::before,
+.highlight pre code[class*='language-sh']::before {
+ content: 'shell';
+ background: green;
+ color:white
+}
+.highlight pre code[class*='language-json']::before{
+ content: 'json';
+ background: dodgerblue;
+ color: #000000
+}
+.highlight pre code[class*='language-python']::before,
+.highlight pre code[class*='language-py']::before {
+ content: 'py';
+ background: #2b688d;
+ color: white;
+}
+.highlight pre code[class*='language-css']::before{
+ content: 'css';
+ background: cyan;
+ color: black ;
+}
+.highlight pre code[class*='language-go']::before{
+ content: 'Go';
+ background: cyan;
+ color: royalblue ;
+}
+
+main figure {
+ @apply px-5 py-3;
+}
+
+main figure img {
+ max-height: 500px;
+}
+
+main figure h4 {
+ @apply text-sm text-stone-400;
+ @apply m-0 mb-2;
+}
+main figure h4::before {
+ @apply text-sm text-stone-400;
+ content: '↳ ';
+}
+
+.post-tags {
+ @apply my-4;
+}
+
+.post-tags ul {
+ @apply flex flex-wrap gap-2 mt-2;
+}
+
+.post-tags ul li a {
+ @apply bg-stone-700 text-stone-300 font-mono;
+ @apply rounded-lg px-2 py-1;
+}
+.post-tags ul li a:hover {
+ @apply bg-pink-300 text-stone-900;
+}
+
+.post-tags ul li::before {
+ content: none;
+}
+
+h1.page-title {
+ @apply mb-4 !important;
+}
+
+.home-post div.title::before {
+ content: '* ';
+}
+
+.home-post div.title time {
+ @apply text-stone-400 text-xs font-mono;
+}
+
+.home-post p {
+ @apply m-0 text-xs text-stone-300 font-mono;
+ @apply pl-5;
+}
+
+.pagination {
+ @apply flex flex-row gap-2 justify-center;
+ @apply my-4;
+}
\ No newline at end of file
diff --git a/themes/aottr/assets/js/main.js b/themes/aottr/assets/js/main.js
new file mode 100644
index 0000000..e2aac52
--- /dev/null
+++ b/themes/aottr/assets/js/main.js
@@ -0,0 +1 @@
+console.log('This site was generated by Hugo.');
diff --git a/themes/aottr/layouts/_default/baseof.html b/themes/aottr/layouts/_default/baseof.html
new file mode 100644
index 0000000..479c897
--- /dev/null
+++ b/themes/aottr/layouts/_default/baseof.html
@@ -0,0 +1,17 @@
+
+
+
+ {{ partial "head.html" . }}
+
+
+
+ {{ partial "header.html" . }}
+
+
+ {{ block "main" . }}{{ end }}
+
+
+ {{ partial "footer.html" . }}
+
+
+
diff --git a/themes/aottr/layouts/_default/home.html b/themes/aottr/layouts/_default/home.html
new file mode 100644
index 0000000..d04d577
--- /dev/null
+++ b/themes/aottr/layouts/_default/home.html
@@ -0,0 +1,30 @@
+{{ define "main" }}
+ {{ .Content }}
+
+
+
+
Hi, I'm Alex! {{ ":coffee:" | .RenderString }}
+
I'm a software and devops engineer, living in France. Expect some posts about software engineering,
+ devops and other tech-related topics. I'm using NixOS btw.
+
+
+ Subscribe to my
RSS feed or follow me on
mastodon to get the latest updates!
+
+
+
+
+
+ Recent Posts
+ {{ $pages := where .Site.RegularPages "Type" "in" .Site.Params.mainSections }}
+ {{ $paginator := .Paginate (where $pages "Params.hidden" "ne" true) }}
+ {{ range $paginator.Pages }}
+
+ {{ end }}
+ {{ template "partials/paginator.html" . }}
+{{ end }}
diff --git a/themes/aottr/layouts/_default/list.html b/themes/aottr/layouts/_default/list.html
new file mode 100644
index 0000000..c55b269
--- /dev/null
+++ b/themes/aottr/layouts/_default/list.html
@@ -0,0 +1,17 @@
+{{ define "main" }}
+{{ if isset .Data "Term" }}
+Entries tagged - "{{ .Data.Term }}"
+{{ else }}
+All posts
+{{ end }}
+
+ {{ .Content }}
+ {{ range .Data.Pages }}
+
+ {{ end }}
+{{ end }}
diff --git a/themes/aottr/layouts/_default/rss.xml b/themes/aottr/layouts/_default/rss.xml
new file mode 100644
index 0000000..c63309b
--- /dev/null
+++ b/themes/aottr/layouts/_default/rss.xml
@@ -0,0 +1,71 @@
+{{- /* Deprecate site.Author.email in favor of site.Params.author.email */}}
+{{- $authorEmail := "" }}
+{{- with site.Params.author }}
+ {{- if reflect.IsMap . }}
+ {{- with .email }}
+ {{- $authorEmail = . }}
+ {{- end }}
+ {{- end }}
+{{- else }}
+ {{- with site.Author.email }}
+ {{- $authorEmail = . }}
+ {{- warnf "The author key in site configuration is deprecated. Use params.author.email instead." }}
+ {{- end }}
+{{- end }}
+
+{{- /* Deprecate site.Author.name in favor of site.Params.author.name */}}
+{{- $authorName := "" }}
+{{- with site.Params.author }}
+ {{- if reflect.IsMap . }}
+ {{- with .name }}
+ {{- $authorName = . }}
+ {{- end }}
+ {{- else }}
+ {{- $authorName = . }}
+ {{- end }}
+{{- else }}
+ {{- with site.Author.name }}
+ {{- $authorName = . }}
+ {{- warnf "The author key in site configuration is deprecated. Use params.author.name instead." }}
+ {{- end }}
+{{- end }}
+
+{{- $pctx := . }}
+{{- if .IsHome }}{{ $pctx = .Site }}{{ end }}
+{{- $pages := slice }}
+{{- if or $.IsHome $.IsSection }}
+{{- $pages = (where (where $pctx.RegularPages ".Section" "posts") "Kind" "page") -}}
+{{- else }}
+{{- $pages = (where (where $pctx.Pages ".Section" "posts") "Kind" "page") -}}
+{{- end }}
+{{- $limit := .Site.Config.Services.RSS.Limit }}
+{{- if ge $limit 1 }}
+{{- $pages = $pages | first $limit }}
+{{- end }}
+{{- printf "" | safeHTML }}
+
+
+ {{ if eq .Title .Site.Title }}{{ .Site.Title }}{{ else }}{{ with .Title }}{{ . }} on {{ end }}{{ .Site.Title }}{{ end }}
+ {{ .Permalink }}
+ Recent content {{ if ne .Title .Site.Title }}{{ with .Title }}in {{ . }} {{ end }}{{ end }}on {{ .Site.Title }}
+ Otter
+ {{ site.Language.LanguageCode }} {{ with $authorEmail }}
+ {{.}}{{ with $authorName }} ({{ . }}){{ end }} {{ end }}{{ with $authorEmail }}
+ {{ . }}{{ with $authorName }} ({{ . }}){{ end }} {{ end }}{{ with .Site.Copyright }}
+ {{ . }} {{ end }}{{ if not .Date.IsZero }}
+ {{ (index $pages.ByLastmod.Reverse 0).Lastmod.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }} {{ end }}
+ {{- with .OutputFormats.Get "RSS" }}
+ {{ printf " " .Permalink .MediaType | safeHTML }}
+ {{- end }}
+ {{- range $pages }}
+ -
+
{{ .Title }}
+ {{ .Permalink }}
+ {{ .PublishDate.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}
+ {{- with $authorEmail }}{{ . }}{{ with $authorName }} ({{ . }}){{ end }} {{ end }}
+ {{ .Permalink }}
+ {{ .Content | transform.XMLEscape | safeHTML }}
+
+ {{- end }}
+
+
\ No newline at end of file
diff --git a/themes/aottr/layouts/_default/single.html b/themes/aottr/layouts/_default/single.html
new file mode 100644
index 0000000..b019971
--- /dev/null
+++ b/themes/aottr/layouts/_default/single.html
@@ -0,0 +1,39 @@
+{{ define "main" }}
+
+ {{ .Title }}
+ {{ $dateMachine := .Date | time.Format "2006-01-02T15:04:05-07:00" }}
+ {{ $dateHuman := .Date | time.Format ":date_long" }}
+
+ {{ $dateHuman }} , {{ .WordCount }} words, {{ .ReadingTime }} minutes to read
+
+
+ {{ if isset .Params "tldr" }}
+
+ TL;DR:
+ {{ .Params.tldr }}
+
+ {{ end }}
+
+ {{ if isset .Params "toc" }}
+
+ Table of contents:
+ {{ .TableOfContents }}
+
+ {{ end }}
+
+ {{ .Content }}
+
+ {{ partial "terms.html" (dict "taxonomy" "tags" "page" .) }}
+
+
+
+
+
+{{ end }}
diff --git a/themes/aottr/layouts/_default/terms.html b/themes/aottr/layouts/_default/terms.html
new file mode 100644
index 0000000..fea9c2f
--- /dev/null
+++ b/themes/aottr/layouts/_default/terms.html
@@ -0,0 +1,20 @@
+{{ define "main" }}
+All tags
+
+{{ $biggest := 1 }}
+{{ $smallest := 1 }}
+{{ $max := 3 }}
+{{ $min := 1 }}
+{{ $size := $min }}
+
+{{ $data := .Data }}
+
+{{ end }}
diff --git a/themes/aottr/layouts/partials/footer.html b/themes/aottr/layouts/partials/footer.html
new file mode 100644
index 0000000..6991640
--- /dev/null
+++ b/themes/aottr/layouts/partials/footer.html
@@ -0,0 +1,30 @@
+
+
Copyright {{ now.Year }} A.Ottr — All rights reserved.
+
+
diff --git a/themes/aottr/layouts/partials/head.html b/themes/aottr/layouts/partials/head.html
new file mode 100644
index 0000000..02c2240
--- /dev/null
+++ b/themes/aottr/layouts/partials/head.html
@@ -0,0 +1,5 @@
+
+
+{{ if .IsHome }}{{ site.Title }}{{ else }}{{ printf "%s | %s" .Title site.Title }}{{ end }}
+{{ partialCached "head/css.html" . }}
+{{ partialCached "head/js.html" . }}
diff --git a/themes/aottr/layouts/partials/head/css.html b/themes/aottr/layouts/partials/head/css.html
new file mode 100644
index 0000000..91b928d
--- /dev/null
+++ b/themes/aottr/layouts/partials/head/css.html
@@ -0,0 +1,9 @@
+{{- with resources.Get "css/main.css" }}
+ {{- if eq hugo.Environment "development" }}
+
+ {{- else }}
+ {{- with . | minify | fingerprint }}
+
+ {{- end }}
+ {{- end }}
+{{- end }}
diff --git a/themes/aottr/layouts/partials/head/js.html b/themes/aottr/layouts/partials/head/js.html
new file mode 100644
index 0000000..18fe842
--- /dev/null
+++ b/themes/aottr/layouts/partials/head/js.html
@@ -0,0 +1,12 @@
+{{- with resources.Get "js/main.js" }}
+ {{- if eq hugo.Environment "development" }}
+ {{- with . | js.Build }}
+
+ {{- end }}
+ {{- else }}
+ {{- $opts := dict "minify" true }}
+ {{- with . | js.Build $opts | fingerprint }}
+
+ {{- end }}
+ {{- end }}
+{{- end }}
diff --git a/themes/aottr/layouts/partials/header.html b/themes/aottr/layouts/partials/header.html
new file mode 100644
index 0000000..eb49535
--- /dev/null
+++ b/themes/aottr/layouts/partials/header.html
@@ -0,0 +1,13 @@
+
+{{ partial "menu.html" (dict "menuID" "main" "page" .) }}
\ No newline at end of file
diff --git a/themes/aottr/layouts/partials/menu.html b/themes/aottr/layouts/partials/menu.html
new file mode 100644
index 0000000..6ae0859
--- /dev/null
+++ b/themes/aottr/layouts/partials/menu.html
@@ -0,0 +1,61 @@
+{{- /*
+Renders a menu for the given menu ID.
+
+@context {page} page The current page.
+@context {string} menuID The menu ID.
+
+@example: {{ partial "menu.html" (dict "menuID" "main" "page" .) }}
+*/}}
+
+{{- $page := .page }}
+{{- $menuID := .menuID }}
+
+{{- with index site.Menus $menuID }}
+
+
+ {{- partial "inline/menu/walk.html" (dict "page" $page "menuEntries" .) }}
+
+
+
+
+
+
+
+
+
+
+
+
+{{- end }}
+
+{{- define "partials/inline/menu/walk.html" }}
+ {{- $page := .page }}
+ {{- range .menuEntries }}
+ {{- $attrs := dict "href" .URL }}
+ {{- if $page.IsMenuCurrent .Menu . }}
+ {{- $attrs = merge $attrs (dict "class" "active" "aria-current" "page") }}
+ {{- else if $page.HasMenuCurrent .Menu .}}
+ {{- $attrs = merge $attrs (dict "class" "ancestor" "aria-current" "true") }}
+ {{- end }}
+ {{- $name := .Name }}
+ {{- with .Identifier }}
+ {{- with T . }}
+ {{- $name = . }}
+ {{- end }}
+ {{- end }}
+
+ {{ $name }}
+ {{- with .Children }}
+
+ {{- partial "inline/menu/walk.html" (dict "page" $page "menuEntries" .) }}
+
+ {{- end }}
+
+ {{- end }}
+{{- end }}
diff --git a/themes/aottr/layouts/partials/paginator.html b/themes/aottr/layouts/partials/paginator.html
new file mode 100644
index 0000000..5acc06d
--- /dev/null
+++ b/themes/aottr/layouts/partials/paginator.html
@@ -0,0 +1,15 @@
+{{ $pag := $.Paginator }}
+{{ if gt $pag.TotalPages 1 }}
+
+{{ end }}
diff --git a/themes/aottr/layouts/partials/terms.html b/themes/aottr/layouts/partials/terms.html
new file mode 100644
index 0000000..8a6ebec
--- /dev/null
+++ b/themes/aottr/layouts/partials/terms.html
@@ -0,0 +1,23 @@
+{{- /*
+For a given taxonomy, renders a list of terms assigned to the page.
+
+@context {page} page The current page.
+@context {string} taxonomy The taxonomy.
+
+@example: {{ partial "terms.html" (dict "taxonomy" "tags" "page" .) }}
+*/}}
+
+{{- $page := .page }}
+{{- $taxonomy := .taxonomy }}
+
+{{- with $page.GetTerms $taxonomy }}
+ {{- $label := (index . 0).Parent.LinkTitle }}
+
+{{- end }}
diff --git a/themes/aottr/layouts/shortcodes/callout.html b/themes/aottr/layouts/shortcodes/callout.html
new file mode 100644
index 0000000..d9caff1
--- /dev/null
+++ b/themes/aottr/layouts/shortcodes/callout.html
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
{{ .Get "text" }}
+
+
\ No newline at end of file
diff --git a/themes/aottr/package-lock.json b/themes/aottr/package-lock.json
new file mode 100644
index 0000000..09d6f3e
--- /dev/null
+++ b/themes/aottr/package-lock.json
@@ -0,0 +1,1390 @@
+{
+ "name": "aottr",
+ "version": "1.0.0",
+ "lockfileVersion": 3,
+ "requires": true,
+ "packages": {
+ "": {
+ "name": "aottr",
+ "version": "1.0.0",
+ "license": "ISC",
+ "devDependencies": {
+ "tailwindcss": "^3.4.10"
+ }
+ },
+ "node_modules/@alloc/quick-lru": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz",
+ "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/@isaacs/cliui": {
+ "version": "8.0.2",
+ "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz",
+ "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==",
+ "dev": true,
+ "dependencies": {
+ "string-width": "^5.1.2",
+ "string-width-cjs": "npm:string-width@^4.2.0",
+ "strip-ansi": "^7.0.1",
+ "strip-ansi-cjs": "npm:strip-ansi@^6.0.1",
+ "wrap-ansi": "^8.1.0",
+ "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@jridgewell/gen-mapping": {
+ "version": "0.3.5",
+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz",
+ "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==",
+ "dev": true,
+ "dependencies": {
+ "@jridgewell/set-array": "^1.2.1",
+ "@jridgewell/sourcemap-codec": "^1.4.10",
+ "@jridgewell/trace-mapping": "^0.3.24"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@jridgewell/resolve-uri": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
+ "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
+ "dev": true,
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@jridgewell/set-array": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz",
+ "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==",
+ "dev": true,
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@jridgewell/sourcemap-codec": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz",
+ "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==",
+ "dev": true
+ },
+ "node_modules/@jridgewell/trace-mapping": {
+ "version": "0.3.25",
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz",
+ "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==",
+ "dev": true,
+ "dependencies": {
+ "@jridgewell/resolve-uri": "^3.1.0",
+ "@jridgewell/sourcemap-codec": "^1.4.14"
+ }
+ },
+ "node_modules/@nodelib/fs.scandir": {
+ "version": "2.1.5",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
+ "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
+ "dev": true,
+ "dependencies": {
+ "@nodelib/fs.stat": "2.0.5",
+ "run-parallel": "^1.1.9"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@nodelib/fs.stat": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
+ "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
+ "dev": true,
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@nodelib/fs.walk": {
+ "version": "1.2.8",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
+ "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
+ "dev": true,
+ "dependencies": {
+ "@nodelib/fs.scandir": "2.1.5",
+ "fastq": "^1.6.0"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@pkgjs/parseargs": {
+ "version": "0.11.0",
+ "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz",
+ "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==",
+ "dev": true,
+ "optional": true,
+ "engines": {
+ "node": ">=14"
+ }
+ },
+ "node_modules/ansi-regex": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz",
+ "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==",
+ "dev": true,
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-regex?sponsor=1"
+ }
+ },
+ "node_modules/ansi-styles": {
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz",
+ "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==",
+ "dev": true,
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/any-promise": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz",
+ "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==",
+ "dev": true
+ },
+ "node_modules/anymatch": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
+ "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
+ "dev": true,
+ "dependencies": {
+ "normalize-path": "^3.0.0",
+ "picomatch": "^2.0.4"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/arg": {
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz",
+ "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==",
+ "dev": true
+ },
+ "node_modules/balanced-match": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
+ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
+ "dev": true
+ },
+ "node_modules/binary-extensions": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz",
+ "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/brace-expansion": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "dev": true,
+ "dependencies": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "node_modules/braces": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
+ "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
+ "dev": true,
+ "dependencies": {
+ "fill-range": "^7.1.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/camelcase-css": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz",
+ "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==",
+ "dev": true,
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/chokidar": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz",
+ "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==",
+ "dev": true,
+ "dependencies": {
+ "anymatch": "~3.1.2",
+ "braces": "~3.0.2",
+ "glob-parent": "~5.1.2",
+ "is-binary-path": "~2.1.0",
+ "is-glob": "~4.0.1",
+ "normalize-path": "~3.0.0",
+ "readdirp": "~3.6.0"
+ },
+ "engines": {
+ "node": ">= 8.10.0"
+ },
+ "funding": {
+ "url": "https://paulmillr.com/funding/"
+ },
+ "optionalDependencies": {
+ "fsevents": "~2.3.2"
+ }
+ },
+ "node_modules/chokidar/node_modules/glob-parent": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+ "dev": true,
+ "dependencies": {
+ "is-glob": "^4.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "node_modules/commander": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz",
+ "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==",
+ "dev": true,
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/cross-spawn": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
+ "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
+ "dev": true,
+ "dependencies": {
+ "path-key": "^3.1.0",
+ "shebang-command": "^2.0.0",
+ "which": "^2.0.1"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/cssesc": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
+ "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
+ "dev": true,
+ "bin": {
+ "cssesc": "bin/cssesc"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/didyoumean": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz",
+ "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==",
+ "dev": true
+ },
+ "node_modules/dlv": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz",
+ "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==",
+ "dev": true
+ },
+ "node_modules/eastasianwidth": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
+ "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==",
+ "dev": true
+ },
+ "node_modules/emoji-regex": {
+ "version": "9.2.2",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
+ "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
+ "dev": true
+ },
+ "node_modules/fast-glob": {
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz",
+ "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==",
+ "dev": true,
+ "dependencies": {
+ "@nodelib/fs.stat": "^2.0.2",
+ "@nodelib/fs.walk": "^1.2.3",
+ "glob-parent": "^5.1.2",
+ "merge2": "^1.3.0",
+ "micromatch": "^4.0.4"
+ },
+ "engines": {
+ "node": ">=8.6.0"
+ }
+ },
+ "node_modules/fast-glob/node_modules/glob-parent": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+ "dev": true,
+ "dependencies": {
+ "is-glob": "^4.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/fastq": {
+ "version": "1.17.1",
+ "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz",
+ "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==",
+ "dev": true,
+ "dependencies": {
+ "reusify": "^1.0.4"
+ }
+ },
+ "node_modules/fill-range": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
+ "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
+ "dev": true,
+ "dependencies": {
+ "to-regex-range": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/foreground-child": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz",
+ "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==",
+ "dev": true,
+ "dependencies": {
+ "cross-spawn": "^7.0.0",
+ "signal-exit": "^4.0.1"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/fsevents": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
+ "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
+ "dev": true,
+ "hasInstallScript": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
+ }
+ },
+ "node_modules/function-bind": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
+ "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
+ "dev": true,
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/glob": {
+ "version": "10.4.5",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz",
+ "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==",
+ "dev": true,
+ "dependencies": {
+ "foreground-child": "^3.1.0",
+ "jackspeak": "^3.1.2",
+ "minimatch": "^9.0.4",
+ "minipass": "^7.1.2",
+ "package-json-from-dist": "^1.0.0",
+ "path-scurry": "^1.11.1"
+ },
+ "bin": {
+ "glob": "dist/esm/bin.mjs"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/glob-parent": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
+ "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
+ "dev": true,
+ "dependencies": {
+ "is-glob": "^4.0.3"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ }
+ },
+ "node_modules/hasown": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
+ "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
+ "dev": true,
+ "dependencies": {
+ "function-bind": "^1.1.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/is-binary-path": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
+ "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
+ "dev": true,
+ "dependencies": {
+ "binary-extensions": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/is-core-module": {
+ "version": "2.15.0",
+ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.0.tgz",
+ "integrity": "sha512-Dd+Lb2/zvk9SKy1TGCt1wFJFo/MWBPMX5x7KcvLajWTGuomczdQX61PvY5yK6SVACwpoexWo81IfFyoKY2QnTA==",
+ "dev": true,
+ "dependencies": {
+ "hasown": "^2.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-extglob": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+ "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-fullwidth-code-point": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/is-glob": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
+ "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
+ "dev": true,
+ "dependencies": {
+ "is-extglob": "^2.1.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-number": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.12.0"
+ }
+ },
+ "node_modules/isexe": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
+ "dev": true
+ },
+ "node_modules/jackspeak": {
+ "version": "3.4.3",
+ "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz",
+ "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==",
+ "dev": true,
+ "dependencies": {
+ "@isaacs/cliui": "^8.0.2"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ },
+ "optionalDependencies": {
+ "@pkgjs/parseargs": "^0.11.0"
+ }
+ },
+ "node_modules/jiti": {
+ "version": "1.21.6",
+ "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.6.tgz",
+ "integrity": "sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==",
+ "dev": true,
+ "bin": {
+ "jiti": "bin/jiti.js"
+ }
+ },
+ "node_modules/lilconfig": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz",
+ "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/lines-and-columns": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
+ "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==",
+ "dev": true
+ },
+ "node_modules/lru-cache": {
+ "version": "10.4.3",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz",
+ "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==",
+ "dev": true
+ },
+ "node_modules/merge2": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
+ "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
+ "dev": true,
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/micromatch": {
+ "version": "4.0.7",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz",
+ "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==",
+ "dev": true,
+ "dependencies": {
+ "braces": "^3.0.3",
+ "picomatch": "^2.3.1"
+ },
+ "engines": {
+ "node": ">=8.6"
+ }
+ },
+ "node_modules/minimatch": {
+ "version": "9.0.5",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
+ "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
+ "dev": true,
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/minipass": {
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz",
+ "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==",
+ "dev": true,
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ }
+ },
+ "node_modules/mz": {
+ "version": "2.7.0",
+ "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz",
+ "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==",
+ "dev": true,
+ "dependencies": {
+ "any-promise": "^1.0.0",
+ "object-assign": "^4.0.1",
+ "thenify-all": "^1.0.0"
+ }
+ },
+ "node_modules/nanoid": {
+ "version": "3.3.7",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz",
+ "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "bin": {
+ "nanoid": "bin/nanoid.cjs"
+ },
+ "engines": {
+ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
+ }
+ },
+ "node_modules/normalize-path": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
+ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/object-assign": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/object-hash": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz",
+ "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==",
+ "dev": true,
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/package-json-from-dist": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz",
+ "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==",
+ "dev": true
+ },
+ "node_modules/path-key": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
+ "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/path-parse": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
+ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
+ "dev": true
+ },
+ "node_modules/path-scurry": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz",
+ "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==",
+ "dev": true,
+ "dependencies": {
+ "lru-cache": "^10.2.0",
+ "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/picocolors": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz",
+ "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==",
+ "dev": true
+ },
+ "node_modules/picomatch": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
+ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
+ "dev": true,
+ "engines": {
+ "node": ">=8.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "node_modules/pify": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/pirates": {
+ "version": "4.0.6",
+ "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz",
+ "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==",
+ "dev": true,
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/postcss": {
+ "version": "8.4.41",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.41.tgz",
+ "integrity": "sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/postcss"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "dependencies": {
+ "nanoid": "^3.3.7",
+ "picocolors": "^1.0.1",
+ "source-map-js": "^1.2.0"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14"
+ }
+ },
+ "node_modules/postcss-import": {
+ "version": "15.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz",
+ "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==",
+ "dev": true,
+ "dependencies": {
+ "postcss-value-parser": "^4.0.0",
+ "read-cache": "^1.0.0",
+ "resolve": "^1.1.7"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.0.0"
+ }
+ },
+ "node_modules/postcss-js": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz",
+ "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==",
+ "dev": true,
+ "dependencies": {
+ "camelcase-css": "^2.0.1"
+ },
+ "engines": {
+ "node": "^12 || ^14 || >= 16"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4.21"
+ }
+ },
+ "node_modules/postcss-load-config": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz",
+ "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "dependencies": {
+ "lilconfig": "^3.0.0",
+ "yaml": "^2.3.4"
+ },
+ "engines": {
+ "node": ">= 14"
+ },
+ "peerDependencies": {
+ "postcss": ">=8.0.9",
+ "ts-node": ">=9.0.0"
+ },
+ "peerDependenciesMeta": {
+ "postcss": {
+ "optional": true
+ },
+ "ts-node": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/postcss-load-config/node_modules/lilconfig": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.2.tgz",
+ "integrity": "sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==",
+ "dev": true,
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antonk52"
+ }
+ },
+ "node_modules/postcss-nested": {
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz",
+ "integrity": "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "dependencies": {
+ "postcss-selector-parser": "^6.1.1"
+ },
+ "engines": {
+ "node": ">=12.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.14"
+ }
+ },
+ "node_modules/postcss-selector-parser": {
+ "version": "6.1.2",
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz",
+ "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==",
+ "dev": true,
+ "dependencies": {
+ "cssesc": "^3.0.0",
+ "util-deprecate": "^1.0.2"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/postcss-value-parser": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
+ "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==",
+ "dev": true
+ },
+ "node_modules/queue-microtask": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
+ "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ]
+ },
+ "node_modules/read-cache": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz",
+ "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==",
+ "dev": true,
+ "dependencies": {
+ "pify": "^2.3.0"
+ }
+ },
+ "node_modules/readdirp": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
+ "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
+ "dev": true,
+ "dependencies": {
+ "picomatch": "^2.2.1"
+ },
+ "engines": {
+ "node": ">=8.10.0"
+ }
+ },
+ "node_modules/resolve": {
+ "version": "1.22.8",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz",
+ "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==",
+ "dev": true,
+ "dependencies": {
+ "is-core-module": "^2.13.0",
+ "path-parse": "^1.0.7",
+ "supports-preserve-symlinks-flag": "^1.0.0"
+ },
+ "bin": {
+ "resolve": "bin/resolve"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/reusify": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
+ "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
+ "dev": true,
+ "engines": {
+ "iojs": ">=1.0.0",
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/run-parallel": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
+ "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "dependencies": {
+ "queue-microtask": "^1.2.2"
+ }
+ },
+ "node_modules/shebang-command": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
+ "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
+ "dev": true,
+ "dependencies": {
+ "shebang-regex": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/shebang-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
+ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/signal-exit": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
+ "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
+ "dev": true,
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/source-map-js": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz",
+ "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/string-width": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
+ "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==",
+ "dev": true,
+ "dependencies": {
+ "eastasianwidth": "^0.2.0",
+ "emoji-regex": "^9.2.2",
+ "strip-ansi": "^7.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/string-width-cjs": {
+ "name": "string-width",
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "dev": true,
+ "dependencies": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/string-width-cjs/node_modules/ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/string-width-cjs/node_modules/emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+ "dev": true
+ },
+ "node_modules/string-width-cjs/node_modules/strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dev": true,
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/strip-ansi": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz",
+ "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==",
+ "dev": true,
+ "dependencies": {
+ "ansi-regex": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/strip-ansi?sponsor=1"
+ }
+ },
+ "node_modules/strip-ansi-cjs": {
+ "name": "strip-ansi",
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dev": true,
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/strip-ansi-cjs/node_modules/ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/sucrase": {
+ "version": "3.35.0",
+ "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz",
+ "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==",
+ "dev": true,
+ "dependencies": {
+ "@jridgewell/gen-mapping": "^0.3.2",
+ "commander": "^4.0.0",
+ "glob": "^10.3.10",
+ "lines-and-columns": "^1.1.6",
+ "mz": "^2.7.0",
+ "pirates": "^4.0.1",
+ "ts-interface-checker": "^0.1.9"
+ },
+ "bin": {
+ "sucrase": "bin/sucrase",
+ "sucrase-node": "bin/sucrase-node"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ }
+ },
+ "node_modules/supports-preserve-symlinks-flag": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
+ "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/tailwindcss": {
+ "version": "3.4.10",
+ "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.10.tgz",
+ "integrity": "sha512-KWZkVPm7yJRhdu4SRSl9d4AK2wM3a50UsvgHZO7xY77NQr2V+fIrEuoDGQcbvswWvFGbS2f6e+jC/6WJm1Dl0w==",
+ "dev": true,
+ "dependencies": {
+ "@alloc/quick-lru": "^5.2.0",
+ "arg": "^5.0.2",
+ "chokidar": "^3.5.3",
+ "didyoumean": "^1.2.2",
+ "dlv": "^1.1.3",
+ "fast-glob": "^3.3.0",
+ "glob-parent": "^6.0.2",
+ "is-glob": "^4.0.3",
+ "jiti": "^1.21.0",
+ "lilconfig": "^2.1.0",
+ "micromatch": "^4.0.5",
+ "normalize-path": "^3.0.0",
+ "object-hash": "^3.0.0",
+ "picocolors": "^1.0.0",
+ "postcss": "^8.4.23",
+ "postcss-import": "^15.1.0",
+ "postcss-js": "^4.0.1",
+ "postcss-load-config": "^4.0.1",
+ "postcss-nested": "^6.0.1",
+ "postcss-selector-parser": "^6.0.11",
+ "resolve": "^1.22.2",
+ "sucrase": "^3.32.0"
+ },
+ "bin": {
+ "tailwind": "lib/cli.js",
+ "tailwindcss": "lib/cli.js"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "node_modules/thenify": {
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz",
+ "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==",
+ "dev": true,
+ "dependencies": {
+ "any-promise": "^1.0.0"
+ }
+ },
+ "node_modules/thenify-all": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz",
+ "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==",
+ "dev": true,
+ "dependencies": {
+ "thenify": ">= 3.1.0 < 4"
+ },
+ "engines": {
+ "node": ">=0.8"
+ }
+ },
+ "node_modules/to-regex-range": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+ "dev": true,
+ "dependencies": {
+ "is-number": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=8.0"
+ }
+ },
+ "node_modules/ts-interface-checker": {
+ "version": "0.1.13",
+ "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz",
+ "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==",
+ "dev": true
+ },
+ "node_modules/util-deprecate": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
+ "dev": true
+ },
+ "node_modules/which": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "dev": true,
+ "dependencies": {
+ "isexe": "^2.0.0"
+ },
+ "bin": {
+ "node-which": "bin/node-which"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/wrap-ansi": {
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz",
+ "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==",
+ "dev": true,
+ "dependencies": {
+ "ansi-styles": "^6.1.0",
+ "string-width": "^5.0.1",
+ "strip-ansi": "^7.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+ }
+ },
+ "node_modules/wrap-ansi-cjs": {
+ "name": "wrap-ansi",
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+ "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+ "dev": true,
+ "dependencies": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+ }
+ },
+ "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+ "dev": true
+ },
+ "node_modules/wrap-ansi-cjs/node_modules/string-width": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "dev": true,
+ "dependencies": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dev": true,
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/yaml": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.5.0.tgz",
+ "integrity": "sha512-2wWLbGbYDiSqqIKoPjar3MPgB94ErzCtrNE1FdqGuaO0pi2JGjmE8aW8TDZwzU7vuxcGRdL/4gPQwQ7hD5AMSw==",
+ "dev": true,
+ "bin": {
+ "yaml": "bin.mjs"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ }
+ }
+}
diff --git a/themes/aottr/package.json b/themes/aottr/package.json
new file mode 100644
index 0000000..83950a4
--- /dev/null
+++ b/themes/aottr/package.json
@@ -0,0 +1,15 @@
+{
+ "name": "aottr",
+ "version": "1.0.0",
+ "description": "",
+ "main": "index.js",
+ "scripts": {
+ "start:css": "npx tailwindcss -i ./assets/css/tailwind.css -o ./assets/css/main.css -w"
+ },
+ "keywords": [],
+ "author": "",
+ "license": "ISC",
+ "devDependencies": {
+ "tailwindcss": "^3.4.10"
+ }
+}
diff --git a/themes/aottr/static/favicon.ico b/themes/aottr/static/favicon.ico
new file mode 100644
index 0000000000000000000000000000000000000000..67f8b777851849527933b78b1f98bd564d8255d1
GIT binary patch
literal 15406
zcmZQzU}Rus5D);-3Je)63=C!r3=9ei5Wa>W1H(KP1_lEI2tPxOf#H}a1A_(w1A_oa
z9Roz1fk+S-7^oi{96T*FH1uXjNXQQm2C+e6AURydSXx?g1_uYv3=Iwa8yXt=9|!&m
zQsdy@z=3QIh#wjndH{zW46{N)LJolRz|05@4F%bYp$?yUAa{WDhlYk45O6atbN>be
z1Q>wA1)n|m=g>S|la?g4BZafb_yJDE~myG2Z+GQiHA+W(J4``3V#*
zpm+hrEeM0yATf{}NDVbHsGLz?U|?_{v7Eu>20uSP-jI-xh>(zwSs@`IXF@|mUx$W<
z{(|DyAhD2;kl7$LAho#6AyqsyG*ks@?pJK_jZG{hB;+ed4@fVm_QBMLhK6#6goJd5
zhK7=zk3o8&W^lsHC5HC%^8@+$5;nh)BNh@8aw#AnK$#f3q2=x?a_qsUCnO{UWTpW=
zH-Ov-RYz92gU^1D9LQ{t9oXCeito_SP^yJF$UYnxWCuoifTk0g_#53F!NI}Z$YB7=
zC!n;7u8xL$P@YnOxgj((bPf&e!WyQ*!NGGt_IrAI@`1_=dfN}O6KZz^z3qnC2P&&U
zqT6=V3M*Lo3#tR4ZAGkkgj)8Yn**{FWH$&8bo~o*13lXx
zAiF?zB4bed3)D_U4<~B#p>|-jzd&vQwGBaSL~7d!GY@1o$PSQQxG=5S-=U$Q1l!**
zH-Y*ep`oFdVeX~^eVLHIVRpl4XnGis{uj&*AR3f6L3tHaUJx4&AhjSpAiW?nsDYv7
zB&`1psdO1qI0?+eJ-wU|^tFaBy%@XlUpMV#ApXbsvL+gDXIGQ8Qfy1_oM!
z(ltHC5YDh@P8&c9Y8R3qS20?a#@_cY`a1ObCFg7-3h33ys
zl)8rk{og=tz&HMl%YVVa!I_|Nr@(HMFeTR>QTg&&mn$(&!J$bE#u3!105L(5id$%Y{$BqSG9
zei1TjpyWYr3k(b_$L4r{e}CDKkPuqdO;m}WkdTm%==C(H?GX|ZGGm~^l~j8}LP8dU
z+zg8cQ2Qw)B;*09<_wg2PCrZzmVZI{0OV#+Sri%?$^&Z0Qp;?5
znFDpRP*6~iWN2vUQ+nA;MSGrt`aqyM0aUh9(OjyOGlbj&a&vHSuy066NG&0?gH=8x
zB&01QBxK`Ybsr&jf!YcoAt6@@sT-{FAt524^+az6tNRGKDm{sGkk
z&@q|;u^-(%Wbi>_7ehMzgoK1#A;aH;BECT5e4(MC>xZiQLqkKi4)yvgFfh;tR2L7m
zH~_gBG-eEHzk$YIhoJi(gT}pwdixpFhXIWbLDyXmigJaBwD1e$W>EhHcaZm;fl9LDMp5E%Q6jIA3sZ@FtL&fPer8kRFg;SQ{AK+)@5$
I2+$)00BA>u3;+NC
literal 0
HcmV?d00001
diff --git a/themes/aottr/static/fonts/Nunito.ttf b/themes/aottr/static/fonts/Nunito.ttf
new file mode 100644
index 0000000000000000000000000000000000000000..0a00f63fe98df5edcbdf872cf7e686e082a0cc6c
GIT binary patch
literal 277844
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