"Realizing more with less"
An architecture and design studio portfolio website based in Austin, Texas.
Create a feature branch — Never commit directly to main. Use feature/description or fix/description naming.
Start the dev server — After switching to your branch, run npm run serve and keep it running while you work.
Make changes — Edit files as needed. The dev server auto-reloads.
Commit and push — Stage changes with git add, commit with a clear message, and push to GitHub.
Open a pull request — Create a PR targeting main with a descriptive title and description of changes.
Merge and clean up — After approval/review, merge to main (which auto-deploys).
settings.yaml_data/settings.yaml # Site-wide configuration (edit this for theme changes)
entries/ # All content entries
projects/ # Project entries — get individual pages at /project/{slug}/
other/ # All non-project entries (news, awards, features, etc.)
_includes/components/ # Reusable template components
admin/ # Password-protected admin page (/admin/)
netlify/functions/ # Serverless functions (admin auth + GitHub commit API)
scripts/ # One-time utility scripts (e.g. migration)
Entry type is stored in the type: frontmatter field of each .md file. The folder determines only whether an entry gets a detail page:
entries/projects/ — type: project, gets /project/{slug}/ page + image galleryentries/other/ — any other type (news, award, feature, lecture, exhibition, staff), index onlyChanging between non-project types is a frontmatter-only operation. Changing to/from project requires moving the file between folders.
The Comprehensive Index at /index/ displays all entry types in a filterable spreadsheet-style layout.
Via admin panel (recommended): Go to /admin/, click + New Entry, fill in fields, save.
Manually:
entries/projects/ (for projects) or entries/other/ (for everything else)type: and other frontmatter fieldsRequired fields (all entries):
---
draft: false
type: award # Entry type — determines filter label and project-only fields
title: "Entry Title"
date: 2024-01-15
---
Common optional fields:
subtitle: "Brief tagline shown below title" # Displayed in Column 2
categories: # Displayed in Column 3
- HOUSING
- SUSTAINABLE
position: 1 # Sort order (lower = first)
Projects (entries/projects/, type: project)
/project/{slug}/---
draft: false
type: project
title: "Project Name"
subtitle: "Brief tagline"
date: 2024-01-15
year: 2024
categories:
- HOUSING
- SUSTAINABLE
collaborators:
- name: "Partner Name"
role: "Structural Engineer"
position: 1
---
Updates (entries/other/, any non-project type:)
---
draft: false
type: award
title: "Update Title"
subtitle: "Brief tagline"
description: "Short description"
date: 2024-01-15
link: "https://external-url.com"
position: 2
---
Staff (entries/other/, type: staff)
active: true/false controls whether the person appears on the About page---
draft: false
type: staff
title: "Full Name"
subtitle: "Role / Title"
date: 2024-01-15 # Start date — displayed as year on About page
active: true # true = shown on About page, false = hidden
---
Bio text here.
Categories and types can be renamed in bulk from the admin panel: /admin/ → Manage Labels. This renames the label across all entries in one operation without needing to edit files individually.
Drop an image file in the entry folder for automatic thumbnail:
header.jpg or header.png - Preferred namingthumb.jpg or thumb.png - Alternative namingFor projects only, additional images are auto-discovered for the gallery on the detail page.
entries/other/emerging-voices-award/
├── emerging-voices-award.md
└── thumb.jpg
# emerging-voices-award.md
---
draft: false
type: award
title: "Emerging Voices Award"
subtitle: "Architectural League of New York"
date: 2021-12-31
categories:
- AWARD
link: "https://archleague.org/..."
relatedProjects:
- "000000_project-slug"
---
LowDO has been selected for the Architectural League's Emerging Voices program...
npm run serve # Start development server
npm run build # Production build
netlify dev # Full Netlify dev environment