Skip to content

Commit d5685b3

Browse files
authored
Initial commit
0 parents  commit d5685b3

62 files changed

Lines changed: 12891 additions & 0 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/deploy.yml

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
name: Deploy to GitHub Pages
2+
3+
on:
4+
push:
5+
branches: [ main ]
6+
# Allows you to run this workflow manually from the Actions tab on GitHub.
7+
workflow_dispatch:
8+
9+
# Allow this job to clone the repo and create a page deployment
10+
permissions:
11+
contents: read
12+
pages: write
13+
id-token: write
14+
15+
jobs:
16+
build:
17+
runs-on: ubuntu-latest
18+
steps:
19+
- name: Checkout your repository using git
20+
uses: actions/checkout@v4
21+
- name: Install, build, and upload your site
22+
uses: withastro/action@v4
23+
with:
24+
# path: . # The root location of your Astro project inside the repository. (optional)
25+
node-version: 22 # The specific version of Node that should be used to build your site. Defaults to 18. (optional)
26+
package-manager: pnpm@latest # The Node package manager that should be used to install dependencies and build your site. Automatically detected based on your lockfile. (optional)
27+
28+
deploy:
29+
needs: build
30+
runs-on: ubuntu-latest
31+
environment:
32+
name: github-pages
33+
url: ${{ steps.deployment.outputs.page_url }}
34+
steps:
35+
- name: Deploy to GitHub Pages
36+
id: deployment
37+
uses: actions/deploy-pages@v4

.gitignore

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# build output
2+
dist/
3+
4+
# generated types
5+
.astro/
6+
7+
# dependencies
8+
node_modules/
9+
.yarn/*
10+
!.yarn/cache
11+
!.yarn/patches
12+
!.yarn/plugins
13+
!.yarn/releases
14+
!.yarn/sdks
15+
!.yarn/versions
16+
17+
# logs
18+
npm-debug.log*
19+
yarn-debug.log*
20+
yarn-error.log*
21+
pnpm-debug.log*
22+
23+
# environment variables
24+
.env
25+
.env.production
26+
27+
# macOS-specific files
28+
.DS_Store

.vscode/extensions.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"recommendations": ["astro-build.astro-vscode"],
3+
"unwantedRecommendations": []
4+
}

.vscode/launch.json

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
{
2+
"version": "0.2.0",
3+
"configurations": [
4+
{
5+
"command": "./node_modules/.bin/astro dev",
6+
"name": "Development server",
7+
"request": "launch",
8+
"type": "node-terminal"
9+
}
10+
]
11+
}

LICENSE

Lines changed: 674 additions & 0 deletions
Large diffs are not rendered by default.

README.md

Lines changed: 103 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
1+
# Space Ahead ✨ - An Astro v5 Personal Blog Template
2+
3+
A minimal space-inspired personal blog template, created by Siddhesh Thadeshwar.
4+
5+
![Space Ahead ✨](/space-ahead-preview.jpeg)
6+
7+
See the [demo](https://djsiddz.github.io/space-ahead) to know more.
8+
9+
## 🆕 Real-like Demo
10+
11+
View **Mumbai Stories** - [Samay Anand's Blog](https://djsiddz.github.io/samay-anand)! 🏏 | Source Code [here](https://github.com/djsiddz/samay-anand).
12+
13+
## Theme Features
14+
15+
- ✅ Tailwind CSS
16+
- ✅ Mobile-first responsive layout
17+
- ✅ Dark and light color mode
18+
- ✅ Custom About, Contact & 404 pages
19+
- ✅ Hero section with short bio
20+
- ✅ Blog content collection
21+
- ✅ Pagination support
22+
- ✅ Tags support for blog posts
23+
- ✅ Subscription form (only UI)
24+
- ✅ View transitions (via swup.js)
25+
- ✅ Sitemap support
26+
- ✅ RSS Feed support
27+
- ✅ Markdown support
28+
29+
### Future Scope (Based on requests)
30+
31+
- ⏹️ MDX support via @astrojs/mdx integration
32+
- ⏹️ SEO-friendly with canonical URLs and OpenGraph data
33+
- ⏹️ New Portfolio/Projects content collection
34+
35+
## Template Integrations
36+
37+
- Tailwind v4 via Vite Plugin as per latest Astro docs
38+
- Swup.js for View Transitions
39+
- RSS: [@astrojs/rss](https://docs.astro.build/en/guides/rss/)
40+
- Sitemap: [@astrojs/sitemap](https://docs.astro.build/en/guides/integrations-guide/sitemap/)
41+
42+
## How to use this template
43+
44+
### Getting Started
45+
46+
1. [Create a new repo](https://github.com/new?template_name=space-ahead&template_owner=djsiddz) using this template.
47+
2. Clone to repo to your local computer using `git clone <your-repo-url>`. Then `cd <your-repo-name>`.
48+
3. Setup `pnpm` and use `pnpm install` and then `pnpm dev`.
49+
4. Use the `astro.config.mjs` and `src/site.config.ts` files to setup the template to your liking.
50+
5. Update any content on homepage (`src/pages/index.astro`), about (`src/pages/about.astro`), and contact (`src/pages/contact.astro`).
51+
6. Replace the template posts under (`src/content/blogs/*.md`) with your blog posts, using the same format, with the post metadata.
52+
7. Check the [Astro Deployment guide](https://docs.astro.build/en/guides/deploy/) to know specific steps on deploying this on your preferred provider platform.
53+
54+
### Project Structure
55+
56+
You'll see the following folders and files:
57+
58+
```text
59+
├── public/----------------- Contains the site logo (replace with your own).
60+
├── src/--------------------
61+
│   ├── assets/------------- Contains svg icons for theme toggle component.
62+
│   │ └── images/--------- Contains default images for homepage and blog posts.
63+
│   ├── components/--------- All Astro/Preact components in this theme.
64+
│   ├── content/------------ Content Collections folder.
65+
│   │ └── blogs/---------- All the blog posts in *.md files.
66+
│   ├── icons/-------------- All Astro icon components.
67+
│   ├── layouts/------------ Shared Layout component.
68+
│   ├── pages/-------------- Various Astro pages, dynamic pages for blogs, tags; a custom 404 page.
69+
│   ├── styles/------------- Contains `global.css`, `fonts.css` and `animate.css`.
70+
│   ├── utils/-------------- Contains helper functions.
71+
│   ├── content.config.ts--- Content collections definitions.
72+
│   ├── env.d.ts------------ Contains helper functions.
73+
│   └── site.config.ts------ Manage your site information and content here.
74+
├── astro.config.mjs-------- Astro configuration file.
75+
├── changelog.md------------ Detailed Changelog for this theme.
76+
├── LICENSE----------------- Theme License.
77+
├── package.json------------ Dependencies and metadata about this template.
78+
├── README.md--------------- 📍 You are here.
79+
└── tsconfig.json----------- Typescript configuration file.
80+
```
81+
82+
#### Notes
83+
84+
- Read & consult [Astro's documentation](https://docs.astro.build/) for up-to-date information and making changes to this template.
85+
- The `src/components` directory is where we like to put any Astro or Preact components.
86+
- The `src/content/` directory contains "collections" of related Markdown (and MDX) documents. Use getCollection() to retrieve posts from `src/content/blogs/`, and type-check your frontmatter using an optional schema. See Astro's [Content Collections](https://docs.astro.build/en/guides/content-collections/) docs to learn more.
87+
88+
## Credits and Support Info
89+
90+
### Support Info
91+
92+
- I provide **paid service** for customizing and setup any of my Astro templates for your projects and startups. Contact me on [Contra](https://contra.com/siddhesht) to know more.
93+
- Please feel free to create issues for any bugs or feature requests on this theme.
94+
95+
### Credits
96+
97+
- Generated Space Ahead ✨ logo and images for demo blog content using Microsoft Designer.
98+
- Homepage illustration by <a href="https://icons8.com/illustrations/author/ARh4OKrFtdfC">Pixeltrue Ouch!</a>
99+
- Inspired from these amazing Astro templates - [Dante](https://github.com/JustGoodUI/dante-astro-theme) & [Chiri](https://github.com/the3ash/astro-chiri). Please do check them out.
100+
101+
## License
102+
103+
[GNU GPL v3](/LICENSE)

astro.config.mjs

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
import { defineConfig } from "astro/config";
2+
import preact from "@astrojs/preact";
3+
import sitemap from "@astrojs/sitemap";
4+
import swup from "@swup/astro";
5+
6+
import tailwindcss from "@tailwindcss/vite";
7+
8+
// https://astro.build/config
9+
export default defineConfig({
10+
site: "https://djsiddz.github.io",
11+
base: "/space-ahead",
12+
integrations: [
13+
swup({
14+
theme: ["overlay", { direction: "to-top" }],
15+
cache: true,
16+
progress: true,
17+
}),
18+
preact(),
19+
sitemap(),
20+
],
21+
22+
image: {
23+
responsiveStyles: true,
24+
},
25+
26+
vite: {
27+
plugins: [tailwindcss()],
28+
},
29+
});
30+
31+
//swup theme variations:
32+
// theme: "fade"
33+
// theme: ["overlay", { direction: "to-top"}]
34+
//
35+
// for overlay and fade, further customization can be done in animate.css file
36+
// To know about swup, visit https://swup.js.org/

changelog.md

Lines changed: 117 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,117 @@
1+
# Space Ahead ✨ Changelog
2+
3+
## v0.11.4 (Latest) - Oct 29, 2025
4+
5+
This is a monthly update release intended to keep the dependencies up-to-date, addressing any security issues and any user reported issues.
6+
7+
### Updates
8+
9+
- Dependency updates
10+
11+
## v0.11.3 - Sept 19, 2025
12+
13+
### New
14+
15+
- New demo site created to showcase how easy it is, to adapt this theme. Check out [Samay Anand's Blog](https://djsiddz.github.io/samay-anand)!
16+
17+
### Updates
18+
19+
- Add control for Blog page content from site config.
20+
- Use withBase helper for site logo.
21+
22+
## v0.11.2
23+
24+
### Updates
25+
26+
- Dependency updates
27+
28+
## v0.11.1
29+
30+
### Fixes
31+
32+
- Fix Contact Nav highlight
33+
- Improve buttons layout on Blog Post page
34+
35+
## v0.11.0
36+
37+
### Updates
38+
39+
- Update Astro, Tailwind & other deps to latest versions.
40+
- Fix & improve RSS generation.
41+
- Fix & improve sitemap generation.
42+
- Implement consistent usage of siteConfig and withBase helper.
43+
- Readme updated with preview image.
44+
45+
## v0.10.0
46+
47+
### New Features
48+
49+
- New contacts page.
50+
- New Astro Sitemap generator integration.
51+
- New withBase() utility for centralized usage of `import.meta.BASE_URL`.
52+
- Subscribe component moved to the shared layout, with option to hide on individual page.
53+
- Eyebrow is now conditionally displayed, based on value set in site config.
54+
- Control number of Recent Posts displayed on home page, via site config.
55+
- Added GNU GPL v3 license.
56+
57+
### Updates
58+
59+
- Major styling is now done using Tailwindcss instead of custom css.
60+
- Updated consistency with spacing and mobile layout improvements.
61+
- All links use BASE_URL meta property, consistently.
62+
- Improved Pagination styling and disabled state.
63+
- Improved Footer layout with new styling.
64+
- Improved Subscribe component styling.
65+
- Improved Theme Toggle component.
66+
- Improved 404 page.
67+
- Fix Tagged Post page to show only relevant posts.
68+
- Fix Post Card Preview styling.
69+
- Chore: Updated PNPM Workspace and added Prettier.
70+
71+
### Removed
72+
73+
- Subtitle has been removed from site config and footer.
74+
75+
## v0.9.0
76+
77+
### Known Issues
78+
79+
- Pending fresh Tailwind CSS integration, especially for certain components - Pagination, ArrowLeft & ArrowRight icons, Subscribe form.
80+
- Refactored SpaceMessages component, but not yet used in the project. I'll attempt a new implementation in the future for this. Also this is the only component that requires Preact dependency.
81+
82+
### New Features
83+
84+
- Added a new site config file to manage most of the site configuration and meta from one place.
85+
- New Button & Icon Button components.
86+
- New Formatted Date component.
87+
- New Site Identity component.
88+
- New Pagination component, along with ArrowLeft & ArrowRight icons.
89+
- New Subscribe component, with a form and a button.
90+
- New PostListPreview component for a simple text-only blog post preview.
91+
- New PostCardPreview component for a blog post preview with an image.
92+
- New 404 page. [No UI changes yet]
93+
- New utility functions helper file for formatting dates, getting the current year, fetching tags, posts by tag, etc.
94+
95+
### Updates
96+
97+
- Switch from yarn to pnpm.
98+
- Update all dependencies to the latest versions.
99+
- Added swup.js for page transitions, with customization for two themes: fade and overlay.
100+
- Updated the MainLayout with a max width with auto margins, switched from section to main tag for compatibility with swup.js.
101+
- Switch to Astro's updated content collection API. Redefined the blogs collection.
102+
- Moving all images to the `src/assets` folder and using the `Image` component to load them.
103+
- Moved all posts to the `src/content/blogs` folder and using the `getCollection` function to load them.
104+
- Updated the Footer layout, with separate nav links, social links and copyright text.
105+
- Updated the Nav component to use site configuration, and improved UI.
106+
- Updated the About page to use site configuration, removed Hobbies section to keep it simple.
107+
- Updated the Blog page, and individual blog post pages to use the new content collection API, and naming conventions as per Astro v5.
108+
- Updated the Home page to use site configuration, new content collection API, and general improved UI.
109+
- Updated the Tags page and individual tag pages to use the new content collection API, and naming conventions as per Astro v5.
110+
- Updates to global styles in `global.css`; swup related styles in `animate.css`.
111+
- Switch to astro's strict tsconfig
112+
113+
### Improvements from Upgrading to Astro v5
114+
115+
- Use Astro v5's image component, which is more efficient and faster than the previous image component.
116+
- Since we are using pnpm, sharp is added as a dependency manually as per Astro's documentation.
117+
- Use Astro v5's content collections, which is more efficient and faster than the previous content collections.

package.json

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
{
2+
"name": "space-ahead",
3+
"type": "module",
4+
"version": "0.11.4",
5+
"scripts": {
6+
"dev": "astro dev",
7+
"start": "astro build && astro preview",
8+
"build": "astro build",
9+
"preview": "astro preview",
10+
"astro": "astro"
11+
},
12+
"dependencies": {
13+
"@astrojs/preact": "^4.1.2",
14+
"@astrojs/rss": "4.0.12",
15+
"@astrojs/sitemap": "^3.6.0",
16+
"@swup/astro": "^1.7.0",
17+
"@tailwindcss/vite": "^4.1.16",
18+
"astro": "^5.15.2",
19+
"preact": "^10.27.2",
20+
"sharp": "^0.34.4",
21+
"tailwindcss": "^4.1.16"
22+
},
23+
"devDependencies": {
24+
"prettier": "^3.6.2",
25+
"prettier-plugin-tailwindcss": "^0.6.14",
26+
"typescript": "^5.9.3"
27+
}
28+
}

0 commit comments

Comments
 (0)