A visual guide to where everything lives in the LowDO repository.
lowdo-dot-net/
├── entries/ ← YOU EDIT HERE (all content)
│ ├── projects/ ← Design projects (get own pages)
│ └── other/ ← All other entries (index only)
├── _data/
│ └── settings.yaml ← YOU EDIT HERE (site customization)
├── admin/ ← Password-protected admin panel (/admin/)
├── docs/ ← YOU ARE HERE (this documentation)
├── _includes/ ← DON'T EDIT (HTML templates)
├── assets/ ← DON'T EDIT (site resources)
├── _site/ ← DON'T EDIT (auto-generated HTML)
├── CLAUDE.md ← Technical documentation
├── package.json ← DON'T EDIT (dependencies)
├── .eleventy.js ← DON'T EDIT (build config)
└── netlify.toml ← DON'T EDIT (hosting config)
These folders/files are designed for content creators:
| Path | What It Is | When to Edit |
|---|---|---|
entries/ | All content folders | Adding/editing projects, news, awards, etc. |
_data/settings.yaml | Site configuration | Changing colors, site title, contact info |
docs/ | This documentation | Adding/updating guides |
These require coding knowledge:
| Path | What It Is | Caution |
|---|---|---|
_includes/ | HTML templates | Changes affect site-wide layout |
assets/ | CSS, JavaScript, fonts | Changes affect site-wide styling |
.eleventy.js | Build configuration | Changes affect how site is built |
These are auto-generated:
| Path | What It Is | Why Not to Touch |
|---|---|---|
_site/ | Generated HTML | Gets deleted and rebuilt on every build |
node_modules/ | Dependencies | Auto-installed from package.json |
entries/ Folder (Where Content Lives)This is where you'll spend most of your time:
entries/
├── projects/ ← Design projects (get own pages)
│ ├── casa-marianella/
│ │ ├── casa-marianella.md ← Content file
│ │ ├── header.jpg ← Thumbnail image
│ │ ├── 01-exterior.jpg ← Gallery image
│ │ └── 02-interior.jpg ← Gallery image
│ └── wolf-creek-ranch/
│ ├── wolf-creek-ranch.md
│ ├── header.jpg
│ └── 01-wide-view.jpg
└── other/ ← All non-project entries (index only)
├── emerging-voices-award/
│ ├── emerging-voices-award.md ← type: award
│ └── thumb.jpg
├── austin-chronicle-feature/
│ └── austin-chronicle-feature.md ← type: feature
└── ut-lecture-2024/
└── ut-lecture-2024.md ← type: lecture
Every entry's type (project, award, feature, lecture, etc.) is set by a type: field in its frontmatter — not by its folder. The folder only controls whether the entry gets its own page:
entries/projects/ → gets a detail page at /project/{slug}/entries/other/ → index only, no detail page---
type: award ← Sets the type label shown in the index filter
draft: false
title: "Emerging Voices Award"
---
Every entry follows this structure:
entries/{projects-or-other}/{entry-name}/
├── {entry-name}.md ← Markdown file (same name as folder)
└── image.jpg ← Optional image(s)
Important: The folder name and the .md filename must match!
✅ Good:
casa-marianella/
└── casa-marianella.md
❌ Bad:
casa-marianella/
└── project.md (wrong name)
entries/projects/ (Get Own Pages)Projects get individual detail pages at /project/{name}/:
projects/casa-marianella/
├── casa-marianella.md ← Required: content (must include type: project)
├── header.jpg ← Recommended: main thumbnail
├── 01-exterior-view.jpg ← Optional: gallery image
├── 02-interior-space.jpg ← Optional: gallery image
└── 03-detail-shot.jpg ← Optional: gallery image
All images in the folder (except header.*/thumb.*) are auto-added to the gallery.
entries/other/ (Index Only)All non-project entries live here — news, awards, features, lectures, exhibitions, staff updates. They appear in the comprehensive index but don't get their own pages. The type: frontmatter field controls the label shown in the index and filters.
other/emerging-voices-award/
├── emerging-voices-award.md ← Required (includes type: award)
└── thumb.jpg ← Optional: thumbnail for index
Supported types: news, award, feature, lecture, exhibition, staff — or any custom type you create.
_data/ Folder (Site Settings)Contains configuration files:
_data/
└── settings.yaml ← Site-wide settings
# Site metadata
title: "LowDO"
description: "Low Design Office - Architecture and Design Studio"
email: "lowdo@lowdo.net"
# Theme colors
colors:
background: "#ffffff"
text: "#000000"
accent: "#0000ff"
# Typography
fonts:
body: "Helvetica, Arial, sans-serif"
heading: "Helvetica, Arial, sans-serif"
# And more...
See Settings Reference for details.
docs/ Folder (This Documentation)You're here! This folder contains all user-friendly guides:
docs/
├── README.md ← Table of contents
├── 00-start-here.md ← Quick orientation
├── 01-understanding-the-site/ ← How it works
├── 02-adding-content/ ← Content creation guides
├── 03-editing-content/ ← Editing guides
├── 04-customizing-the-site/ ← Customization guides
├── 05-tools-and-workflow/ ← Git, VS Code, etc.
├── 06-troubleshooting/ ← Common problems
└── 07-reference/ ← Quick references
_includes/ Folder (Templates)⚠️ Advanced users only
Contains HTML templates and components:
_includes/
├── layouts/ ← Page layouts (base, project, etc.)
├── components/ ← Reusable components (header, footer, etc.)
└── assets/
├── css/ ← Stylesheets
└── js/ ← JavaScript
When to edit:
_site/ Folder (Auto-Generated)❌ Never edit
This folder contains the generated HTML that gets published. It's completely auto-generated and gets deleted/rebuilt on every build.
_site/
├── index.html ← Generated homepage
├── all/
│ └── index.html ← Generated comprehensive index
├── project/
│ ├── casa-marianella/
│ │ └── index.html ← Generated project page
│ └── wolf-creek-ranch/
│ └── index.html
└── assets/ ← Optimized images, CSS, JS
Why you see it: Git ignores this folder, but it exists locally after running npm run build or npm run serve.
Let's trace a real example: the "Casa Marianella" project.
entries/projects/casa-marianella/
├── casa-marianella.md ← You create this
│ ---
│ title: "Casa Marianella"
│ date: 2023-06-15
│ categories:
│ - HOUSING
│ - COMMUNITY
│ ---
│ Project description here...
│
├── header.jpg ← You add this
├── 01-exterior.jpg ← You add this
└── 02-interior.jpg ← You add this
_site/project/casa-marianella/
└── index.html ← Auto-generated detail page
_site/all/
└── index.html ← Auto-generated index (includes this project)
| What You're Adding | Where It Goes | Type field |
|---|---|---|
| Design project | entries/projects/{name}/ | type: project |
| News item | entries/other/{name}/ | type: news |
| Award | entries/other/{name}/ | type: award |
| Press feature | entries/other/{name}/ | type: feature |
| Lecture | entries/other/{name}/ | type: lecture |
| Exhibition | entries/other/{name}/ | type: exhibition |
| Staff update | entries/other/{name}/ | type: staff |
| Site colors | _data/settings.yaml | — |
| Site title/info | _data/settings.yaml | — |
Folders:
✅ Good: casa-marianella, emerging-voices-award, austin-monthly-feature ❌ Bad: Casa Marianella, project1, new_award
Markdown files:
.md extension✅ Good: casa-marianella/casa-marianella.md ❌ Bad: casa-marianella/project.md
Images:
header.jpg, thumb.jpg (used as thumbnails)✅ Good: header.jpg, 01-exterior-view.jpg, detail-closeup.jpg ❌ Bad: IMG_1234.jpg, photo (1).jpg, FINAL.jpg
See File Naming Conventions for complete rules.
Some files start with a dot (.). These are usually configuration:
.eleventy.js ← Build configuration
.gitignore ← Files git should ignore
.eleventyignore ← Files Eleventy should ignore
You generally don't need to edit these unless you're doing advanced setup.
Now that you understand where files live:
entries/projects/{project-name}/.md fileentries/projects/{name}/See FAQ for more questions.