sutty-base-jekyll-theme/assets/css/styles.scss

152 lines
4.3 KiB
SCSS
Raw Normal View History

---
# Ponemos un frontmatter porque queremos que Jekyll procese este archivo
---
////
/// @group Principal
////
/// Traemos el primer artículo de tipo `theme` para obtener los valores
/// personalizados.
{% comment %}
Los artículos con layout `theme` contienen variables utilizadas por
Bootstrap que pueden ser redefinidas por les usuaries de Sutty a través
del panel.
{% endcomment %}
{% assign theme = site.posts | find: 'layout', 'theme' %}
{% assign theme_defaults = site.data.layouts.theme %}
{% comment %}
Ignorar estos campos que no son variables.
{% endcomment %}
{% assign ignored_keys = 'title,draft,order' | split: ',' %}
{% comment %}
Cada variable de Bootstrap viene desde la definición de `theme`. Por
convención usamos snake_case, pero Bootstrap usa guión medio, así que
las convertimos.
Utilizamos los valores que vengan del artículo y si no existen, usamos
los valores por defecto de sutty-base. De lo contrario mantenemos los
de Bootstrap.
{% endcomment %}
{% for variable in theme_defaults %}
{% assign key = variable[0] %}
{% if ignored_keys contains key %}{% continue %}{% endif %}
{% assign default_value = variable[1].default[site.locale] %}
{% assign variable_name = key | replace: '_', '-' %}
{% if theme[key] or default_value %}
{% comment %}
Generamos una definición de variable de SASS
{% endcomment %}
${{ variable_name }}: {{ theme[key] | default: default_value }};
{% endif %}
{% endfor %}
/// El modo debug se desactiva en producción
$debug: {{ jekyll.environment | not: 'production' }};
/// Los prefijos de navegadores para poder generar estilos que no están
/// estandarizados.
/// @link _sass/helpers.scss
2021-01-12 16:33:21 +00:00
$vendor-prefixes: ("", "-webkit-", "-ms-", "-o-", "-moz-");
/// Curva Bezier que acelera al principio y desacelera hacia el final,
/// para generar animaciones.
2021-01-12 16:33:21 +00:00
$bezier: cubic-bezier(0.75, 0, 0.25, 1);
/// Redefinir la tipografía aquí, o borrar si usamos las de Bootstrap
$font-family-sans-serif: sans-serif;
/// Agregamos los colores propios de la plantilla aquí. Bootstrap los
/// agrega a su propia paleta de colores. Si usamos el mismo nombre
/// podemos redefinir el color.
///
/// Agregamos negro porque alguna gente no lo considera un color.
2021-01-25 19:46:16 +00:00
$colors: (
"black": black
);
/// Redefinir los colores de temas aquí, esto aplica a los elementos
/// `-primary`, `-secondary`, etc. de Bootstrap. Por ejemplo para
/// generar un botón con otro color y sus sombras correspondientes, lo
/// agregamos acá.
$theme-colors: (
);
2021-08-04 21:08:46 +00:00
$spacer: 1rem !default;
$spacers: (
6: ($spacer * 4),
7: ($spacer * 5),
8: ($spacer * 6),
9: ($spacer * 7),
10: ($spacer * 8),
11: ($spacer * 9),
12: ($spacer * 10),
13: ($spacer * 11),
14: ($spacer * 12),
15: ($spacer * 13),
);
/// Tamaños (anchos y altos) redefinidos desde Bootstrap.
$sizes: (
2021-08-04 21:08:46 +00:00
10: 10%,
20: 20%,
30: 30%,
40: 40%,
50: 50%,
60: 60%,
70: 70%,
80: 80%,
90: 90%,
50vh: 50vh,
75vh: 75vh
100vh: 100vh,
100vw: 100vw
);
/// Niveles de opacidad/transparencia
2021-01-13 20:58:43 +00:00
$opacities: (
0: -100%,
1: -80%,
2: -60%,
3: -40%,
4: -20%,
5: 0%
);
2021-08-03 23:34:09 +00:00
/// Resetear algunos margins y paddings por defecto a cero
$paragraph-margin-bottom: 0;
$headings-margin-bottom: 0;
$label-margin-bottom: 0;
/// Redefinir variables de Boostrap acá. Se las puede ver en
/// node_modules/bootstrap/scss/_variables.scss
///
/// @todo Solo importar los archivos necesarios de bootstrap para
/// facilitar la reducción de CSS. Por ahora pedimos todo para poder
/// empezar a trabajar en el HTML sin pensar en CSS.
@import "bootstrap/scss/bootstrap";
/// Íconos
2020-06-17 19:41:38 +00:00
@import "fork-awesome/scss/fork-awesome";
/// Nuestro propio SCSS
2020-06-17 19:34:42 +00:00
@import "accessibility";
@import "helpers";
2020-06-17 19:56:07 +00:00
@import "toggler";
2020-06-17 19:52:43 +00:00
@import "share_box";
2020-09-15 13:03:58 +00:00
@import "embed";
2020-11-12 18:20:31 +00:00
@import "snap";
2021-01-04 19:43:54 +00:00
@import "editor";
@import "menu";
/// La barra de progreso de Turbolinks tiene el color primario
/// de la paleta, definido por Bootstrap o por nosotres.
.turbolinks-progress-bar { background-color: $primary; }
/// La barra de progreso de Turbo tiene el color primario
/// de la paleta, definido por Bootstrap o por nosotres.
.turbo-progress-bar { background-color: $primary; }
/// Mostrar un borde alrededor de todos los elementos para poder
/// detectar el espacio que ocupan los elementos. El borde no ocupa
/// espacio de por sí, con lo que no afecta la estructura del sitio.
@if $debug {
* { outline: 1px solid pink; }
}