AstroBlog

dotfiles-astro-theme — Astro Blog Template

By nabsiddiqui

Dotfiles is a terminal-style blog theme for Astro with 14 built-in developer color palettes, supporting Markdown/MDX writing, RSS, search, and SEO.

Explore the design

Compare the page layouts and mobile experience. Open any screenshot for a closer look.

3 previews
Desktop homepage1 / 3
Desktop captureTop of page

Actual screenshot captured by the server browser.

All pages & views 3

Screenshots show visual appearance; interactive behavior may differ.

Recorded 2026-10-03View source

What stands out

A quick read of the recorded project description.

01

14 built-in color schemes covering Catppuccin, Nord, Dracula, Rosé Pine, Gruvbox, Solarized, Tokyo Night, and others, with dark and light variants

02

Terminal-style interface with command-line-style headings, monospace typographic details, and a <Terminal> terminal window component usable directly in MDX

03

Content-driven: blog posts and pages live in src/content/blog/ and src/content/pages/, with Markdown and MDX support

04

Site title, description, author, hero copy, social links, project list, and default theme are configured centrally in src/config.ts

05

Built-in RSS, search, and SEO features, built with TypeScript and Tailwind CSS

Template Details

Dotfiles is an Astro blog theme visually inspired by terminal interfaces. It brings command-line-style headings, monospace typographic details, and terminal window components into blog pages, making it suitable for development notes, personal projects, or technical essays. The theme includes 14 color schemes, including Catppuccin, Nord, Dracula, Rosé Pine, Gruvbox, Solarized, and Tokyo Night, each with dark or light variants; the default is the clean-white light theme. Site information, the homepage hero, social links, project lists, and the default theme are configured centrally in src/config.ts. For content, blog posts go in src/content/blog/ as Markdown, and pages go in src/content/pages/ as Markdown or MDX; pages automatically appear in navigation and can be hidden with hideFromNav. In MDX, the <Terminal> component can be used directly to wrap content in a terminal window style, with no manual import required. The theme also includes built-in RSS, search, and SEO features, and is built with TypeScript and Tailwind CSS. It requires Node.js 18+ and npm 9+, and the local development server is started with npm run dev.

AstroBlog

Is it right for your project?

Use Cases

  • Building a personal technical blog to publish development notes, tutorials, or project records
  • Providing a consistently styled writing site for developers who like terminal and command-line aesthetics
  • Using the <Terminal> component in MDX pages to present a personal introduction, skills list, or configuration snippets
  • Managing site information, homepage hero, and project showcase centrally through src/config.ts

Suitable For

  • Developers using Astro who want a terminal-style blog interface quickly
  • Personal bloggers who write in Markdown or MDX and need RSS and search
  • Users who prefer developer color schemes such as Catppuccin, Nord, and Dracula and want to switch themes freely

Getting started & customization

Use these recorded setup notes alongside the repository instructions for your chosen version.

  1. 1

    Requires Node.js 18+ and npm 9+

  2. 2

    After cloning the repository, run npm install, then start the local development server with npm run dev (default localhost:4321)

  3. 3

    Site information, hero copy, social links, projects, and the default theme are modified in src/config.ts

  4. 4

    Blog posts go in src/content/blog/, pages go in src/content/pages/, and pages can be hidden with hideFromNav

  5. 5

    The code is MIT licensed and can be used, modified, commercialized, and distributed for free, but copyright and license notices must be retained; third-party assets such as demo images, fonts, and icons require separate license verification

Read repository instructions

License & source material

Usage conditions & limitations

Free to use · keep license notice

This listing covers the free version in the public repository under the MIT license; 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

  • The code for this version may be used, modified, commercialized, and distributed for free.
  • 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 limitations of liability are governed by the original license and applicable law.

Additional costs & items to verify

  • Demo images, fonts, icons, and other third-party assets must be checked against 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

Compiled by DeepSeek based on repository license and README ·2026-10-03. 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
Blog
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
2026-01-07
Screenshot last checked
2026-10-03

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: 93ea9697158ca2d49ff0889a0c2c358f5951f5574cee7ccb5cbd43edf3d78a6c

2026-10-03T00:43:30.729Z

Source file / repository
# Dotfiles

A terminal-inspired blog theme for Astro with 14 developer-favorite color palettes.

**[View Live Demo →](https://dotfiles-astro-theme.netlify.app)**

![Dotfiles Theme](https://raw.githubusercontent.com/nabsiddiqui/dotfiles-astro-theme/main/public/screenshots/hero.png)

## Features

- **14 themes** - Catppuccin, Nord, Dracula, Rosé Pine, Gruvbox, Solarized, Tokyo Night
- **Clean default** - Light theme for readability, dark themes for vibes
- **Terminal aesthetic** - Command-style headers, monospace touches
- **Content-driven** - Write pages in markdown or MDX
- **RSS, search, SEO** - All built in
- **TypeScript** - Full type safety
- **Tailwind v4** - Latest utility-first CSS

## Quick Start

```bash
# Clone the theme
git clone https://github.com/nabsiddiqui/dotfiles-astro-theme.git my-blog
cd my-blog

# Install dependencies
npm install

# Start dev server
npm run dev
```

Open [localhost:4321](http://localhost:4321) to see your site.

## Configuration

Everything lives in `src/config.ts`:

```typescript
export const siteConfig = {
  title: "Your Name",
  description: "What you're about",
  author: "Your Name",
  siteUrl: "https://yoursite.com",
  
  hero: {
    title: "Your Name",
    typewriterLines: ["What you do", "Where you work"],
    description: "I build **things** and write about **stuff**.",
    ctaButtons: [
      { text: "Read Blog", href: "/blog", isPrimary: true },
      { text: "About Me", href: "/about", isPrimary: false }
    ]
  },
  
  social: {
    github: "https://github.com/you",
    twitter: "https://twitter.com/you"
  },
  
  theme: {
    defaultTheme: "clean-white"  // or any of the 14 themes
  }
};
```

## Available Themes

| Theme | Style |
|-------|-------|
| `clean-white` | Light (default) |
| `catppuccin-mocha` | Dark |
| `catppuccin-latte` | Light |
| `rose-pine` | Dark |
| `rose-pine-dawn` | Light |
| `nord` | Dark |
| `nord-light` | Light |
| `dracula` | Dark |
| `solarized-dark` | Dark |
| `solarized-light` | Light |
| `gruvbox-dark` | Dark |
| `gruvbox-light` | Light |
| `tokyo-night` | Dark |
| `tokyo-night-light` | Light |

## Writing Content

### Blog Posts

Add markdown files to `src/content/blog/`:

```markdown
---
title: "My First Post"
description: "What this post is about"
date: "2025-01-15"
tags: ["web", "astro"]
---

Your content here.
```

### Pages

Add pages to `src/content/pages/` (markdown or MDX):

```markdown
---
title: "About"
description: "About me"
---

Regular markdown content here.
```

Pages show in navigation automatically. To hide one, add `hideFromNav: true`.

### Terminal Chrome

Use `<Terminal>` in MDX files to wrap content in a terminal window. No import needed:

```mdx
---
title: "About"
---

Some intro text here.

<Terminal title="~/.profile">
  **Name** Your Name  
  **Role** Developer
  
  - Skill one
  - Skill two
</Terminal>

More content outside the terminal.
```

Markdown works inside `<Terminal>` - just write normally.

### Projects

Define projects in `src/config.ts`:

```typescript
projects: {
  items: [
    {
      title: "My Project",
      description: "What it does",
      link: "https://github.com/you/project",
      tags: ["TypeScript", "React"]
    }
  ]
}
```

## Project Structure

```
src/
├── config.ts          # Site configuration
├── content/
│   ├── blog/          # Blog posts (markdown)
│   └── pages/         # Site pages (markdown/MDX)
├── components/        # Reusable UI components
├── pages/             # Route files
└── styles/
    └── globals.css    # Theme colors & styles
```

## Deploy

### Vercel
```bash
npx vercel
```

### Netlify
```bash
npx netlify deploy --prod
```

### Cloudflare Pages
Connect your GitHub repo in Cloudflare dashboard.

## Commands

| Command | Description |
|---------|-------------|
| `npm run dev` | Start dev server at localhost:4321 |
| `npm run build` | Build for production |
| `npm run preview` | Preview production build |

## Requirements

- Node.js 18+
- npm 9+

## License

MIT - Created by [Nabeel Siddiqui](https://nabeelsiddiqui.net)

---

Built with [Astro](https://astro.build) and [Tailwind CSS](https://tailwindcss.com)
Report a correction

Explore similar templates

Compare previews and descriptions within the same stack and category.