Para utilizar este framework es necesario:
- Node 8.12.0
- Gulp
Para instalar el proyecto
npm install
Para lanzar el proyecto en el navegador y realizar modificaciones:
gulp
Para crear una versión completa lista para subir a producción: Todo se genera en la carpeta dist
gulp build
Para materializar todas las decisiones que estamos tomando he creado un pequeño flujo de GULP
La separación de componentes basada en Atomic Design nos permite poder reutilizar elementos a lo largo del proyecto e incluso de forma transversal entre proyectos.
De forma específica existen tres ficheros base en la raiz de sass
ie.scss
Este archivo solo se carga en versiones anteriores a IE8shell.scss
Este archivo importa los estilos de nuestro App Shellsyle.sccs
Aquí importamos el resto de archivos CSS que se utilizarán en el proyecto
_animations.scss
: Colección de animaciones listas para ser utilizadas_colors.scss
: Definición variables para colores_fonts.scss
: Carga de archivos de fuentes_layout.scss
: Definición de breakpoints y otros elementos necesarios para el layout del proyecto_mixins.scss
: Archivo de funciones de SASS_normalize.scss
: Reset CSS_spacing.scss
: Variables de espaciado_typography.scss
: Definición de los tipografías y sus tamaños_variables.scss
: Archivo que importa todos los archivos de variables para utilizarlos donde haga falta
_buttons.scss
: Estilos de botones_global.scss
: Estilos genéricos_hr.scss
: Estilos para etiqueta<hr>
_icons.scss
: Definición de iconos en formatosvg
_images.scss
: Estilos para imágenes_inputs.scss
: Estilos para diferentes tipos de inputs y sus estados_labels.scss
: Estilos para labels_links.scss
: Estilos para enlaces_lists.scss
: Estilos para listados_selects.scss
: Estilos para etiquetas<select>
_textareas.scss
: Estilos para etiquetas<textarea>
_texts.scss
: Estilos para etiquetas de texto_tooltip.scss
: Estilo para el uso de tooltip en formularios_video.scss
: Estilos para elementos<video>
_forms.scss
: Estilos para formularios_glide.scss
: Estilos para slider_menu.scss
: Estilos para menu básico
_footer.scss
: Estilos para pie del proyecto_header.scss
: Estilos para cabecera del proyecto_main.scss
: Estilos para parte principal del proyecto
_page.scss
: Estilos propios de cada página
Las vistas están basados en PUG, de esta forma podemos aprovechar ventajas como la inclusión de lógica y la reutilización de plantillas. La estructura que se ha elegido es la misma que hemos utilizado en SASS, es decir seguimos una estructura basada también en Atomic Design.
base.pug
: Archivo base de HTML basado en PWA. y que utlizaremos para extender las diferentes páginas HTML. En este archivo podremos sobreescribir elementos como por ejemplo el title,description,keywords...
index.pug
: Página principal de ejemplo, donde podemos ver el uso de diferentes componentes
footer.pug
: Plantilla donde se define el pie del proyectoheader.pug
: Plantilla donde se define la cabecera del proyectoorganisms.pug
: Archivo de ayuda para importar o exportar todos los organismos
_forms.pug
: Platilla para formulaios_glide.pug
: Plantilla para slider_menu.pug
: Plantilla de menúmolecules.pug
: Archivo de ayuda para importar o exportar todos las moléculas
Todas las plantillas de los átomos que podemos extender en nuestros ficheros de pug
, cada una tiene ejemplos de uso y de llamada, así como elementos de personalización a través de variables.