Webpack
- Config for dev and prod
- webpack dev server
- Babel
- SCSS
- Caching: code splitting, bundle content hash
- Image compression
JS
- IntersectionObserve: lazy-loading and infinite scroll with recycling
- Markup logic with template literals
- Handler for outline when user is tabbing or clicking
- Routing: inital page on URL request, pushState for DOM buttons, popstate for reacting on URL change and change DOM elements. Specific features for Github static pages
- Event bus: Publish to an event type, subscribe to the subscription object
CSS
- Image fade-in animation
- Scroll button animation
Other
- SonarLint
- BEM