Overview
This page documents how this site is built and how it represents my CV, writing, coding, and mapping interests. It also links to the Patriot 2025 field map work that supports my team.
Stack & Structure
- Static generator: Eleventy (11ty) with Nunjucks templates and Markdown content.
- CMS: TinaCMS for structured editing (homepage JSON, posts, and et-cetera docs like this page).
- Styling: Component CSS merged into
style-merged.cssvia a build script. - Layouts: Base template at
_includes/base.njkfor consistent header/sidebar/footer. - Content folders:
src/en/_data/home-en.json– homepage data (goals, experiences, projects).src/content/posts– writings/blog posts.src/en/pages/et-cetera– et-cetera docs (this page lives here).src/en/pages/projects/patriot_2025/maps– Patriot map experience.
Editing with TinaCMS
- Collection Posts: Markdown with frontmatter (
title,published,date,segments,body). - Collection Et Cetera (EN): Markdown docs like this one (
title,published,date,tags,body). - Homepage content is editable as a JSON singleton (
home-en). - Tina generates
/adminfor editing; Vercel builds consume the same content.
CV Representation
- Experiences & Education: Driven from
home-en.json, rendered on the homepage. - Skills & Certifications: Split into capabilities, experience certifications, and skill certifications.
- Tools: Highlighted in the Technology Stack section.
- Contact/CTA: Global CTA at the bottom of the homepage.
Writing & Coding Interests
- Writing: Posts live in
src/content/posts, surfaced under Latest Writings and the writing index. - Coding: This site itself (Eleventy + TinaCMS + MapLibre integration) is the primary showcased build.
- Maps: Patriot 2025 field map uses MapLibre with MBTiles tiling for offline-friendly use.
Patriot 2025 Map (Field Support)
- Tiles are generated from vetted layers, cached for offline/low-bandwidth use.
- No login required; optimized for mobile field devices.
- See the map:
/en/pages/projects/patriot_2025/maps/(also linked in Latest Projects with a modal explainer).
Build & Deploy
npm run build:vercelruns CSS merge, Eleventy build, map asset copy, and Tina build.- Vercel deploys from
main; TinaCloud reindex may be needed after schema/content changes.
Roadmap / Ideas
- Add a changelog page for site updates.
- Surface code snippets that power the mapping pipeline.
- Add multilingual parity for this documentation page.