diff options
Diffstat (limited to 'assets/css/utils')
| -rw-r--r-- | assets/css/utils/_mixins.scss | 11 | ||||
| -rw-r--r-- | assets/css/utils/_reset.scss | 59 | ||||
| -rw-r--r-- | assets/css/utils/_utility.scss | 52 | ||||
| -rw-r--r-- | assets/css/utils/_variables.scss | 58 |
4 files changed, 180 insertions, 0 deletions
diff --git a/assets/css/utils/_mixins.scss b/assets/css/utils/_mixins.scss new file mode 100644 index 00000000..d7a5d03d --- /dev/null +++ b/assets/css/utils/_mixins.scss @@ -0,0 +1,11 @@ +@mixin small-button { + background-color: var(--block-background-color); + padding: 0.2rem 0.5rem; + text-decoration: none; + border-radius: 0.2rem; + border: 1px solid var(--background-color); + transition: border-color 0.3s ease; + &:hover, .active & { + border: 1px solid var(--text-color) + } +} diff --git a/assets/css/utils/_reset.scss b/assets/css/utils/_reset.scss new file mode 100644 index 00000000..8d548646 --- /dev/null +++ b/assets/css/utils/_reset.scss @@ -0,0 +1,59 @@ +body { + font-family: var(--serif-font-family); + -webkit-font-smoothing: antialiased; + margin: 0 20px; + color: var(--text-color); + position: relative; + + /* background */ + background-image: url("data:image/svg+xml,%3Csvg width='180' height='180' viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M82.42 180h-1.415L0 98.995v-2.827L6.167 90 0 83.833V81.004L81.005 0h2.827L90 6.167 96.167 0H98.996L180 81.005v2.827L173.833 90 180 96.167V98.996L98.995 180h-2.827L90 173.833 83.833 180H82.42zm0-1.414L1.413 97.58 8.994 90l-7.58-7.58L82.42 1.413 90 8.994l7.58-7.58 81.006 81.005-7.58 7.58 7.58 7.58-81.005 81.006-7.58-7.58-7.58 7.58zM175.196 0h-25.832c1.033 2.924 2.616 5.59 4.625 7.868C152.145 9.682 151 12.208 151 15c0 5.523 4.477 10 10 10 1.657 0 3 1.343 3 3v4h16V0h-4.803c.51.883.803 1.907.803 3 0 3.314-2.686 6-6 6s-6-2.686-6-6c0-1.093.292-2.117.803-3h10.394-13.685C161.18.938 161 1.948 161 3v4c-4.418 0-8 3.582-8 8s3.582 8 8 8c2.76 0 5 2.24 5 5v2h4v-4h2v4h4v-4h2v4h2V0h-4.803zm-15.783 0c-.27.954-.414 1.96-.414 3v2.2c-1.25.254-2.414.74-3.447 1.412-1.716-1.93-3.098-4.164-4.054-6.612h7.914zM180 17h-3l2.143-10H180v10zm-30.635 163c-.884-2.502-1.365-5.195-1.365-8 0-13.255 10.748-24 23.99-24H180v32h-30.635zm12.147 0c.5-1.416 1.345-2.67 2.434-3.66l-1.345-1.48c-1.498 1.364-2.62 3.136-3.186 5.14H151.5c-.97-2.48-1.5-5.177-1.5-8 0-12.15 9.84-22 22-22h8v30h-18.488zm13.685 0c-1.037-1.793-2.976-3-5.197-3-2.22 0-4.16 1.207-5.197 3h10.394zM0 148h8.01C21.26 148 32 158.742 32 172c0 2.805-.48 5.498-1.366 8H0v-32zm0 2h8c12.15 0 22 9.847 22 22 0 2.822-.53 5.52-1.5 8h-7.914c-.567-2.004-1.688-3.776-3.187-5.14l-1.346 1.48c1.09.99 1.933 2.244 2.434 3.66H0v-30zm15.197 30c-1.037-1.793-2.976-3-5.197-3-2.22 0-4.16 1.207-5.197 3h10.394zM0 32h16v-4c0-1.657 1.343-3 3-3 5.523 0 10-4.477 10-10 0-2.794-1.145-5.32-2.992-7.134C28.018 5.586 29.6 2.924 30.634 0H0v32zm0-2h2v-4h2v4h4v-4h2v4h4v-2c0-2.76 2.24-5 5-5 4.418 0 8-3.582 8-8s-3.582-8-8-8V3c0-1.052-.18-2.062-.512-3H0v30zM28.5 0c-.954 2.448-2.335 4.683-4.05 6.613-1.035-.672-2.2-1.16-3.45-1.413V3c0-1.04-.144-2.046-.414-3H28.5zM0 17h3L.857 7H0v10zM15.197 0c.51.883.803 1.907.803 3 0 3.314-2.686 6-6 6S4 6.314 4 3c0-1.093.292-2.117.803-3h10.394zM109 115c-1.657 0-3 1.343-3 3v4H74v-4c0-1.657-1.343-3-3-3-5.523 0-10-4.477-10-10 0-2.793 1.145-5.318 2.99-7.132C60.262 93.638 58 88.084 58 82c0-13.255 10.748-24 23.99-24h16.02C111.26 58 122 68.742 122 82c0 6.082-2.263 11.636-5.992 15.866C117.855 99.68 119 102.206 119 105c0 5.523-4.477 10-10 10zm0-2c-2.76 0-5 2.24-5 5v2h-4v-4h-2v4h-4v-4h-2v4h-4v-4h-2v4h-4v-4h-2v4h-4v-2c0-2.76-2.24-5-5-5-4.418 0-8-3.582-8-8s3.582-8 8-8v-4c0-2.64 1.136-5.013 2.946-6.66L72.6 84.86C70.39 86.874 69 89.775 69 93v2.2c-1.25.254-2.414.74-3.447 1.412C62.098 92.727 60 87.61 60 82c0-12.15 9.84-22 22-22h16c12.15 0 22 9.847 22 22 0 5.61-2.097 10.728-5.55 14.613-1.035-.672-2.2-1.16-3.45-1.413V93c0-3.226-1.39-6.127-3.6-8.14l-1.346 1.48C107.864 87.987 109 90.36 109 93v4c4.418 0 8 3.582 8 8s-3.582 8-8 8zM90.857 97L93 107h-6l2.143-10h1.714zM80 99c3.314 0 6-2.686 6-6s-2.686-6-6-6-6 2.686-6 6 2.686 6 6 6zm20 0c3.314 0 6-2.686 6-6s-2.686-6-6-6-6 2.686-6 6 2.686 6 6 6z' fill='var(--block-background-color)' fill-opacity='0.018' fill-rule='evenodd'/%3E%3C/svg%3E"); + background-color: var(--background-color); + background-size: 5rem; +} + +article { + max-width: var(--page-width); + margin: 0 auto +} + +a { + color: var(--text-color); + text-decoration: none; + text-underline-offset: 0.25rem; +} + +a:hover { + text-decoration: underline; +} + +button { + border: none; + outline: none; + color: var(--text-color); + font-size: 1rem; + font-family: var(--serif-font-family); + cursor: pointer +} + +.button { + display: block; + background-color: var(--block-background-color); + width: 100%; + padding: .5rem; + font-size: 1rem; + text-align: center; + box-sizing: border-box; + @include bordered; + + &a { + text-decoration: none; + &:hover { + text-decoration: none; + } + } +} + +hr { + margin: 2.5rem auto; + border: 0.05rem solid var(--border-color); +} diff --git a/assets/css/utils/_utility.scss b/assets/css/utils/_utility.scss new file mode 100644 index 00000000..a9907339 --- /dev/null +++ b/assets/css/utils/_utility.scss @@ -0,0 +1,52 @@ +.dark { + .invert-if-dark { + filter: invert(1) + } +} + +@media (prefers-color-scheme: dark) { + .invert-if-dark { + filter: invert(1) + } +} + +figure { + &.small { + width: 300px; + } + &.card { + width: fit-content; + img { + height: 18rem; + } + } + &.center { + margin: 0 auto; + figcaption { + text-align: center + } + } +} + +.outbox { + display: flex; + justify-content: center; + + // Default width + width: var(--page-width); + + // Properly interpolate calc() in media queries + @media screen and (min-width: 768px) { + width: calc(var(--page-width) + 5rem * 2); + margin: 0 -5rem; + } + + @media screen and (min-width: 1200px) { + width: calc(var(--page-width) + 10rem * 2); + margin: 0 -10rem; + } +} + +.font-mono { + font-family: var(--mono-font-family); +} diff --git a/assets/css/utils/_variables.scss b/assets/css/utils/_variables.scss new file mode 100644 index 00000000..455fa5b9 --- /dev/null +++ b/assets/css/utils/_variables.scss @@ -0,0 +1,58 @@ +:root { + /* colors */ + --background-color: #f5f5f7; + --block-background-color: rgb(var(--block-background-color-rgb)); + --block-background-color-rgb: 233, 232, 237; + --border-color: #d0d7de; + --text-color: #1d1d1f; + --secondary-text-color: #6e6e73; + --link-color: #277bd9; + --bright-background-color: #fafafa; + + /* fonts */ + --mono-font-family: + "Courier New", Courier, "Menlo", "Monaco", Consolas, "Liberation Mono", + "Lucida Console", monospace; + --serif-font-family: "Noto Serif", "Noto Serif SC", serif; + --content-font-size: 20px; + + --page-width: 650px; + --page-header-top: 5rem; + + /* pagefind custom css */ + --pagefind-ui-primary: var(--text-color); + --pagefind-ui-text: var(--text-color); + --pagefind-ui-background: var(--background-color); + --pagefind-ui-border: var(--border-color); + --pagefind-ui-tag: var(--border-color); +} + +html[lang="en-US"] { + --serif-font-family: "Playfair Display", serif; +} + +@mixin variablesInDarkMode { + --background-color: #1d2021; + --block-background-color: rgb(var(--block-background-color-rgb)); + --block-background-color-rgb: 24, 26, 27; + --border-color: rgba(255, 255, 255, 0.2); + --text-color: #d2cec9; + --secondary-text-color: #a1998d; + --link-color: #277bd9; + --bright-background-color: #666; +} + +.dark { + @include variablesInDarkMode; +} + +@media (prefers-color-scheme: dark) { + :root { + @include variablesInDarkMode; + } +} + +@mixin bordered { + border-radius: 0.5rem; + border: 1px solid var(--border-color); +} |
