Skip to content

pcvera/blog

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Astro Starter Kit: Blog

pnpm create astro@latest -- --template blog

🧑‍🚀 Seasoned astronaut? Delete this file. Have fun!

Features:

  • ✅ Minimal styling (make it your own!)
  • ✅ 100/100 Lighthouse performance
  • ✅ SEO-friendly with canonical URLs and OpenGraph data
  • ✅ Sitemap support
  • ✅ RSS Feed support
  • ✅ Markdown & MDX support

🚀 Project Structure

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

├── public/
├── src/
│   ├── components/
│   ├── content/
│   ├── layouts/
│   └── pages/
├── astro.config.mjs
├── README.md
├── package.json
└── tsconfig.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.

The src/content/ directory contains "collections" of related Markdown and MDX documents. Use getCollection() to retrieve posts from src/content/blog/, and type-check your frontmatter using an optional schema. See Astro's Content Collections docs to learn more.

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
pnpm install Installs dependencies
pnpm dev Starts local dev server at localhost:4321
pnpm build Build your production site to ./dist/
pnpm preview Preview your build locally, before deploying
pnpm astro ... Run CLI commands like astro add, astro check
pnpm astro -- --help Get help using the Astro CLI

🚀 Deploying to GitHub Pages

Option 1: Manual Deployment (Build Locally)

  1. Configure your site URL in astro.config.mjs:

    • For project pages: Set site to https://username.github.io/repo-name and uncomment base: '/repo-name'
    • For user/org pages: Set site to https://username.github.io (no base needed)
  2. Build the site:

    pnpm build
  3. Deploy to GitHub Pages (choose one method):

    Method A: Using gh-pages branch

    # Build and push to gh-pages branch
    git subtree push --prefix dist origin gh-pages
    # Or manually: copy dist/ contents to gh-pages branch

    Method B: Using docs folder

    # Copy dist contents to docs folder
    cp -r dist/* docs/
    git add docs/
    git commit -m "Deploy to GitHub Pages"
    git push

    Then configure GitHub Pages to serve from /docs folder in repo settings.

👀 Want to learn more?

Check out our documentation or jump into our Discord server.

Credit

This theme is based off of the lovely Bear Blog.

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors