Spaceship is a high-performance, premium blog and portfolio template built with Astro 5, Svelte 5 Runes, and Tailwind CSS 4. It is designed for developers and designers who want a modern, ultra-fast, and SEO-optimized web experience.
$state, $derived, $props).:rocket:, etc.).Clone the repository:
git clone https://github.com/alec-c4/spaceship.git
cd spaceship
Install dependencies:
pnpm install
Start the development server:
pnpm dev
Build for production:
pnpm build
Spaceship uses an "Updatable Content" architecture. All your personal data is separated from the core template code, allowing you to update the engine easily.
/
โโโ site/ # ๐ข YOUR DATA (Keep this!)
โ โโโ assets/ # Your personal images (favicon, profile)
โ โโโ content/ # Your posts, projects, and bio
โ โโโ config.ts # Your site configuration
โโโ src/ # โ๏ธ Core Engine (Updateable)
โ โโโ components/ # UI components
โ โโโ layouts/ # Page templates
โ โโโ lib/ # Logic and utilities
โ โโโ pages/ # Routes
โโโ public/ # Static files
โโโ astro.config.mjs # Astro settings
โโโ package.json
Manage your content in site/content/.
site/content/posts/site/content/projects/site/content/about/index.md (Your CV/Bio)Spaceship includes tools to make content creation faster:
post, project, or appearance then press Tab to generate the frontmatter automatically._template.md are available in each content folder as examples..devcontainer/) with all necessary extensions and tools.All site-wide settings are in site/config.ts:
export const SITE = {
author: 'Your Name',
title: 'Your Blog',
desc: 'Your description',
website: 'https://yourdomain.com',
// Homepage configuration
featuredPostsCount: 1, // Number of featured posts to show
latestPostsCount: 3, // Number of latest posts to show
// CTA block configuration
cta: {
enabled: true,
filePath: 'site/cta.md', // Markdown file with CTA content
},
// Comments configuration (GitHub Discussions via Giscus)
comments: {
enabled: false, // Set to true after configuring
repo: 'username/repo',
repoId: '', // Get from https://giscus.app
categoryId: '', // Get from https://giscus.app
// ... more options
},
// Analytics
googleAnalyticsId: 'G-XXXXXXXXXX', // Offloaded via Partytown
};
Comprehensive guides are available as blog posts in your installation:
site/content/posts/your-post.mdsite/content/projects/your-project.mdsite/cta.mdsite/config.tsSpaceship is a static site by default (SSG), but can be easily converted to SSR using Astro Adapters.
You can deploy to Vercel, Netlify, Cloudflare Pages, or GitHub Pages without any extra configuration. Just push your code.
If you need dynamic features, install the appropriate adapter:
pnpm astro add vercelpnpm astro add netlifypnpm astro add cloudflarepnpm astro add node (For VPS/Docker)More details: Astro Deployment Guide
Spaceship is designed with a "core vs content" separation. This makes updating to new versions straightforward:
site/ folder: This contains all your posts, projects, assets, and configuration.src/ (The engine)public/ (Static assets shell)astro.config.mjs (Main configuration)package.json & pnpm-lock.yaml (Dependencies)tsconfig.json (Tooling config)pnpm install to update dependencies.site/ will automatically be picked up by the new engine.MIT License ยฉ Alexey Poimtsev