Purpose: This document gives AI agents a compact, actionable overview of this repository to speed up future tasks (edits, features, debugging, content updates).
en/
and it/
folders; shared layouts/partials in _includes/
and shared data in _data/
.sass
(npx sass) from scss/
to css/
.engineStrict: true
.npm start
: cleans _site
, builds Sass, runs Eleventy --serve
with BrowserSync (8080; UI 3001).npm run build
: cleans _site
, builds Sass, runs Eleventy (output in _site/
).npm run watch:sass
, npm run watch:eleventy
for focused dev..eleventy.js
)_site/error.html
without redirect.toUTCString
, removeLang
(removes leading /en/ or /it/ from URLs), exclude
, debugger
.italianPosts
and englishPosts
via tags ('post','it' or 'en').en/en.json
and it/it.json
provide { language, locale }
used by templates._data/i18n.json
, accessed via ``.removeLang
to normalize URLs.en/index.html
, it/index.html
use layout _includes/home.html
and translations from _data/i18n.json
.en/portfolio/
, it/portfolio/
. Portfolio items rendered by _includes/portfolio-items.html
through collections.case
filtered by case.data.lang
.en/partners/
, it/partners/
page lists partners (MongoDB, Cloudinary, Percona, Sinthera, Sease) with CTAs.en/labs.html
, it/labs.html
with Technology Radar include (_includes/pages/radar.html
) reading config.json
.en/blog/
, it/blog/
with layout _includes/pages/blog.html
; posts expected in */blog/posts/
with tags for collections.*/jobs.html
and job detail pages (it: job-developer.html
, job-junior-developer.html
).*/manifesto/
markdown with layout _includes/pages/manifesto.html
.*/contact.html
with email/phone/socials/address.*/privacy.html
(IT text, EN disclaimer) with last update shown._data/site.js
: url
(dev vs prod) and buildTime
timestamp._data/i18n.json
: UI strings for both locales.config.json
: Technology Radar dataset used in Labs page.index.html
: JS redirect to /it/
if browser language starts with 'it', else /en/
.sitemap.liquid
present to generate sitemap (and _site/sitemap.xml
is part of build output).scss/
, compiled CSS in css/
(compressed).fonts/
, favicons in favicons/
(mapped to root via passthrough).images/
._site/
as artifact.deploy.sh
uploads _site/
to S3 with cache-control policies (assets long cache; HTML/XML/manifests no-cache; JSON short; robots.txt daily), then invalidates CloudFront.S3_BUCKET=dev.softinstigate.com
, AWS_DEFAULT_REGION=eu-south-1
.S3_BUCKET=softinstigate.com
, AWS_DEFAULT_REGION=eu-central-1
.CLOUDFRONT_ID
differs per env._includes/pages/
)home.html
, portfolio.html
, single_case.html
, partners
, labs.html
, blog.html
, contact.html
, jobs.html
, job-description.html
, manifesto.html
, privacy.html
, team.html
, article.html
, radar.html
.header.html
(lang switcher + menu), footer.html
(legal + social + scripts), head.html
(meta includes).locale
and t
(translations). Ensure you set `` when creating new layouts/pages.*/portfolio/
(or */portfolio/cases/
), set layout: pages/single_case.html
, title:
, sitemap
, and lang
in frontmatter if used by collections; add imagery under corresponding */portfolio/cases/
(passthrough is configured for images).italianPosts
/englishPosts
.removeLang
filter to normalize/transform URLs.--port
to Eleventy in scripts or free the port.engineStrict
blocks older versions..eleventy.js
._site/error.html
via middleware..nvmrc
for Node 20 LTS to standardize dev envs.