Astro static generation with zero JavaScript output by default
clay-astro-theme — Astro Portfolio Template
By akvariefisk
Clay is a minimalist Astro-based portfolio theme for photographers and artists, featuring an image-centric layout, dark mode, and Decap CMS content management.
Explore the design
Compare the page layouts and mobile experience. Open any screenshot for a closer look.
Actual screenshot captured by the server browser.
All pages & views 2
Screenshots show visual appearance; interactive behavior may differ.
What stands out
A quick read of the recorded project description.
Minimalist, image-centric portfolio layout suitable for showcasing photography and artwork
Built-in dark mode toggle that persists the user's choice
Preconfigured Decap CMS, with content manageable through the /admin panel
Uses Astro Content Collections to manage Markdown/MDX content with type safety
Client-side routing provides a single-page-app-like page transition experience
Template Details
Clay is a portfolio theme ported from Gatsby to Astro, aimed at photographers and artists, with a minimalist, image-centric layout. The theme uses Astro static generation, outputs zero JavaScript by default, and provides client-side routing for a single-page-app-like navigation experience.
Content is managed through Astro Content Collections, with collections such as news, pages, sold, and work preconfigured in the repository, corresponding to news/blog, static pages, sold works, and portfolio entries. The theme comes preconfigured with Decap CMS (formerly Netlify CMS), allowing content management through the /admin panel, but that panel requires a local backend or deployment to Netlify to be usable.
For styling, the theme uses PostCSS and component-scoped CSS, with variables for colors, fonts, and breakpoints centralized in src/styles/vars.css; headings and menus use Futura small caps, while body text uses EB Garamond. The theme includes a built-in dark mode toggle that remembers the user's choice, and a collapsible menu on mobile.
Usage limitations: This is a small, personally maintained open-source theme with few repository stars; third-party assets such as demo images, fonts, and icons require separate license verification and cannot be judged solely by the code's MIT license.
Is it right for your project?
Use Cases
- Photographers building a personal portfolio website
- Artists or illustrators showcasing portfolios and sold works
- Static sites that need dark mode and an image-first layout
- Personal sites where content is managed through a Decap CMS panel
Suitable For
- Photographers, artists, and other visual creators
- Developers familiar with Astro or willing to learn its content collection usage
- Personal projects needing a minimalist, image-first portfolio template
- Users planning to deploy to Netlify and use Decap CMS
Getting started & customization
Use these recorded setup notes alongside the repository instructions for your chosen version.
- 1
After cloning the repository, run npm install to install dependencies, then npm run dev to start the development server, with the default address at http://localhost:4321
- 2
npm run build generates static files into the dist/ directory, which can be deployed to Netlify or Vercel
- 3
Style variables such as colors, fonts, and breakpoints are modified in src/styles/vars.css
- 4
The navigation menu is adjusted in the <nav> section of src/layouts/Layout.astro
- 5
The Decap CMS /admin panel requires a local backend or a Netlify deployment to be usable
License & source material
Usage conditions & limitations
Free to use · keep license noticeThis entry covers the free version under the MIT license in the public repository; the free scope applies to that version's code and does not mean external services or third-party assets are free.
Must comply with when using
- Free use, modification, commercial use, and distribution of this version's code are permitted.
- When distributing copies or substantial portions of the code, retain the original author's copyright notice and the full MIT license notice.
- The code is provided as is; warranties and liability limitations are governed by the original license and applicable law.
Additional costs & items to verify
- The Decap CMS /admin management panel is not ready out of the box; it requires a local backend or deployment to Netlify, and cannot be used directly to manage content in a purely static hosting environment.
- Demo images, fonts, icons, and other third-party assets require verification under their respective licenses and cannot be judged solely by the code's MIT license.
- External services such as domains, hosting, databases, payments, or AI may incur separate charges.
View Original Text Basis
Permission is hereby granted, free of charge
Original License Text
https://github.com/akvariefisk/clay-astro-theme/blob/main/LICENSEhttps://github.com/akvariefisk/clay-astro-theme/blob/main/README.mdUse the Admin panel at `/admin` (requires local backend or Netlify deployment)
Original README
Compiled by DeepSeek based on repository license and README ·2026-10-02. Results only cover the materials read; dependencies, images, fonts, and subsequent term changes are subject to their respective original texts.
Project checks & description sources
Template Information
- Source platforms
- GitHub
- Documentation and maintenance reference score
- More documented · 83 / 100
- Technologies
- Astro
- Website type
- Portfolio
How this score is calculated
Our heuristic uses license records (up to 30), a demo link (12), a preview (10), stars (15), recorded maintenance (15), description completeness (8), feature records (5) and classification data (5). It is not a code, security or performance test, or a Google score. A link does not establish tested functionality.
What to verify for this project
- Repository update recorded
- 2025-12-20
- Screenshot last checked
- 2026-10-02
A demo link is listed. Check it with your own content and viewport sizes; its presence does not confirm that forms, authentication or payments work.
The catalog identifies Astro as the primary stack. Check the actual dependency manifest and lockfile for versions and hosting requirements. These notes use recorded metadata, not a code audit or a deployment test.
Use a selection guide →How this description was prepared
AI-assisted description based on catalog records and repository material. Repository authors are not automatically the reviewers of this description.
Automatically checked against source and license rules; no manual editorial review.
Inspect the recorded source material
SHA-256: 0aac9d8b78a1e36926d66562a4453f36a71a43be5dd53a96eed05459e4347ae9
2026-10-02T09:40:49.122Z
Source file / repository# 🏺 Clay Theme for Astro
[](https://app.netlify.com/projects/clay-astro-theme/deploys)
[](https://astro.build)
[](https://opensource.org/licenses/MIT)
A minimalist, image-centric theme for photographers and artists. Originally a Gatsby theme, now fully ported to **Astro** for superior performance and modern development experience.
> **Note**: This theme is a modern Astro port of the beautiful [Clay Theme](https://github.com/lilxyzz/clay-theme) by `lilxyzz`.
<p align="center">
<img src="public/img/clay_astro_light.png" width="48%" alt="Light Mode" style="border-radius: 10px; border: 1px solid #ddd;">
<img src="public/img/clay_astro_dark.png" width="48%" alt="Dark Mode" style="border-radius: 10px; border: 1px solid #333;">
</p>
📺 Check out the [Live Demo](https://clay-astro-theme.netlify.app) or view on the [Astro Themes Portal](https://astro.build/themes/details/clay/)
---
## ✨ Features
- ⚡ **Astro-Powered** - Blazing fast static site generation with zero-JS output by default
- 🎨 **Beautiful Design** - Minimalist and image-centric layout perfect for portfolios
- 🔄 **Client Router** - Seamless client-side navigation for an SPA-like feel
- 📱 **Responsive Design** - Mobile-friendly layout with a collapsible menu
- 🌗 **Dark Mode** - Native dark mode support with toggle switch and persistence
- 📝 **CMS Ready** - Pre-configured with **Decap CMS** (formerly Netlify CMS)
- 🎯 **Scoped CSS** - Modular, component-scoped styles replacing legacy monolithic CSS
- ✍️ **Typography** - Futura for titles/menu (Small Caps) and EB Garamond for body
- 📚 **Content Collections** - Type-safe Markdown content management
---
## 🚀 Quick Start
```bash
# Clone the repository
git clone https://github.com/your-username/clay-astro-theme.git
cd clay-astro-theme
# Install dependencies and start dev server
npm install && npm run dev
```
Visit `http://localhost:4321` to see your site in action! 🎉
---
## 📦 Installation
### 1. Install Dependencies
```bash
npm install
```
### 2. Start Development Server
```bash
npm run dev
```
Your site will be running at `http://localhost:4321`
### 3. Build for Production
```bash
npm run build
```
The output will be in the `dist/` directory, ready for deployment.
---
## 🛠️ Tech Stack
- **[Astro](https://astro.build)** - Static Site Generator
- **[Decap CMS](https://decapcms.org/)** - Headless CMS
- **[PostCSS](https://postcss.org/)** - CSS Processing
- **TypeScript** - Type Safety
- **Markdown/MDX** - Content Management
---
## 📁 Project Structure
```text
/
├── public/ # Static assets (images, admin config)
│ ├── admin/ # Decap CMS configuration
│ └── img/ # Uploaded images
├── src/
│ ├── components/ # Reusable Astro components (PostCard, etc.)
│ ├── content/ # Content Collections (Markdown/MDX)
│ │ ├── news/ # News/blog posts
│ │ ├── pages/ # Static pages
│ │ ├── sold/ # Sold items (for artists)
│ │ └── work/ # Portfolio work items
│ ├── layouts/ # Main layouts (Layout.astro)
│ ├── pages/ # Route definitions
│ │ ├── index.astro # Home page
│ │ ├── [...slug].astro # Dynamic route for generic pages
│ │ └── work/[slug].astro # Dynamic routes for collections
│ ├── styles/ # Global variables and resets
│ │ ├── content.css # Typography for markdown content
│ │ └── vars.css # CSS Variables (Colors, Fonts)
│ └── templates/ # Templates for different content types
├── astro.config.mjs # Astro configuration
├── postcss.config.cjs # PostCSS configuration
└── tsconfig.json # TypeScript configuration
```
---
## 🎨 Customization
### Fonts & Colors
Edit `src/styles/vars.css` to update CSS variables for colors, fonts, and breakpoints:
```css
:root {
--color-primary: #3eb0ef;
--color-base: #131313;
--font-serif: 'EB Garamond', Georgia, Times, serif;
/* ... more variables */
}
```
### Content Management
- **Option 1**: Add markdown files directly to `src/content/` folders
- **Option 2**: Use the Admin panel at `/admin` (requires local backend or Netlify deployment)
### Navigation
Edit the `<nav>` section in `src/layouts/Layout.astro` to customize menu links.
---
## 🚀 Deployment
### Deploy to Netlify
[](https://app.netlify.com/start)
### Deploy to Vercel
```bash
npm run build
# Upload dist/ folder to Vercel
```
---
## 📝 License
This project is licensed under the **MIT License** - see the [LICENSE](LICENSE) file for details.
---
## 🙏 Credits
- **Original Theme**: [Clay Theme](https://github.com/lilxyzz/clay-theme) by `lilxyzz`
- **Framework**: [Astro](https://astro.build)
- **CMS**: [Decap CMS](https://decapcms.org/)
<p align="center">Made with ❤️ using Astro</p>
Explore similar templates
Compare previews and descriptions within the same stack and category.

astro-theme-cactus
Astro Cactus is an Astro-based blog and portfolio theme that uses Markdown/MDX content collections to manage posts, notes, and tags, with frontmatter type-checked by a schema.
Astro · Portfolio

astrofy
Astrofy is a free and open-source personal portfolio website template built with Astro and TailwindCSS, with built-in blog, CV timeline, project showcase, store, and RSS feed modules.
Astro · Portfolio

astro-nano
Astro Nano is a static, minimalist portfolio and blog template built with Astro, Tailwind, and TypeScript without frontend frameworks. It includes light/dark themes, animated UI, automatic sitemap and RSS feed generation, and Markdown/MDX support with component imports.
Astro · Portfolio

astro-erudite
astro-erudite is an opinionated, unstyled static blog template built with Astro and native CSS, with no UI or CSS framework and minimal dependencies.
Astro · Portfolio

astro-sphere
Astro Sphere is a static, minimalist portfolio and blog theme maintained by markhorn-dev, built mainly with Astro, Tailwind, and TypeScript, with a small amount of SolidJS for stateful components.
Astro · Portfolio

astro-micro
Astro Micro is a framework-free blog and portfolio theme for Astro, forked from Astro Nano. It adds Pagefind search and Giscus comments while retaining type safety, sitemap, RSS, Markdown and MDX support, and TailwindCSS with system, light, and dark themes.
Astro · Portfolio
