ποΈ Developed in April 2026
Saborea MΓ©xico is a responsive, multi-page website dedicated to Mexican gastronomy. It invites visitors to discover the country's culinary traditions through featured recipes, an overview of several Mexican regions, and in-depth pages on two iconic dishes: tacos and nachos, covering their history, ingredients, and preparation.
Beyond the content, the project is a hands-on exercise in modern front-end development: a mobile-first, accessible (W3C/WCAG) site built with Sass, PostHTML and Parcel, structured with ITCSS + BEM + OOCSS, and tuned for performance through image optimization, responsive images, lazy loading and PageSpeed Insights improvements.
- Home Page: landing page presenting featured recipes and information about several regions of Mexico.
- Recipes Page: a collection of 4 typical Mexican recipes.
- Tacos Page: a dedicated page covering the history of tacos, their ingredients, and how to prepare them.
- Nachos Page: a dedicated page covering the history of nachos, their ingredients, and how to prepare them.
- Sources Page: documentation and links to the sources consulted throughout the project's development.
- Initial configurations.
- Pages' structure and content.
- Use of preprocessors and postprocessors.
- Semantics and accessibility following W3C guidelines.
- Appropiate image format selection.
- Three phase (+ baseline) image optimization:
- (0) Original images.
- (1) Resizing.
- (2) Sharp configuration.
- (3) Format conversion.
The tests were done with the Network DevTools with Slow 4G, Hard Reload and studying the transferred resource size and loading time.
- Responsive image techniques:
- Resolution switching (size) for images in
/,/categoria,/det1and/det2. - Resolution switching (dpi) for the header and footer icon.
- Art direction for images in
/,/det1and/det2.
- Resolution switching (size) for images in
- CSS element animations, clip-path usage and SVG addition.
- Two phase (+ baseline) page load performance analysis:
- (1) Original page (With Phase 2οΈβ£ optimizations).
- (2) Lazy loading and asynchronous script loading.
- (3) Google PageSpeed Insights test optimizations.
The tests were done with the Network DevTools with Regular 3G, Disable cachΓ© and studying the full-page load time, total page size, transferred size transferred over the network, and number of resources loaded.
More data, information and explanations available at https://github.com/marcturu/saboreamexico/tree/main/docs.
Make sure you have installed:
- Node.js 20.x or higher
Check the version:
node -vgit clone https://github.com/marcturu/saboreamexico.git
cd saboreamexiconpm installnpm run startThe app will be available at http://localhost:1234, with live reload enabled.
You can try the deployed version directly in the browser:
- Netlify (browser testing): WebApp: https://saboreamexico.netlify.app/
βΉοΈ Deployment details: The project is deployed on Netlify from the
mainbranch.
- Build command:
npm run build- Publish directory:
dist
- ITCSS β style architecture (settings, tools, generic, elements, objects, components, utilities)
- BEM β CSS class naming convention
- OOCSS β reusable object classes (
o-container,o-section) - Responsive, mobile-first design
| Technology | Purpose |
|---|---|
| Parcel v2 | Bundler β development server, production build, asset pipeline |
| Sass/SCSS | CSS preprocessor β variables, nesting, functions, mixins, partials (@parcel/transformer-sass) |
| PostHTML | HTML partials via posthtml-include |
| Stylelint | SCSS linting with custom BEM and SCSS rules (stylelint-config-prettier-scss, stylelint-config-recommended-scss, stylelint-scss), configured in .stylelintrc |
| Technology | Purpose |
|---|---|
lightningcss |
CSS minification and optimization (@parcel/optimizer-css) |
htmlnano |
HTML minification (@parcel/optimizer-htmlnano) |
| SWC | JavaScript minification (@parcel/optimizer-swc) |
sharp |
Image transformation and WebP conversion (@parcel/transformer-image) |
| Dependency | Purpose |
|---|---|
| AOS | Scroll animations "aos": "^2.3.4" |
| Font Awesome | Icons "@fortawesome/fontawesome-free": "^7.2.0" |
| Command | Description |
|---|---|
npm run start |
Starts the development server at http://localhost:1234 with live reload |
npm run build |
Compiles and optimizes the files for production into dist/ |
npm run clean |
Removes the dist/ folder and caches |
npm run stylelint |
Validates the SCSS files against the configured rules |
docs/
screenshots/
src/
βββ index.html
βββ categoria.html
βββ det1.html
βββ det2.html
βββ links.html
βββ views/ # PostHTML partials
β βββ partials/
β βββ home/
β βββ categoria/
β βββ det1/
β βββ det2/
β βββ links/
βββ assets/
β βββ fonts/ # Self-hosted fonts (Unbounded, DM Sans)
β βββ images/
β βββ scripts/
β β βββ app.js
β β βββ modules/ # JS modules (aos and header)
β βββ styles/
β βββ main.scss
β βββ _dependencies.scss
β βββ settings/ # Variables, fonts
β βββ tools/ # Functions, mixins
β βββ generic/ # Reset
β βββ elements/ # Base styles
β βββ objects/ # OOCSS objects
β βββ components/ # BEM components
β βββ utilities/ # Utility classes




















