La carpeta assets es dónde se guardará el archivo de entrada (index) y los demás archivos a utilizar en el proyecto dispuestos en diferentes subcarpetas. Por ejemplo hojas de estilo(css), código en JavaScript(js) o imágenes(img). Si se utiliza otro tipo de contenido se puede agregar carpetas adicionales (audio, video, pdf, swf, etc).
El archivo index.html por convención el punto de entrada de tu sitio. Es la página por defecto dentro de los directorios de los servidores de los sitios webs que se carga siempre que se solicita un dominio. Este archivo puede contener desde una landing page hasta el punto de entrada lógico de una aplicación web más compleja.
Las propiedades max-width y min-width son muy utilizadas en RWD para dar anchos máximos y mínimos respectivamente, se usan de forma complementaria a la propiedad width y generalmente son usadas unidades de medida absolutas y son declaradas en los contenedores.
BEM (Block Element Modifier) es una metodología que ayuda a nombrar y organizar mejor los selectores CSS, mantener una especificidad baja y homogénea, a crear componentes reutilizables y compartir código en el desarrollo front-end.
.bloque{}
/*
Se consideran bloques:
Los componentes genéricos propios de maquetacion, como los contenedores (ej: main-header).
Componentes que tienen funcionalidad por si mismos (ej: main-menu, navBar, searchBox)
*/
.bloque__elemento{}
/*
Se consideran __elementos
Los subcomponentes de un bloque como tarjetas, items, links, sub-botones, etc.
Los estados del componente por ejemplo .bloque__isHide/.bloque__isShoe.
*/
.bloque__elemento--modificador{}
Es importante recordar que definir variables en Sass estas dejan de existir luego de la compilación, y pasan a ser valores estáticos de las propiedades definidas y no como variables CSS (por lo tanto no se pueden leer o manipular con JS).
El método getElementById() aplicado sobre el document HTML nos permite la selección de elementos del DOM (ELEMENT_NODE) mediante un id único, para ser luego manipulado mediante JS; Es una buena practica verificar mediante un condicional if la existencia o no de un elemento (ó su id especificado), puesto que un valor NULL detiene la ejecución JS y genera error.
map-get() es una función propia de Sass para obtener un valor almacenado en un listado o mapa Sass; la cual requiere dos parámetros: el nombre del mapa y la clave.
La función map-has-key() como parámetro de una condicional (@if) nos permite una gestión de errores al momento de aplicar medias queries, pues nos permite verificar la existencia de una clave dentro de una lista o mapa Sass.