Home

Awesome

Learning Astro (a "meta-framework")

Just one of the things I'm learning. https://github.com/hchiam/learning and https://github.com/hchiam/learning-frameworks

The idea: any JS framework --> output and serve just HTML. (Plus only the JS you need, when you need it.)

React and Vue and Svelte and Vanilla JS, etc. =(Astro)=> native HTML + JS

https://github.com/snowpackjs/astro

https://css-tricks.com/newsletter/255-thoughts-on-astro

https://www.youtube.com/watch?v=dsTXcSeAZq8

From scratch

mkdir new-project-directory
cd new-project-directory
npm init astro # follow instructions
npm install
npm start # http://localhost:3000/

Starting by testing out this repo

git clone https://github.com/hchiam/learning-astro.git && cd learning-template && npm install && npm start;

Deploy

npm run build # build output goes to /dist by default, so you can deploy from /dist

My own example project

https://github.com/hchiam/astro-calendar

https://astro-powered-calendar.surge.sh

Example project starters

https://github.com/snowpackjs/astro/tree/main/examples (go into a folder to see example setup command, for example npm init astro -- --template with-tailwindcss)

Learn more

https://docs.astro.build/core-concepts/project-structure

Everything below was auto-generated by npm init astro:

<hr/> <hr/> <hr/>

Welcome to Astro

šŸ§‘ā€šŸš€ Seasoned astronaut? Delete this file. Have fun!

šŸš€ Project Structure

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

/
ā”œā”€ā”€ public/
ā”‚   ā”œā”€ā”€ robots.txt
ā”‚   ā””ā”€ā”€ favicon.ico
ā”œā”€ā”€ src/
ā”‚   ā”œā”€ā”€ components/
ā”‚   ā”‚   ā””ā”€ā”€ Tour.astro
ā”‚   ā””ā”€ā”€ pages/
ā”‚       ā””ā”€ā”€ index.astro
ā””ā”€ā”€ 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.

šŸ§ž Commands

All commands are run from the root of the project, from a terminal:

CommandAction
npm installInstalls dependencies
npm run startStarts local dev server at localhost:3000
npm run buildBuild your production site to ./dist/

šŸ‘€ Want to learn more?

Feel free to check our documentation or jump into our Discord server.