chore: migrate libsass to dartsass (#562)
| | |
| | | steps: |
| | | - name: checkout |
| | | uses: actions/checkout@v4 |
| | | - name: install dart sass |
| | | run: sudo snap install dart-sass --edge |
| | | - name: setup hugo |
| | | uses: peaceiris/actions-hugo@v3 |
| | | with: |
| | |
| | | - name: setup node |
| | | uses: actions/setup-node@v4 |
| | | with: |
| | | node-version: 22 |
| | | node-version: 24 |
| | | - name: install |
| | | run: | |
| | | npm ci |
| | |
| | | @import 'hugo:vars'; |
| | | @import './modules/variables'; |
| | | @import './modules/config'; |
| | | @import './modules/color_theme'; |
| | | @import './partials/hugo'; |
| | | @import './partials/base'; |
| | | @import './partials/layout/html'; |
| | | @import './partials/layout/body'; |
| | | @import './partials/layout/header'; |
| | | @import './partials/layout/nav'; |
| | | @import './partials/components/animated'; |
| | | @import './partials/components/category'; |
| | | @import './partials/components/tag'; |
| | | @import './partials/components/wrapper'; |
| | | @import './partials/components/sidebar'; |
| | | @import './partials/components/footer'; |
| | | @import './partials/components/pagination'; |
| | | @import './partials/components/navbarburger'; |
| | | @import './partials/components/comment'; |
| | | @import './partials/components/optionswitch'; |
| | | @import './partials/components/post'; |
| | | @import './partials/components/alert'; |
| | | @import './partials/components/portfolio'; |
| | | @import './partials/components/page404'; |
| | | @import './partials/components/archive'; |
| | | @import './partials/components/notice'; |
| | | @import './partials/vendors/mediumzoom'; |
| | | @import './partials/vendors/contactform'; |
| | | @import './partials/vendors/tableofcontents'; |
| | | @import './partials/vendors/table'; |
| | | @use 'modules/variables' as *; |
| | | @use 'modules/config'; |
| | | @use 'modules/color_theme'; |
| | | @use 'partials/hugo'; |
| | | @use 'partials/base'; |
| | | @use 'partials/layout/html'; |
| | | @use 'partials/layout/body'; |
| | | @use 'partials/layout/header'; |
| | | @use 'partials/layout/nav'; |
| | | @use 'partials/components/animated'; |
| | | @use 'partials/components/category'; |
| | | @use 'partials/components/tag'; |
| | | @use 'partials/components/wrapper'; |
| | | @use 'partials/components/sidebar'; |
| | | @use 'partials/components/footer'; |
| | | @use 'partials/components/pagination'; |
| | | @use 'partials/components/navbarburger'; |
| | | @use 'partials/components/comment'; |
| | | @use 'partials/components/optionswitch'; |
| | | @use 'partials/components/post'; |
| | | @use 'partials/components/alert'; |
| | | @use 'partials/components/portfolio'; |
| | | @use 'partials/components/page404'; |
| | | @use 'partials/components/archive'; |
| | | @use 'partials/components/notice'; |
| | | @use 'partials/vendors/mediumzoom'; |
| | | @use 'partials/vendors/contactform'; |
| | | @use 'partials/vendors/tableofcontents'; |
| | | @use 'partials/vendors/table'; |
| | |
| | | @use 'modules/variables' as var; |
| | | @use "sass:map"; |
| | | |
| | | $themes: ( |
| | | light: ( |
| | | accent: $accent--lightmode, |
| | | primary: $primary--lightmode, |
| | | primary-light: $primary-light--lightmode, |
| | | primary-lighter: $primary-lighter--lightmode, |
| | | info: $info, |
| | | shadow: $shadow--lightmode, |
| | | border: 1px solid $primary-lighter--lightmode, |
| | | alert: $warning, |
| | | success: $success, |
| | | warning: $warning, |
| | | danger: $danger, |
| | | accent: var.$accent--lightmode, |
| | | primary: var.$primary--lightmode, |
| | | primary-light: var.$primary-light--lightmode, |
| | | primary-lighter: var.$primary-lighter--lightmode, |
| | | info: var.$info, |
| | | shadow: var.$shadow--lightmode, |
| | | border: 1px solid var.$primary-lighter--lightmode, |
| | | alert: var.$warning, |
| | | success: var.$success, |
| | | warning: var.$warning, |
| | | danger: var.$danger, |
| | | ), |
| | | dark: ( |
| | | accent: $accent--darkmode, |
| | | primary: $primary--darkmode, |
| | | primary-light: $primary-light--darkmode, |
| | | primary-lighter: $primary-lighter--darkmode, |
| | | info: $info, |
| | | shadow: $shadow--darkmode, |
| | | border: 1px solid $primary-lighter--darkmode, |
| | | alert: $warning, |
| | | success: $success, |
| | | warning: $warning, |
| | | danger: $danger, |
| | | accent: var.$accent--darkmode, |
| | | primary: var.$primary--darkmode, |
| | | primary-light: var.$primary-light--darkmode, |
| | | primary-lighter: var.$primary-lighter--darkmode, |
| | | info: var.$info, |
| | | shadow: var.$shadow--darkmode, |
| | | border: 1px solid var.$primary-lighter--darkmode, |
| | | alert: var.$warning, |
| | | success: var.$success, |
| | | warning: var.$warning, |
| | | danger: var.$danger, |
| | | ), |
| | | ); |
| | | |
| | |
| | | @each $theme, $map in $themes { |
| | | .theme--#{$theme} & { |
| | | @each $key, $submap in $map { |
| | | $value: map-get(map-get($themes, $theme), '#{$key}'); |
| | | $theme-map: map-merge( |
| | | $value: map.get(map.get($themes, $theme), '#{$key}'); |
| | | $theme-map: map.merge( |
| | | $theme-map, |
| | | ( |
| | | $key: $value, |
| | |
| | | } |
| | | |
| | | @function t($key) { |
| | | @return map-get($theme-map, $key); |
| | | @return map.get($theme-map, $key); |
| | | } |
| | |
| | | @use 'hugo:vars' as hugo; |
| | | |
| | | @mixin desktop { |
| | | @media screen and (min-width: 961px) { |
| | | @content; |
| | |
| | | } |
| | | |
| | | @mixin ltr { |
| | | @if $text-direction == ltr { |
| | | @if hugo.$text-direction == ltr { |
| | | @content; |
| | | } |
| | | } |
| | | |
| | | @mixin rtl { |
| | | @if $text-direction == rtl { |
| | | @if hugo.$text-direction == rtl { |
| | | @content; |
| | | } |
| | | } |
| | |
| | | @use 'modules/config' as conf; |
| | | @charset "UTF-8"; |
| | | |
| | | * { |
| | |
| | | } |
| | | |
| | | body { |
| | | @include ltr { |
| | | @include conf.ltr { |
| | | font-family: 'PingHei', 'PingFang SC', 'Helvetica Neue', 'Work Sans', 'Hiragino Sans GB', sans-serif; |
| | | font-size: 1.6rem; |
| | | } |
| | | |
| | | @include rtl { |
| | | @include conf.rtl { |
| | | font-family: 'Tajawal', sans-serif; |
| | | font-size: 1.5rem; |
| | | } |
| | |
| | | @use 'modules/color_theme' as color; |
| | | @use 'modules/config' as conf; |
| | | |
| | | a { |
| | | text-decoration: none; |
| | | |
| | | @include themed() { |
| | | color: t('primary'); |
| | | @include color.themed() { |
| | | color: color.t('primary'); |
| | | } |
| | | |
| | | &:hover { |
| | | @include themed() { |
| | | color: t('info'); |
| | | @include color.themed() { |
| | | color: color.t('info'); |
| | | } |
| | | } |
| | | } |
| | |
| | | blockquote { |
| | | padding: 0 1em; |
| | | |
| | | @include themed() { |
| | | color: t('primary'); |
| | | @include color.themed() { |
| | | color: color.t('primary'); |
| | | |
| | | @include ltr { |
| | | border-left: t('border'); |
| | | @include conf.ltr { |
| | | border-left: color.t('border'); |
| | | } |
| | | |
| | | @include rtl { |
| | | border-right: t('border'); |
| | | @include conf.rtl { |
| | | border-right: color.t('border'); |
| | | } |
| | | } |
| | | } |
| | |
| | | @use 'modules/color_theme' as color; |
| | | |
| | | .alert { |
| | | padding: 1rem; |
| | | border-style: solid; |
| | |
| | | border-width: 2px; |
| | | margin-top: 1rem; |
| | | |
| | | @include themed() { |
| | | border-color: t('alert'); |
| | | @include color.themed() { |
| | | border-color: color.t('alert'); |
| | | } |
| | | |
| | | &__indicator { |
| | |
| | | font-weight: 800; |
| | | margin-right: 0.75rem; |
| | | |
| | | @include themed() { |
| | | color: t('accent'); |
| | | background-color: t('alert'); |
| | | @include color.themed() { |
| | | color: color.t('accent'); |
| | | background-color: color.t('alert'); |
| | | } |
| | | } |
| | | } |
| | |
| | | @use 'modules/color_theme' as color; |
| | | |
| | | .archive { |
| | | margin: 30px; |
| | | |
| | |
| | | font-weight: 600; |
| | | line-height: 2.2em; |
| | | |
| | | @include themed() { |
| | | color: t('primary'); |
| | | @include color.themed() { |
| | | color: color.t('primary'); |
| | | } |
| | | } |
| | | |
| | |
| | | &-date { |
| | | text-align: right; |
| | | |
| | | @include themed() { |
| | | color: t('primary-light'); |
| | | @include color.themed() { |
| | | color: color.t('primary-light'); |
| | | } |
| | | } |
| | | |
| | |
| | | display: inline-block; |
| | | flex: 0.96; |
| | | |
| | | @include themed() { |
| | | color: t('primary'); |
| | | @include color.themed() { |
| | | color: color.t('primary'); |
| | | } |
| | | &:hover { |
| | | @include themed() { |
| | | color: t('info'); |
| | | @include color.themed() { |
| | | color: color.t('info'); |
| | | } |
| | | } |
| | | } |
| | |
| | | @use 'modules/color_theme' as color; |
| | | @use 'modules/config' as conf; |
| | | |
| | | .category { |
| | | padding: 4px 6px; |
| | | border-radius: 2px; |
| | | display: inline-block; |
| | | font-size: 1.4rem; |
| | | |
| | | @include themed() { |
| | | border: t('border'); |
| | | background-color: t('primary-lighter'); |
| | | color: t('primary') !important; |
| | | @include color.themed() { |
| | | border: color.t('border'); |
| | | background-color: color.t('primary-lighter'); |
| | | color: color.t('primary') !important; |
| | | } |
| | | |
| | | @include ltr { |
| | | @include conf.ltr { |
| | | margin: 5px 8px 5px 0; |
| | | } |
| | | |
| | | @include rtl { |
| | | @include conf.rtl { |
| | | margin: 5px 0 5px 8px; |
| | | } |
| | | } |
| | |
| | | @use 'modules/config' as conf; |
| | | |
| | | .footer { |
| | | $font-size-footer: 1.4rem; |
| | | |
| | |
| | | &__sidebar { |
| | | display: none; |
| | | |
| | | @include desktop { |
| | | @include conf.desktop { |
| | | display: inline-block; |
| | | } |
| | | } |
| | | |
| | | &__base { |
| | | @include desktop { |
| | | @include conf.desktop { |
| | | display: none; |
| | | } |
| | | } |
| | |
| | | @use 'modules/color_theme' as color; |
| | | @use 'modules/config' as conf; |
| | | |
| | | .navbar-burger { |
| | | cursor: pointer; |
| | | display: block; |
| | |
| | | transition-timing-function: ease-out; |
| | | width: 16px; |
| | | |
| | | @include themed() { |
| | | background-color: t('primary'); |
| | | @include color.themed() { |
| | | background-color: color.t('primary'); |
| | | } |
| | | |
| | | &:nth-child(1) { |
| | |
| | | } |
| | | } |
| | | |
| | | @include desktop { |
| | | @include conf.desktop { |
| | | display: none; |
| | | } |
| | | } |
| | |
| | | @use 'sass:color' as color; |
| | | @use 'modules/color_theme' as colorTheme; |
| | | @use 'modules/variables' as var; |
| | | |
| | | .notice { |
| | | display: flex; |
| | | flex-direction: column; |
| | | |
| | | @include themed() { |
| | | background-color: mix(t('info'), t('accent'), 40%); |
| | | @include colorTheme.themed() { |
| | | background-color: color.mix(colorTheme.t('info'), colorTheme.t('accent'), 40%); |
| | | } |
| | | |
| | | &--update { |
| | | @include themed() { |
| | | background-color: mix(t('success'), t('accent'), 40%); |
| | | @include colorTheme.themed() { |
| | | background-color: color.mix(colorTheme.t('success'), colorTheme.t('accent'), 40%); |
| | | } |
| | | } |
| | | |
| | | &--warning { |
| | | @include themed() { |
| | | background-color: mix(t('danger'), t('accent'), 40%); |
| | | @include colorTheme.themed() { |
| | | background-color: color.mix(colorTheme.t('danger'), colorTheme.t('accent'), 40%); |
| | | } |
| | | } |
| | | |
| | | &__title { |
| | | background-color: t('info'); |
| | | background-color: colorTheme.t('info'); |
| | | align-self: flex-end; |
| | | font-weight: 300; |
| | | letter-spacing: 0.025em; |
| | | padding: 0.2rem 0.5rem 0.2rem 0.5rem; |
| | | |
| | | @include themed() { |
| | | color: t('accent'); |
| | | @include colorTheme.themed() { |
| | | color: colorTheme.t('accent'); |
| | | } |
| | | |
| | | &--update { |
| | | background-color: t('success'); |
| | | background-color: colorTheme.t('success'); |
| | | } |
| | | |
| | | &--warning { |
| | | background-color: t('danger'); |
| | | background-color: colorTheme.t('danger'); |
| | | } |
| | | } |
| | | |
| | |
| | | @use 'modules/color_theme' as color; |
| | | @use 'modules/config' as conf; |
| | | |
| | | .optionswitch { |
| | | position: relative; |
| | | |
| | |
| | | padding: 0; |
| | | position: relative; |
| | | |
| | | @include desktop { |
| | | @include conf.desktop { |
| | | border-radius: 5px; |
| | | position: absolute; |
| | | top: 32px; |
| | | |
| | | @include themed() { |
| | | background: t('primary-lighter'); |
| | | box-shadow: t('shadow'); |
| | | @include color.themed() { |
| | | background: color.t('primary-lighter'); |
| | | box-shadow: color.t('shadow'); |
| | | } |
| | | } |
| | | |
| | |
| | | white-space: nowrap; |
| | | padding-top: 24px; |
| | | |
| | | @include themed() { |
| | | color: t('primary'); |
| | | @include color.themed() { |
| | | color: color.t('primary'); |
| | | } |
| | | |
| | | @include desktop { |
| | | @include conf.desktop { |
| | | padding: 12px; |
| | | } |
| | | } |
| | |
| | | transform: rotate(45deg) translateY(0px) translatex(10px); |
| | | width: 14px; |
| | | |
| | | @include themed() { |
| | | background: t('primary-lighter'); |
| | | box-shadow: t('shadow'); |
| | | border-color: t('primary-lighter'); |
| | | @include color.themed() { |
| | | background: color.t('primary-lighter'); |
| | | box-shadow: color.t('shadow'); |
| | | border-color: color.t('primary-lighter'); |
| | | } |
| | | } |
| | | } |
| | |
| | | } |
| | | |
| | | &__triangle { |
| | | @include desktop { |
| | | @include conf.desktop { |
| | | display: block; |
| | | } |
| | | } |
| | |
| | | @use 'modules/color_theme' as color; |
| | | |
| | | .pagination { |
| | | margin: 30px; |
| | | padding: 0px 0 56px 0; |
| | |
| | | line-height: 1; |
| | | text-decoration: none; |
| | | |
| | | @include themed() { |
| | | color: t('primary'); |
| | | @include color.themed() { |
| | | color: color.t('primary'); |
| | | } |
| | | } |
| | | } |
| | |
| | | @use 'modules/color_theme' as color; |
| | | @use 'modules/config' as conf; |
| | | |
| | | .portfolio { |
| | | position: relative; |
| | | padding-left: 0px; |
| | |
| | | padding-bottom: 0px; |
| | | padding-top: 48px; |
| | | |
| | | @include desktop { |
| | | @include conf.desktop { |
| | | padding: 48px; |
| | | } |
| | | |
| | |
| | | background: transparent; |
| | | border-radius: 0.5em; |
| | | |
| | | @include desktop { |
| | | @include themed() { |
| | | border: t('border'); |
| | | @include conf.desktop { |
| | | @include color.themed() { |
| | | border: color.t('border'); |
| | | } |
| | | } |
| | | } |
| | |
| | | &__image { |
| | | max-width: 100%; |
| | | min-width: 100%; |
| | | box-shadow: t('shadow'); |
| | | box-shadow: color.t('shadow'); |
| | | overflow: hidden; |
| | | transition: box-shadow 0.3s ease; |
| | | object-fit: cover; |
| | |
| | | padding: 32px 32px 0px 32px; |
| | | max-width: inherit; |
| | | |
| | | @include themed() { |
| | | background-color: t('accent'); |
| | | @include color.themed() { |
| | | background-color: color.t('accent'); |
| | | } |
| | | |
| | | @include desktop { |
| | | @include conf.desktop { |
| | | width: 60%; |
| | | object-fit: contain; |
| | | max-width: none; |
| | |
| | | } |
| | | |
| | | &--left { |
| | | @include desktop { |
| | | @include conf.desktop { |
| | | margin-right: auto; |
| | | margin-left: 0; |
| | | } |
| | | } |
| | | |
| | | &--right { |
| | | @include desktop { |
| | | @include conf.desktop { |
| | | margin-right: 0; |
| | | margin-left: auto; |
| | | } |
| | |
| | | padding: 32px; |
| | | position: relative; |
| | | |
| | | @include themed() { |
| | | background-color: t('accent'); |
| | | @include color.themed() { |
| | | background-color: color.t('accent'); |
| | | } |
| | | |
| | | @include desktop { |
| | | @include conf.desktop { |
| | | padding: 48px; |
| | | border-radius: 0.5em; |
| | | |
| | | @include themed() { |
| | | box-shadow: t('shadow'); |
| | | @include color.themed() { |
| | | box-shadow: color.t('shadow'); |
| | | } |
| | | } |
| | | |
| | |
| | | &--right { |
| | | margin-top: -24px; |
| | | |
| | | @include themed() { |
| | | border-bottom: t('border'); |
| | | @include color.themed() { |
| | | border-bottom: color.t('border'); |
| | | } |
| | | |
| | | @include desktop { |
| | | @include themed() { |
| | | background: t('primary-lighter'); |
| | | @include conf.desktop { |
| | | @include color.themed() { |
| | | background: color.t('primary-lighter'); |
| | | } |
| | | border-bottom: 0px; |
| | | width: 60%; |
| | |
| | | } |
| | | |
| | | &--right { |
| | | @include desktop { |
| | | @include conf.desktop { |
| | | margin-left: auto; |
| | | } |
| | | } |
| | |
| | | border-radius: 999em; |
| | | padding: 10px; |
| | | |
| | | @include themed() { |
| | | border: 1px solid t('primary-light'); |
| | | color: t('info'); |
| | | @include color.themed() { |
| | | border: 1px solid color.t('primary-light'); |
| | | color: color.t('info'); |
| | | } |
| | | |
| | | &:hover { |
| | |
| | | @use 'modules/color_theme' as color; |
| | | @use 'modules/config' as conf; |
| | | @use 'modules/variables' as var; |
| | | |
| | | .post { |
| | | margin: 30px; |
| | | |
| | | @include themed() { |
| | | background-color: t('accent'); |
| | | @include color.themed() { |
| | | background-color: color.t('accent'); |
| | | } |
| | | |
| | | &__meta { |
| | |
| | | } |
| | | |
| | | &-icon { |
| | | @include ltr { |
| | | @include conf.ltr { |
| | | margin-right: 2px; |
| | | } |
| | | |
| | | @include rtl { |
| | | @include conf.rtl { |
| | | margin-left: 2px; |
| | | } |
| | | } |
| | | |
| | | &-text { |
| | | &:not(:last-child) { |
| | | @include ltr { |
| | | @include conf.ltr { |
| | | margin-right: 4px; |
| | | } |
| | | |
| | | @include rtl { |
| | | @include conf.rtl { |
| | | margin-left: 4px; |
| | | } |
| | | } |
| | |
| | | |
| | | &__thumbnail { |
| | | width: 100%; |
| | | height: $thumbnail-height; |
| | | height: var.$thumbnail-height; |
| | | object-fit: cover; |
| | | display: block; |
| | | |
| | |
| | | overflow: hidden; |
| | | transition: box-shadow 0.3s ease; |
| | | |
| | | @include themed() { |
| | | box-shadow: t('shadow'); |
| | | @include color.themed() { |
| | | box-shadow: color.t('shadow'); |
| | | } |
| | | } |
| | | } |
| | | |
| | | &__content { |
| | | a { |
| | | @include themed() { |
| | | color: t('info'); |
| | | @include color.themed() { |
| | | color: color.t('info'); |
| | | } |
| | | } |
| | | |
| | | .chroma { |
| | | @include themed() { |
| | | background-color: t('primary-lighter'); |
| | | @include color.themed() { |
| | | background-color: color.t('primary-lighter'); |
| | | display: block; |
| | | border-bottom: 1px solid t('primary-lighter'); |
| | | border-bottom: 1px solid color.t('primary-lighter'); |
| | | } |
| | | } |
| | | |
| | |
| | | padding: 5px; |
| | | overflow-x: auto; |
| | | |
| | | @include themed() { |
| | | background-color: t('primary-lighter'); |
| | | @include color.themed() { |
| | | background-color: color.t('primary-lighter'); |
| | | } |
| | | } |
| | | |
| | |
| | | a { |
| | | font-size: $font-size-h1; |
| | | |
| | | @include themed() { |
| | | color: t('primary'); |
| | | @include color.themed() { |
| | | color: color.t('primary'); |
| | | } |
| | | } |
| | | } |
| | |
| | | a { |
| | | font-size: $font-size-h2; |
| | | |
| | | @include themed() { |
| | | color: t('primary'); |
| | | @include color.themed() { |
| | | color: color.t('primary'); |
| | | } |
| | | } |
| | | } |
| | |
| | | a { |
| | | font-size: $font-size-h3; |
| | | |
| | | @include themed() { |
| | | color: t('primary'); |
| | | @include color.themed() { |
| | | color: color.t('primary'); |
| | | } |
| | | } |
| | | } |
| | |
| | | } |
| | | |
| | | &.right { |
| | | @include desktop { |
| | | @include conf.desktop { |
| | | max-width: 50%; |
| | | |
| | | @include ltr { |
| | | @include conf.ltr { |
| | | float: right; |
| | | margin: 0 0 0 1.5em; |
| | | } |
| | | |
| | | @include rtl { |
| | | @include conf.rtl { |
| | | float: left; |
| | | margin: 0 1.5em 0 0; |
| | | } |
| | |
| | | } |
| | | |
| | | &.left { |
| | | @include desktop { |
| | | @include conf.desktop { |
| | | max-width: 50%; |
| | | |
| | | @include ltr { |
| | | @include conf.ltr { |
| | | float: left; |
| | | margin-right: 1.5em; |
| | | } |
| | | |
| | | @include rtl { |
| | | @include conf.rtl { |
| | | float: right; |
| | | margin-left: 1.5em; |
| | | } |
| | |
| | | &__footer { |
| | | padding: 12px 0; |
| | | |
| | | @include themed() { |
| | | border-bottom: t('border'); |
| | | @include color.themed() { |
| | | border-bottom: color.t('border'); |
| | | } |
| | | |
| | | &-date { |
| | | font-size: 1.4rem; |
| | | |
| | | @include ltr { |
| | | @include conf.ltr { |
| | | margin-right: 10px; |
| | | margin-left: 5px; |
| | | } |
| | | |
| | | @include rtl { |
| | | @include conf.rtl { |
| | | margin-left: 10px; |
| | | margin-right: 5px; |
| | | } |
| | |
| | | @use 'modules/color_theme' as color; |
| | | @use 'modules/config' as conf; |
| | | |
| | | .sidebar { |
| | | margin-top: 40px; |
| | | |
| | | @include desktop { |
| | | @include conf.desktop { |
| | | z-index: 2; |
| | | position: fixed; |
| | | height: 100%; |
| | |
| | | display: flex; |
| | | flex-direction: column; |
| | | |
| | | @include themed() { |
| | | @include ltr { |
| | | @include color.themed() { |
| | | @include conf.ltr { |
| | | margin-right: 4px; |
| | | border-right: t('border'); |
| | | border-right: color.t('border'); |
| | | } |
| | | |
| | | @include rtl { |
| | | @include conf.rtl { |
| | | margin-left: 4px; |
| | | border-left: t('border'); |
| | | border-left: color.t('border'); |
| | | } |
| | | } |
| | | } |
| | | |
| | | &__content { |
| | | @include desktop { |
| | | @include conf.desktop { |
| | | display: flex; |
| | | flex-direction: column; |
| | | flex-grow: 1; |
| | |
| | | @use 'modules/color_theme' as color; |
| | | @use 'modules/config' as conf; |
| | | |
| | | .tag { |
| | | display: inline-block; |
| | | font-size: 1.4rem; |
| | | |
| | | @include themed() { |
| | | color: t('primary-light'); |
| | | @include color.themed() { |
| | | color: color.t('primary-light'); |
| | | } |
| | | |
| | | @include ltr { |
| | | @include conf.ltr { |
| | | margin: 5px 8px 5px 0; |
| | | } |
| | | |
| | | @include rtl { |
| | | @include conf.rtl { |
| | | margin: 5px 0 5px 8px; |
| | | } |
| | | |
| | |
| | | @use 'hugo:vars' as hugo; |
| | | @use 'modules/config' as conf; |
| | | @use 'modules/variables' as var; |
| | | |
| | | .wrapper { |
| | | display: flex; |
| | | flex-direction: column; |
| | | |
| | | @include desktop { |
| | | @include conf.desktop { |
| | | flex-direction: row; |
| | | } |
| | | |
| | | @include widescreen { |
| | | @include conf.widescreen { |
| | | justify-content: center; |
| | | } |
| | | |
| | | &__main { |
| | | width: 100%; |
| | | |
| | | @include desktop { |
| | | width: $content-ratio; |
| | | @include conf.desktop { |
| | | width: hugo.$content-ratio; |
| | | } |
| | | |
| | | @include widescreen { |
| | | width: $content-ratio-wide; |
| | | @include conf.widescreen { |
| | | width: hugo.$content-ratio-wide; |
| | | } |
| | | |
| | | &--fullscreen { |
| | | margin-top: 20px; |
| | | |
| | | @include desktop { |
| | | @include conf.desktop { |
| | | width: 100%; |
| | | margin-top: 0px; |
| | | } |
| | | |
| | | @include widescreen { |
| | | width: $body-max-width; |
| | | @include conf.widescreen { |
| | | width: var.$body-max-width; |
| | | } |
| | | } |
| | | } |
| | |
| | | width: 100%; |
| | | padding: 16px 0; |
| | | |
| | | @include desktop { |
| | | width: $sidebar_ratio; |
| | | @include conf.desktop { |
| | | width: hugo.$sidebar_ratio; |
| | | padding: 0; |
| | | } |
| | | |
| | | @include widescreen { |
| | | width: $sidebar_ratio_wide; |
| | | @include conf.widescreen { |
| | | width: hugo.$sidebar_ratio_wide; |
| | | } |
| | | |
| | | &--hidden { |
| | |
| | | @use 'modules/color_theme' as color; |
| | | |
| | | .body { |
| | | width: 100%; |
| | | margin: 0 auto; |
| | | // work around to style body |
| | | @include themed() { |
| | | color: t('primary'); |
| | | background-color: t('accent'); |
| | | @include color.themed() { |
| | | color: color.t('primary'); |
| | | background-color: color.t('accent'); |
| | | } |
| | | } |
| | |
| | | @use 'modules/color_theme' as color; |
| | | @use 'modules/config' as conf; |
| | | |
| | | .header { |
| | | @include themed() { |
| | | background-color: t('accent'); |
| | | @include color.themed() { |
| | | background-color: color.t('accent'); |
| | | } |
| | | width: 100%; |
| | | position: fixed; |
| | | z-index: 1; |
| | | top: 0; |
| | | |
| | | @include desktop { |
| | | @include conf.desktop { |
| | | position: sticky; |
| | | |
| | | @include themed() { |
| | | border-bottom: t('border'); |
| | | @include color.themed() { |
| | | border-bottom: color.t('border'); |
| | | } |
| | | } |
| | | |
| | | @include print { |
| | | @include conf.print { |
| | | display: none; |
| | | } |
| | | } |
| | |
| | | @use 'modules/color_theme' as color; |
| | | @use 'modules/config' as conf; |
| | | |
| | | .nav { |
| | | $py-desktop: 24px; |
| | | |
| | | display: none; |
| | | |
| | | @include desktop { |
| | | @include conf.desktop { |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | |
| | | padding: 0; |
| | | width: 100%; |
| | | |
| | | @include themed() { |
| | | background-color: t('primary-lighter'); |
| | | @include color.themed() { |
| | | background-color: color.t('primary-lighter'); |
| | | } |
| | | |
| | | @include desktop { |
| | | @include conf.desktop { |
| | | display: flex; |
| | | padding: $py-desktop 30px; |
| | | |
| | | @include themed() { |
| | | background-color: t('accent'); |
| | | @include color.themed() { |
| | | background-color: color.t('accent'); |
| | | } |
| | | |
| | | &--end { |
| | |
| | | text-align: center; |
| | | white-space: nowrap; |
| | | |
| | | @include desktop { |
| | | @include conf.desktop { |
| | | padding-top: 0; |
| | | padding-bottom: 0; |
| | | |
| | | &:not(:last-child) { |
| | | @include ltr { |
| | | @include conf.ltr { |
| | | padding-right: 20px; |
| | | } |
| | | @include rtl { |
| | | @include conf.rtl { |
| | | padding-left: 20px; |
| | | } |
| | | } |
| | |
| | | &--active { |
| | | padding-bottom: $py-desktop; |
| | | |
| | | @include desktop { |
| | | @include themed() { |
| | | border-bottom: 1px solid t('primary'); |
| | | @include conf.desktop { |
| | | @include color.themed() { |
| | | border-bottom: 1px solid color.t('primary'); |
| | | } |
| | | } |
| | | } |
| | |
| | | /* (CONTACT) FORM */ |
| | | @use 'modules/color_theme' as color; |
| | | |
| | | .contact-form { |
| | | margin-top: 30px; |
| | |
| | | list-style: none; |
| | | } |
| | | .form-style ul li { |
| | | @include themed() { |
| | | background-color: t('accent'); |
| | | color: t('primary'); |
| | | @include color.themed() { |
| | | background-color: color.t('accent'); |
| | | color: color.t('primary'); |
| | | } |
| | | display: block; |
| | | margin-bottom: 10px; |
| | | min-height: 35px; |
| | | } |
| | | .form-style ul li .field-style { |
| | | @include themed() { |
| | | border: t('border'); |
| | | background-color: t('accent'); |
| | | color: t('primary'); |
| | | @include color.themed() { |
| | | border: color.t('border'); |
| | | background-color: color.t('accent'); |
| | | color: color.t('primary'); |
| | | } |
| | | box-sizing: border-box; |
| | | -webkit-box-sizing: border-box; |
| | |
| | | @use 'modules/color_theme' as color; |
| | | |
| | | .medium-zoom-overlay { |
| | | @include themed() { |
| | | background: t('accent'); |
| | | @include color.themed() { |
| | | background: color.t('accent'); |
| | | } |
| | | position: fixed; |
| | | top: 0; |
| | |
| | | @use 'modules/color_theme' as color; |
| | | |
| | | table { |
| | | display: table; |
| | | width: 80%; |
| | |
| | | td { |
| | | display: table-cell; |
| | | padding: 8px; |
| | | @include themed() { |
| | | border: t('border'); |
| | | @include color.themed() { |
| | | border: color.t('border'); |
| | | } |
| | | } |
| | |
| | | @use 'modules/variables' as var; |
| | | |
| | | #TableOfContents { |
| | | display: block; |
| | | background: transparent; |
| | |
| | | |
| | | #TableOfContents li a { |
| | | display: inherit; |
| | | color: $info; |
| | | color: var.$info; |
| | | } |
| | | |
| | | #TableOfContents li a:hover { |
| | |
| | | "sidebar_ratio_wide" (printf "%f%%" (mul 0.8 (mul (sub 1.0 $contentRatio) 100))) |
| | | -}} |
| | | {{ $options := dict |
| | | "transpiler" "libsass" |
| | | "transpiler" "dartsass" |
| | | "vars" $vars |
| | | "targetPath" (printf "css/anatole%s.css" (cond (eq site.Language.LanguageDirection "") "" (printf ".%s" site.Language.LanguageDirection))) |
| | | -}} |
| | |
| | | [build] |
| | | publish = "exampleSite/public" |
| | | command = "cd exampleSite && hugo --gc --minify --themesDir ../.." |
| | | command = """\ |
| | | curl -LJO https://github.com/sass/dart-sass/releases/download/${DART_SASS_VERSION}/dart-sass-${DART_SASS_VERSION}-linux-x64.tar.gz && \ |
| | | tar -xf dart-sass-${DART_SASS_VERSION}-linux-x64.tar.gz && \ |
| | | rm dart-sass-${DART_SASS_VERSION}-linux-x64.tar.gz && \ |
| | | export PATH=/opt/build/repo/dart-sass:$PATH && \ |
| | | cd exampleSite && \ |
| | | hugo --gc --minify --themesDir ../.. \ |
| | | """ |
| | | |
| | | [build.environment] |
| | | HUGO_VERSION = "0.147.5" |
| | | DART_SASS_VERSION = "1.89.0" |
| | | NODE_VERSION = "24" |
| | | GO_VERSION = "1.24.3" |
| | | HUGO_ENV = "production" |
| | | HUGO_THEME = "repo" |
| | | HUGO_BASEURL = "https://anatole-demo.netlify.app" |