Skip to content
/ astrowind Public template
forked from onwidget/astrowind

πŸš€ A template to make your website using Astro + Tailwind CSS.

License

Notifications You must be signed in to change notification settings

luchoster/astrowind

Β 
Β 

Repository files navigation

πŸš€ AstroWind

AstroWind Lighthouse Score

A template to make your website using Astro + Tailwind CSS. Ready to start a new project and designed taking into account best practices.

Features

  • Excellent integration with Tailwind CSS via @astrojs/tailwind.
  • Support for fast and SEO friendly Blog.
  • Automatic RSS feed generation with @astrojs/rss.
  • Image optimization using @astrojs/images. Supports resizing images and encoding them to different image formats.
  • Automatically generate the project sitemap based on your routes with @astrojs/sitemap.
  • Optimize the use of fonts from Google Fonts at build time with subfont library.
  • Production-ready scores in Lighthouse and PageSpeed Insights reports:
    • 100 Performance, 100 Accessibility, 100 Best Practices, 100 SEO

AstroWind Theme Screenshot

Live demo


Project Structure

Inside AstroWind template, you'll see the following folders and files:

/
β”œβ”€β”€ public/
β”‚   β”œβ”€β”€ robots.txt
β”‚   └── favicon.ico
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ assets/
β”‚   β”‚   β”œβ”€β”€ images/
|   |   └── styles/
|   |       └── base.css
β”‚   β”œβ”€β”€ data/
|   |   └── posts/
|   |       β”œβ”€β”€ post-slug-1.md
|   |       └── ...
β”‚   β”œβ”€β”€ components/
β”‚   β”‚   β”œβ”€β”€ core/
|   |   β”œβ”€β”€ icons/
|   |   └── widgets/
|   |       β”œβ”€β”€ Header.astro
|   |       β”œβ”€β”€ Footer.astro
|   |       └── ...
β”‚   β”œβ”€β”€ layouts/
β”‚   |   |── BaseLayout.astro
β”‚   |   └── ...
β”‚   β”œβ”€β”€ pages/
β”‚   |   β”œβ”€β”€ blog/
|   |   |   β”œβ”€β”€ [...page].astro
|   |   |   └── [slug].astro
β”‚   |   β”œβ”€β”€ index.astro
|   |   β”œβ”€β”€ 404.astro
|   |   β””-- rss.xml.js
β”‚   β”œβ”€β”€ utils/
β”‚   └── config.mjs
β”œβ”€β”€ 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 if they do not require any transformation or in the assets/ directory if they are imported directly.

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


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

Roadmap

  • Config: Move specific configurations to a specialized file
  • Project structure: Reduce the complexity in the components folder and simplify the other folders to make it very easy to use. (DONE! Testing)
  • SEO: Add support to easily manage SEO meta-tags (title, description, canonical, social sharing, ...) (DONE! Testing)
  • Blog: Add support for fast, accessible, and SEO friendly blog (DONE! Testing)
  • More components: Add more Tailwind components useful for most scenarios (Features, Contact, Call to Actions, Content, FAQs ...)
  • More Examples: Add commonly used example pages (Ex: About, Terms, Services...)
  • Documentation: Create detailed documentation with best practices and redesign tips

Want more?

If you have any suggestions or find any bugs, feel free to open an issue or create a pull request.

About

πŸš€ A template to make your website using Astro + Tailwind CSS.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Astro 94.3%
  • JavaScript 5.2%
  • CSS 0.5%