A minimalist Astro template for developers
Demo: https://ojoanalogo.github.io/terminus-astro-template/
- 🚀 Astro 5.x - Fast, content-focused web framework
- 🎨 Tailwind CSS - Utility-first CSS framework with typography plugin
- 📱 Responsive Design - Mobile-first approach
- 📝 Blog Ready - Built-in blog functionality with markdown support
- 🚀 GitHub Pages Deployment - Automated deployment via GitHub Actions
- Node.js 18+
- A computer (optional)
-
Clone the repository
git clone https://github.com/ojoanalogo/terminus-astro-template.git cd terminus-astro-template -
Install dependencies
npm install
-
Start the development server
npm run dev
-
Open your browser Navigate to
http://localhost:4321to see your site!
terminus/
├── public/ # Static assets (favicon, images, etc.)
├── src/
│ ├── assets/ # Images, fonts, and other assets
│ ├── components/ # Reusable Astro components
│ │ ├── BaseHead.astro
│ │ ├── Header.astro
│ │ ├── PostPreview.astro
│ │ └── ...
│ ├── content/ # Content collections (blog posts, etc.)
│ │ ├── blog/ # Blog posts in markdown
│ │ └── config.ts # Content collection configuration
│ ├── layouts/ # Page layouts
│ │ ├── BaseLayout.astro
│ │ └── PostLayout.astro
│ ├── pages/ # File-based routing
│ │ ├── blog/ # Blog pages
│ │ ├── index.astro # Homepage
│ │ └── 404.astro # Custom 404 page
│ ├── styles/ # Global CSS styles
│ ├── utils/ # Utility functions
│ └── config.ts # Site configuration
├── astro.config.mjs # Astro configuration
├── tailwind.config.cjs # Tailwind CSS configuration
└── package.json # Dependencies and scriptsEdit src/config.ts to customize your site:
export const SITE_TITLE = "Your Site Title";
export const SITE_DESCRIPTION = "Your site description";Modify astro.config.mjs to:
- Update the site URL for production
- Add new integrations
- Configure build options
Create new blog posts in src/content/blog/:
---
title: "Your Post Title"
description: "Post description"
pubDate: "2024-01-15"
---
Your content here...Add new pages in the src/pages/ directory. Astro uses file-based routing:
src/pages/about.astro→/aboutsrc/pages/contact/index.astro→/contact
This template is configured for automatic deployment to GitHub Pages using GitHub Actions.
-
Fork or use this template to create your repository
-
Enable GitHub Pages in your repository settings:
- Go to Settings → Pages
- Select "GitHub Actions" as the source
-
Update the site URL in
astro.config.mjs:export default defineConfig({ site: "https://yourusername.github.io/your-repo-name", // ... other config });
-
Push to main branch - deployment happens automatically!
MIT
Contributions, issues, and feature requests are welcome!
