AstroStarter

sobasic — Astro Starter Template

By lukeska

sobasic is an Astro-based blog template that provides a homepage, blog list, and article pages, uses Markdown/MDX to manage content, and adjusts the primary color through Tailwind theme variables.

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-04View source

What stands out

A quick read of the recorded project description.

01

Astro-based blog template with page routes generated by .astro files under src/pages/

02

Articles use .md or .mdx files in src/content/blog/, supporting title, description, pubDate, heroImage, and featured fields

03

Provides a FeaturedArticles component to display articles marked as featured

04

Primary color is adjusted through color-primary-* variables in src/styles/global.css and can be mapped to Tailwind colors

05

Main navigation links are configured in the navItems array in src/components/Header.astro

06

MIT licensed, with the demo site deployed on Netlify

Template Details

sobasic is an Astro blog template open-sourced by lukeska on GitHub, licensed under MIT, with a demo site deployed on Netlify. The template targets personal blogs or content-oriented sites, offering basic pages such as a homepage, blog list, article detail, and about page, and includes a built-in FeaturedArticles component for highlighting articles marked as featured.

For content management, articles are placed as .md or .mdx files in the src/content/blog/ directory. The front matter must include title, description, and pubDate; heroImage and featured are optional fields. Article images are placed in src/images/. Pages generate routes through .astro files under src/pages/; when adding new pages, BaseLayout must be used to maintain a consistent site appearance.

For customization, the primary color is set in src/styles/global.css through color-primary-* variables, which can be mapped to any Tailwind color. Main navigation links are modified in the navItems array in src/components/Header.astro. The repository README also provides online entry points for StackBlitz, CodeSandbox, and GitHub Codespaces.

Limitations and notes: the template does not mention built-in search, comments, RSS, pagination, or CMS integration in the available information. Demo images come from Unsplash and must be checked against their own licenses; they cannot be judged solely by the code's MIT license.

AstroStarter

Is it right for your project?

Use Cases

  • Building a personal blog and centrally managing Markdown/MDX articles
  • Content sites that need basic pages such as a homepage, blog list, and article detail
  • Projects that want to quickly replace the site's primary color using Tailwind theme variables
  • Viewing and trying the template online through StackBlitz, CodeSandbox, or GitHub Codespaces

Suitable For

  • Personal bloggers familiar with Astro and Markdown writing
  • Front-end developers who need a lightweight blog starter structure
  • Projects that accept handling extension features such as comments and search on their own

Getting started & customization

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

  1. 1

    Create a project with npm create astro@latest -- --template lukeska/sobasic, or clone the repository and run npm install and npm run dev

  2. 2

    Place articles in src/content/blog/; the front matter must include title, description, and pubDate, while heroImage and featured are optional

  3. 3

    Place new pages in src/pages/ and wrap content with BaseLayout

  4. 4

    Modify the primary color in the color-primary-* variables in src/styles/global.css, and adjust navigation links in src/components/Header.astro

  5. 5

    Demo images come from Unsplash and must be checked against their own licenses before use

Read repository instructions

License & source material

Usage conditions & limitations

Free to use · keep license notice

This entry covers the free version under the MIT license in the public repository; the free scope is the code of this version and does not mean that external services or third-party assets are free.

Must comply with when using

  • The code of this version may be used, modified, used commercially, and distributed for free.
  • When distributing copies or substantial portions of the code, retain the original author's copyright notice and the complete 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.
  • The demo photos in the template come from Unsplash and were taken by Josep Martins; they must be used under Unsplash's own asset license, and image authorization cannot be judged solely by the code's MIT license.
View Original Text Basis

Permission is hereby granted, free of charge

Original License Text

Photos by <a href="https://unsplash.com/@josepmartins?utm_content=creditCopyText&utm_medium=referral&utm_source=unsplash">Josep Martins</a> on <a href="https://unsplash.com/photos/white-smoke-0-c5T6meRuk?utm_content=creditCopyText&utm_medium=referral&utm_source=unsplash">Unsplash</a>

Original README
https://github.com/lukeska/sobasic/blob/main/LICENSEhttps://github.com/lukeska/sobasic/blob/main/README.md

Compiled by DeepSeek based on repository license and README ·2026-10-04. 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
Astro Themes
Documentation and maintenance reference score
Partly documented · 73 / 100
Technologies
Astro
Website type
Starter
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-05-26
Screenshot last checked
2026-10-04

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.

Review declaration: [email protected] · 2026-10-05

Inspect the recorded source material

SHA-256: 4610a175988b14e0c4b74c28e89d710864b418c169dd83daa7e40d288da2dfc5

2026-10-04T21:32:10.081Z

Source file / repository
# So Basic - Astro Blog Template

Howdy! Before you read anything below, you can check out the ✨ [Live Demo](https://sobasic.netlify.app/) ✨

[![Screenshot](screenshot.png)](https://sobasic.netlify.app/)



[![Open in StackBlitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/github/lukeska/sobasic)
[![Open with CodeSandbox](https://assets.codesandbox.io/github/button-edit-lime.svg)](https://codesandbox.io/p/sandbox/github/lukeska/sobasic)
[![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/lukeska/sobasic?devcontainer_path=.devcontainer/devcontainer.json)

## 📦 Installation

### Astro installation

```sh
npm create astro@latest -- --template lukeska/sobasic
```

### Manual installation

#### 1. Clone the repo
```sh
git clone https://github.com/lukeska/sobasic.git my-project
# or
git clone https://github.com/lukeska/sobasic.git .
```
The . will clone it to the current directory so make sure you are inside your project folder first.

#### 2. Install dependencies
```sh
npm install
```

#### 3. Start the development server
```sh
npm run dev
```
## 🚀 Project Structure

Inside of your Astro project, you'll see the following folders and files:

```text
/
├── public/               
│   └── favicon.svg 
├── src/
│   ├── components/        
│   ├── content/          
│   │   └── blog/
│   ├── images/
│   ├── layouts/          
│   ├── pages/           
│   │   └── index.astro
│   └── styles/          
├── astro.config.mjs     
└── package.json         
```

Astro looks for `.astro` or `.md` files in the `src/pages/` directory. Each page is exposed as a route based on its file name.

There's nothing special about `src/components/`, but that's where we like to put any Astro/React/Vue/Svelte/Preact components.

Any static assets, like images, can be placed in the `public/` directory.

## 📰 Add your own content

### Add or change existing pages

Feel free to change any of the content on the existing files in folder `src/pages/`. In this folder you 
can add any `.astro` file. Make sure to use `<BaseLayout> to ensure any new page looks like the rest of the site.

```html
---
import BaseLayout from "../layouts/BaseLayout.astro";
---
<BaseLayout>
    <!-- your content here -->
</BaseLayout>
```

### Add new articles to the blog

Articles for the blog can be added as `.md` or `.mdx` files inside `src/content/blog/`. Hero images for the articles can be added to `src/images/`

Make sure to add the following data at the top of your file:

```html
---
title: 'This is my title'
description: 'This is my description'
pubDate: '2025-01-02'
heroImage: '../../images/article-image.jpg'
featured: true
---
```

- title is the title and meta title for the article
- description is used as short text in list of articles and as meta description
- pubDate is the publication date, used to sort articles in lists
- heroImage is optional and references an image inside `src/images/`
- featured is optional. Values can be `true` or `false`. It defines if an article is visible in the `FeaturedArticles.astro` component.

### Change links in the main navigation

Links in the main navigation can be changed in `src/components/Header.astro` by altering this variable:

```javascript
const navItems = [
	{ href: "/", text: "Home", active: currentPath === "/" },
	{ href: "/blog", text: "Blog", active: currentPath.startsWith("/blog") },
	{ href: "/about", text: "About", active: currentPath.startsWith("/about") },
];
```

## 🎨 Customization

The primary color of this theme can be easily changed in `src/styles/global.css`.
You can assign any Tailwind color to the various `color-primary-*` variables.

```css
@theme {
    --color-primary-50: var(--color-purple-50);
    --color-primary-100: var(--color-purple-100);
    --color-primary-200: var(--color-purple-200);
    --color-primary-300: var(--color-purple-300);
    --color-primary-400: var(--color-purple-400);
    --color-primary-500: var(--color-purple-500);
    --color-primary-600: var(--color-purple-600);
    --color-primary-700: var(--color-purple-700);
    --color-primary-800: var(--color-purple-800);
    --color-primary-900: var(--color-purple-900);
    --color-primary-950: var(--color-purple-950);
    ...
}
```

## 👀 Want to learn more?

Feel free to check [Astro's documentation](https://github.com/withastro/astro) or jump into Astro's [Discord server](https://astro.build/chat).

## Images credits
Photos by <a href="https://unsplash.com/@josepmartins?utm_content=creditCopyText&utm_medium=referral&utm_source=unsplash">Josep Martins</a> on <a href="https://unsplash.com/photos/white-smoke-0-c5T6meRuk?utm_content=creditCopyText&utm_medium=referral&utm_source=unsplash">Unsplash</a>
Report a correction

Explore similar templates

Compare previews and descriptions within the same stack and category.