npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@centrogeomx/sisdai-css

v1.7.4

Published

Biblioteca de estilos base CSS del Sistema de Diseño y Accesibilidad para la Investigación

Downloads

376

Readme

sisdai-css

El proyecto sisdai-css es una biblioteca de estilos de Sass alineada al Sistema de Diseño y Accesibilidad para la Investigación (Sisdai). El Sisdai es un proyecto de investigación desarrollado por el Centro de Investigación en Ciencias de Información Geoespacial, A.C. (CentroGeo) y coordinado por el Consejo Nacional de Humanidades, Ciencias y Tecnologías (Conahcyt) del Gobierno de México.

Para leer la documentación de la biblioteca, puedes visitar el sitio sisdai-css.conahcyt.mx o levantar la documentación localmente siguiendo las instrucciones escritas en la sección Uso local del proyecto de este documento.

Cualquier persona puede hacer uso de esta biblioteca al clonarla e instalarla en su equipo a través del protocolo HTTPS o bien instalándola mediante npm.

Utilidades

  • Normaliza la forma en que se visualizan los elementos de HTML entre distintos navegadores como Firefox, Chrome, Opera, Safari, Edge
  • Estandariza estilos desde las etiquetas de HTML
  • Agrega clases para ayudar a la accesibilidad
  • Contiene un archivo de _variables general para homogeneizar, tipografías, pesos, tamaños, espacios y colores
  • Contiene un archivo de _mixins general para reutilizar los mediaquery de los límites declarados para la correcta visualización en celulares y pantallas más grandes

Instalación y uso

Si tu desarrollo está creado con el proyecto-base, ya tiene incluida una versión estable de sisdai-css y sisdai-componentes y no requiere ningún paso de instalación ni importación. En ese caso puedes ir a la sección Actualización.

Agrega las tipografías

Esta biblioteca utiliza las tipografías de Montserrat y Atkinson Hyperlegible de Google fonts.

Agrega las siguientes líneas dentro del <head> </head> del archivo de html en el siguiente orden:

  1. Ligas de las tipografías de Google Fonts.
  2. Ligas de la tipografía para los íconos (aún en desarrollo).
  <link rel="preconnect" href="https://fonts.googleapis.com">
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
  <link href="https://fonts.googleapis.com/css2?family=Atkinson+Hyperlegible&family=Montserrat:wght@400;500;600&display=swap" rel="stylesheet">

Instala la biblioteca

En la carpeta principal de tu proyecto Vue puedes instalar la última versión de sisdai-css mediante dos opciones:

Opción A. Desde el repositorio del sisdai-css en npm.

En la línea de comando escribe

npm i @centrogeomx/sisdai-css

Opción B. Desde el repositorio de sisdai-css en código.conahcyt.mx.

En la línea de comando escribe

npm install git+https://codigo.conahcyt.mx/sisdai/sisdai-css

Importa la biblioteca

Puedes importar la biblioteca de manera general en el archivo main.js de tu proyecto Vue

// src/main.js

import '@centrogeomx/sisdai-css'

Ó en el archivo de css o sección de estilos de tu proyecto

/* archivo css */
@import '@centrogeomx/sisdai-css';

*Opcionalmente se pueden importar las variables y mixins para utilizar las mismas referencias que la biblioteca en los estilos particulares de cada proyecto

/* archivo scss */
@use '@centrogeomx/sisdai-css/src/_variables' as variables;
@use '@centrogeomx/sisdai-css/src/_mixins' as mixins;

Uso de la biblioteca

Muchos de los estilos de la biblioteca se muestran sin agregar ninguna clase, utilizando las etiquetas adecuadas para el HTML semántico.

  <h1> Estilo estandarizado de título principal </h1>

Existen además clases para dar estilo a elementos, las cuales se encuentran agrupadas por módulos dependiendo de su uso.

  <p class="h1">Es la jerarquía de texto más alta, se ubica generalmente al inicio de la página y describe el contenido de la misma</p>

Actualización

Si necesitas utilizar otra versión, ubícate en la carpeta del proyecto en donde necesitas la actualización e instala la versión que requieres nuevamente usando una de estas dos opciones

Opción A. Para versiones publicadas en el repositorio de sisdai-css en npm.

npm i @centrogeomx/[email protected]

Opción B. Para cualquier versión desde el repositorio de sisdai-css en código.conahcyt.mx

npm install git+https://codigo.conahcyt.mx/sisdai/sisdai-css#vN.N.N

donde N.N.N indica el número de versión, por ejemplo v1.0.0

Consulta el archivo CHANGELOG.md del repositorio de sisdai-css en código.conahcyt.mx para conocer las nuevas características y cambios que sufre la biblioteca en cada una de sus versiones.

Listado de elementos

El código se encuentra separado por carpetas dependiendo del tipo de etiqueta o funcionalidad de los elementos que contenga. En general las clases fundamentales para estructurar las vistas, definir la tipografía, color, así como cada etiqueta nativa de html tiene su propia carpeta. Se separaron los elementos compuestos, componentes y clases requeridas para visualizaciones en carpetas y archivos específicos para cada uno y así asegurar por jerarquía que unos estilos se puedan sobreescribir a otros.

| Módulo | Descripción | |------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | Accesibilidad | Clases para reescribir el estilo de elementos requeridos por el menú de accesibilidad | | Auxiliares | Clases auxiliares para desarrollo, estilos de texto, bordes, alineación y visualización en distintos dispositivos | | Botón | Clases que se aplican al elemento <button> | | Color | Variables de CSS para las paletas de color en modo claro y modo oscuro para todos los elementos del sistema Sisdai | | Componentes* | Estilos de componentes declarados en la biblioteca sisdai-componentes | | Compuestos | Estilos de múltiples elementos que combinados crean un nuevo estilo de elemento compuesto | | Detalle | Estilos las etiquetas <details> <summary> | | Formulario | Estilos de todas las etiquetas que conforman y se utilizan dentro de formularios | | Hipervínculo | Estilos de la etiqueta de hipervínculo <a> | | Imagen | Estilos de las etiquetas relacionadas con imágenes <img>, <figure> y <figcaption> | | Lista | Estilos de las etiquetas de listas <ul>, <ol>, <li>, <dl>, <dt> y <dd> y clases de estilos para listas especiales | | Pictograma | Enlace y mapeado de la tipografía Sisdai-Pictogramas .pictograma- | | Separador | Estilos de la etiqueta <hr /> que puede ser complementada con el auxiliar de borde | | Retícula | Clases de contenedores y retícula con filas y columnas | | Tabla | Estilos para las etiquetas relacionadas con tablas <table>, <caption>, <thead>, <tfoot>, <tbody>, <tr>, <th> y <td> | | Tipografía | Estilos de las etiquetas de títulos, párrafos y texto en general. | | Visualizaciones* | Estilos de elementos utilizados en las bibliotecas sisdai-graficas y sisdai-mapas |

*Estilos que se utilizan en otras bibliotecas del Sisdai

Uso local del proyecto

Pasos previos recomendados

Para desarrollar este proyecto se usa node.js como entorno de ejecución de JavaScript. La opción recomendada para instalarlo es vía nvm que es el manejador de versiones de node. Siguiendo este camino, también se instalará el manejador de paquetes npm. Las instrucciones de instalación y dependencias del proyecto se muestran aquí usando tanto npm, como nvm.

Dependencias

Instalación

Clona este repositorio utilizando solo el protocolo HTTPS, es decir.

git clone https://codigo.conahcyt.mx/sisdai/sisdai-css.git

Entra a la carpeta del proyecto

cd sisdai-css

Instala las dependencias del proyecto

npm install

Opcionalmente instala las dependencias de la documentación

npm run docs:install

Opcionalmente levanta en local la documentación

npm run docs

ó

npm run docs:dev

Licencia

SOFTWARE LIBRE Y ESTÁNDARES ABIERTOS

Sisdai y sisdai-css están alineadas a las disposiciones establecidas por la Coordinación de Estrategia Digital Nacional ( DOF:06/09/2021) en donde se estipula que las "políticas y disposiciones tienen como objetivo fortalecer el uso del software libre y los estándares abiertos, fomentar el desarrollo de aplicaciones institucionales con utilidad pública, lograr la autonomía, soberanía e independencia tecnológicas dentro de la APF". En el artículo 63 se explicita que "cuando se trate de desarrollos basados en software libre, se respetarán las condiciones de su licenciamiento original [...]".

Considerando lo anterior, sisdai-css se publica bajo la licencia LGPLv3. Dicha licencia se puede consultar en el archivo LICENSE de este repositorio. Esta licencia se encuentra disponible en inglés porque aunque el Sisdai privilegia el idioma español se respeta la versión original de acuerdo al proyecto GNU.

Contribuir

Por el momento sólo quienes sean parte de un equipo de investigación del capítulo de un ENI podrán levantar issues en este repositorio. El equipo del Sisdai se encargará de mantenerlo.


¿Cómo agregar un nuevo estilo?

Estructura

Las clases se encuentran agrupadas en módulos, dependiendo el tipo de elemento en el que se utilizará. Si no existiera una carpeta adecuada, se crea una nueva dentro de src/ con el nombre del elemento.

sisdai-css/
└── src
    └── *nuevoelemento* # carpeta del elemento
        ├── _index.scss # archivo con import de todos los archivos del nuevo elemento
        ├── base.scss # estilos generales
        └── subelemento.scss # sub elementos o casos particulares

Para agregar el nuevo elemento a la biblioteca se debe importar en el archivo principal sisdai.scss. Hay que recordar que el orden en el que se importen los estilos tiene jerarquía. El último archivo importado es el que le dará estilo al elemento.

sisdai-css/
└── src
    ├── [...]
    └── sisdai.scss

Colócalo antes de los auxiliares y los archivos de accesibilidad

/* src/sisdai.scss */

@use 'nuevoelemento';

@use 'auxiliares';
@use 'accesibilidad';

Para facilitar el mantenimiento de la biblioteca se debe prestar atención en las variables declaradas en _variables.css y hacer uso de ellas sobre todo en márgenes y colores; las tipografías deben estar declaradas en unidades rem para que se actualicen conforme el tamaño general de la tipografía del sitio.

Además, se deben utilizar en la medida de lo posible los _mixins.scss de mediaquery o en su defecto utilizar las variables en el @media screen and (max-width: calc(map-get($breakpoints, 'esc'))) para controlar los puntos de cambio de diseño de celular, escritorio y navegación.

sisdai-css/
└── src
    ├── _mixins.scss
    ├── _variables.scss 
    └── [...]
@use '_variables' as variables;
@use '_mixins' as mixins;

Validaciones con Stylelint

El proyecto está construido con los estándares de Stylelint para mejorar las convenciones y evitar errores comunes. Después de agregar los estilos del nuevo elemento, asegúrate de que se cumplan las mismas reglas.

Para verificar el proyecto con Stylelint puedes correr en la terminal el comando

npm run pruebas:stylelint

Aparecerá una lista de errores, en caso de que existan, con sugerencias para solucionarlos. Cuando no aparezca nada en tu lista, estás lista para continuar.

Validaciones con Sass

Para verificar que el proyecto corra con la última version de Sass, puedes correr en la terminal el comando

npm run pruebas:sass

Aparecerá una lista de errores, en caso de que existan, con sugerencias para solucionarlos. Cuando no aparezca nada en tu lista, estás lista para continuar.

Agregar el nuevo elemento a la documentación

En la carpeta docs existe un proyecto de Vue para desplegar la documentación. Parecido a los módulos en los que se agrupan los estilos, existen vistas en la documentación en donde se demuestra como se ve el nuevo estilo, clase o componente y se describe brevemente su funcionalidad.

En caso de necesitar una nueva vista, hay que agregarla en las rutas y en la navegación.

Compilación y actualización

Para las personas colaboradoras de este proyecto, la documentación se puede compilar para su despliegue en desarrollo usando:

npm run docs:build

Y para compilar el archivo de estilos comprimido para producción:

npm run build

El build actualiza los archivos de la carpeta de distribución dist que se utilizan para actualizar la CDN y que puedes utilizar como archivos locales copiándolos y pegándolos en tus proyectos.