Newsletter
Join the Community
Subscribe to our newsletter for the latest news and updates
A custom-built Astro template for showcasing projects, themes, and technical insights with a dark, animated design.

A dark portfolio & blog theme for Astro with a live 5,000-particle Three.js background, blog system, and glassmorphism UI.
The t3ma template is a custom Astro starter for a personal portfolio and blog, created by indie developer Artem Kan and used live on temaprint.com.
It's a static site template built with Astro 4.15 that serves as a foundation for a personal portfolio and blog. It takes content defined in Markdown files and site configuration from a JSON file, then outputs a fully static HTML site with automatic sitemap generation. The template includes a homepage with a hero section, bento grid, projects list, and career timeline, plus a blog section, and an easter egg page at /signal. It is open source under the MIT license.
Clone the repository, install dependencies with npm install, then run npm run dev for local development. Content is managed through Markdown post files, a site.json configuration, and a pages directory; running npm run build produces a static site in dist/ ready for deployment.
Free and open source under the MIT license.
Yes, it is released under the MIT license, so you can use, modify, and deploy it for personal or commercial projects without cost.
The template is built with Astro 4.15, a static site generator that outputs plain HTML by default, with optional client-side islands.
It includes a blog section at /posts/* where each Markdown file becomes a post. The layout includes BlogPost and SidebarLayout components, and posts are marked up with Article structured data.
Run npm run build to create the dist/ folder and serve it from any static host. The repository includes a deploy.sh script that synchronizes the build to a Hetzner server over rsync.
None — styling is custom CSS with no frameworks. The dark theme is defined in src/styles/global.css using CSS variables, with the accent color set to #8b5cf6.
