Astro Starter Blog
A simple, hackable & minimalistic starter for Astro that uses Markdown for content.
๐ฅ Features
- โ Beautiful and simple design.
- โ Easy configuration
- โ Markdown & MDX support
- โ Tags support.
- โ Dark / Light toggle.
- โ Minimal styling (make it your own!)
- โ 100/100 Lighthouse performance
- โ SEO-friendly with canonical URLs and OpenGraph data
- โ
Uses
astro:assets
for optimized images - โ Sitemap support
- โ RSS Feed support
- โ Blog drafts
๐ Demo URL
https://astro-starter-blog.netlify.app
๐จ๐พโ๐ป Getting started
npm create astro@latest -- --template peoray/astro-starter-blog
๐จ๐พโ๐ป Configuration
Edit the values in src/consts.ts
to match your brand or company:
export const SITE_TITLE = "Astro Blog Starter";
export const SITE_URL = "https://astro-starter-blog.netlify.app/";
export const SITE_DESCRIPTION = "Welcome to my personal website!";
export const PAGE_DESCRIPTION = "A simple, hackable & minimalistic starter for Astro that uses Markdown for content"
export const TWITTER = "https://twitter.com/peoray_"
export const GITHUB = "https://github.com/peoray/astro-starter-blog"
export const AUTHOR = "Emmanuel Raymond"
export const IMAGE = "/images/photo.png"
export const IMAGE_ALT = "Photo of an avatar"
Change any lines or add more in the <head>
tags in src/components/MetaTags.astro
, like the favicon:
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
๐ Project Structure
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.
๐ง Commands
All commands are run from the root of the project, from a terminal:
Command | Action |
---|---|
npm install | Installs dependencies |
npm run dev | Starts local dev server at localhost:3000 |
npm run build | Build your production site to ./dist/ |
npm run preview | Preview your build locally, before deploying |
npm run astro ... | Run CLI commands like astro add , astro check |
npm run astro -- --help | Get help using the Astro CLI |
๐ Want to learn more?
Feel free to check the Astro documentation or jump into the Discord server.
๐ Acknowledgement
This theme is a port of the popular Gridsome Starter Blog made by the creator of Gridsome, Tommy Vedvik.
โจ Contributing
Feel free to open an issue if you find bugs or want to request new features.
๐ License
Licensed under the MIT License, Copyright ยฉ Emmanuel Raymond 2023
<template>
<Layout>
<h2>Latest blog posts</h2>
<ul>
<li v-for="edge in $page.allWordPressPost.edges" :key="edge.node.id">
{{ edge.node.title }}
</li>
</ul>
</Layout>
</template>
<page-query>
query Blog {
allWordPressPost (limit: 5) {
edges {
node {
_id
title
}
}
}
}
</page-query>