Built on Qwik and QwikCity, using directory-based routing and layouts to organize pages
qwind — Astro Tool Template
By arthelokyo
Qwind is a free and open-source website template built on Qwik and Tailwind CSS, featuring a blog, dark mode, and static deployment configuration under the MIT license.
Explore the design
Compare the page layouts and mobile experience. Open any screenshot for a closer look.
Actual screenshot captured by the server browser.
All pages & views 3
Screenshots show visual appearance; interactive behavior may differ.
What stands out
A quick read of the recorded project description.
Integrates Tailwind CSS with dark mode support
Includes a built-in blog content directory, with articles stored as Markdown files
Provides configuration for image optimization and font optimization
Site name, origin, basePathname, and trailingSlash are centralized in src/config.mjs
MIT license, allowing free use, modification, commercial use, and distribution
Template Details
Qwind is a free and open-source template for building websites with Qwik and Tailwind CSS. It uses directory-based routing and layouts provided by QwikCity. The repository includes a complete project structure: src/routes handles routing and pages, src/components organizes components into atoms, core, icons, and widgets, src/content/blog stores Markdown blog posts, and public holds static assets such as favicon, manifest.json, and robots.txt. The template comes with homepage section components like Hero and Features, as well as a blog list and article pages.
Styling integrates Tailwind CSS with dark mode support, and provides configuration for image and font optimization. Site-wide settings are centralized in the SITE object in src/config.mjs, where you can set the site name, origin, basePathname, and trailingSlash. The README notes that basePathname needs adjustment when deploying to GitHub Pages.
Usage involves running npm install in the project root to install dependencies, npm run dev to start the local development server, npm run build to generate a production build in the dist directory, npm run preview to preview locally before deployment, and npm run fmt and npm run lint for formatting and code checking. The build output can be deployed to any static hosting service, and the README provides deployment links for Netlify and Vercel.
Important limitations: several items in the README's Roadmap remain incomplete, including tools for generating permalinks based on domain and base path, a simpler image optimization approach, SEO components, an MDX blog with categories, tags, and authors, common pages such as portfolio, services, contact, and documentation, and an icon library. These capabilities should not be considered available. The template code is under the MIT license, allowing free use, modification, commercial use, and distribution, provided the copyright notice and license notice are retained when redistributing. Third-party assets such as demo images, fonts, and icons require separate license verification, and external services like domains and hosting may incur additional costs.
Is it right for your project?
Use Cases
- Building a corporate or product website with a blog section
- Using as a starter project for the Qwik + Tailwind CSS stack
- Deploying as a static site to Netlify, Vercel, or other static hosting services
- Display-oriented websites that need dark mode and a Markdown blog
Suitable For
- Front-end developers who want to build websites with Qwik and Tailwind CSS
- Projects that need a ready-made blog structure and homepage section components
- Teams planning to deploy the build output to a static hosting service
- Developers who accept adding pages and features themselves on top of the template
Getting started & customization
Use these recorded setup notes alongside the repository instructions for your chosen version.
- 1
Run npm install in the project root to install dependencies, and npm run dev to start the local development server
- 2
Modify the SITE configuration in src/config.mjs to set the site name, origin, basePathname, and trailingSlash
- 3
npm run build generates a production build in the dist directory, and npm run preview allows local preview before deployment
- 4
Adjust basePathname when deploying to subpath scenarios such as GitHub Pages
- 5
Items listed in the README's Roadmap, such as SEO components, MDX blog, and more pages, are not yet complete and need to be implemented yourself
License & source material
Usage conditions & limitations
Free to use · keep license noticeThis entry covers the free version under the MIT license in the public repository; the free scope applies to that version's code and does not imply that external services or third-party assets are free.
Must comply with when using
- The code of this version may be used, modified, used commercially, and distributed for free.
- When distributing copies or substantial portions of the code, retain the original author's copyright notice and the full MIT license notice.
- The code is provided as is; warranties and limitations of liability are governed by the original license and applicable law.
Additional costs & items to verify
- When deploying to subpath scenarios such as GitHub Pages, you need to modify the basePathname configuration in src/config.mjs, otherwise asset paths may be incorrect.
- The MDX blog with categories, tags, and authors in the Roadmap is not yet complete; the current blog only supports basic Markdown articles and should not be considered to have that capability.
- Common pages such as portfolio, services, contact, and documentation remain incomplete in the Roadmap; the template does not include these pages and they need to be implemented yourself.
- The component for simplified SEO in the Roadmap is not yet complete; the template does not provide a ready-made SEO component and it needs to be handled yourself.
- The tool for generating permalinks based on domain and base path is not yet complete; related link handling needs to be implemented yourself.
- A simpler image optimization approach remains incomplete in the Roadmap; image optimization needs to be handled yourself according to the existing configuration.
- A richer icon source library is not yet complete; icon resources are limited and need to be supplemented yourself.
- A 100% Google Page Speed score in the Roadmap remains an unfinished goal and should not be considered a guaranteed performance result.
- The example admin dashboard in the Roadmap is not yet complete; the template does not include admin functionality.
- The complex JavaScript example component on the homepage is not yet complete; the template does not include that demo component.
- Demo images, fonts, icons, and other third-party assets need to be checked against their respective licenses and cannot be judged solely by the code's MIT license.
- External services such as domains, hosting, databases, payments, or AI may incur additional costs.
View Original Text Basis
Permission is hereby granted, free of charge
Original License Text
Change this if you need to deploy to Github Pages, for example
Original README
Create configurable blog with categories, tags and authors using MDX.
Original README
Add more frequently used pages (Portfolio, Services, Contact, Docs ...).
Original README
Create component to make SEO simpler and more intuitive.
Original README
Create utilities to generate permalinks tailored to the domain and base pathname.
Original README
Simplify the way to optimize images.
Original README
Find or create a library to have more icon sources available.
Original README
Achieve perfect 100% Google Page Speed score.
Original README
Create small illustrative admin backend.
Original README
https://github.com/arthelokyo/qwind/blob/main/LICENSE.mdhttps://github.com/arthelokyo/qwind/blob/main/README.mdInsert complex javascript example widget on home page to demonstrate Qwik features.
Original README
Compiled by DeepSeek based on repository license and README ·2026-10-02. Results only cover the materials read; dependencies, images, fonts, and subsequent term changes are subject to their respective original texts.
Project checks & description sources
Template Information
- Source platforms
- GitHub
- Documentation and maintenance reference score
- More documented · 81 / 100
- Technologies
- Astro
- Website type
- Tool Site · Corporate Website · Starter
How this score is calculated
Our heuristic uses license records (up to 30), a demo link (12), a preview (10), stars (15), recorded maintenance (15), description completeness (8), feature records (5) and classification data (5). It is not a code, security or performance test, or a Google score. A link does not establish tested functionality.
What to verify for this project
- Repository update recorded
- 2024-08-26
- Screenshot last checked
- 2026-10-02
A demo link is listed. Check it with your own content and viewport sizes; its presence does not confirm that forms, authentication or payments work.
The catalog identifies Astro as the primary stack. Check the actual dependency manifest and lockfile for versions and hosting requirements. These notes use recorded metadata, not a code audit or a deployment test.
Use a selection guide →How this description was prepared
AI-assisted description based on catalog records and repository material. Repository authors are not automatically the reviewers of this description.
Automatically checked against source and license rules; no manual editorial review.
Inspect the recorded source material
SHA-256: 3b7e325b4a031e63f84e04de9e167ebb5e8d8a6fe1caf911d88b0610beb53d3e
2026-10-02T07:44:11.258Z
Source file / repository# 💠 Qwind
**Qwind** is a free and open-source template to make your website using **[Qwik](https://qwik.builder.io/) + [Tailwind CSS](https://tailwindcss.com/)**. Ready to start a new project and designed taking into account best practices.
## Features
- ✅ Integration with **Tailwind CSS** supporting **Dark mode**.
- ✅ **Production-ready** scores in [Lighthouse](https://web.dev/measure/) and [PageSpeed Insights](https://pagespeed.web.dev/) reports.
- ✅ **Image optimization** and **Font optimization**.
<br>
<img src="./screenshot.jpg" alt="Qwind Theme Screenshot">
[](https://onwidget.com)
[](https://github.com/onwidget/qwind/blob/main/LICENSE.md)
[](https://github.com/onwidget)
[](https://github.com/onwidget/qwind#contributing)
[](https://snyk.io/test/github/onwidget/qwind)
<br>
<details open>
<summary>Table of Contents</summary>
- [Demo](#demo)
- [Getting started](#getting-started)
- [Project structure](#project-structure)
- [Commands](#commands)
- [Configuration](#configuration)
- [Deploy](#deploy)
- [Roadmap](#roadmap)
- [Contributing](#contributing)
- [Acknowledgements](#acknowledgements)
- [License](#license)
</details>
<br>
## Demo
📌 [https://qwind.pages.dev/](https://qwind.pages.dev/)
<br>
## Getting started
This project is using Qwik with [QwikCity](https://qwik.builder.io/qwikcity/overview/). QwikCity is just a extra set of tools on top of Qwik to make it easier to build a full site, including directory-based routing, layouts, and more.
### Project structure
Inside **Qwind** template, you'll see the following folders and files:
```
/
├── adaptors/
| └── static/
| └── vite.config.ts
├── public/
│ ├── favicon.svg
│ ├── manifest.json
│ └── robots.txt
├── src/
│ ├── assets/
│ │ ├── images/
| | └── styles/
| | └── global.css
│ ├── components/
│ │ ├── atoms/
│ │ ├── core/
│ │ ├── icons/
| | └── widgets/
| | ├── Hero.tsx
| | ├── Features.tsx
| | └── ...
│ ├── content/
│ | └── blog/
│ | ├── post-slug-1.md
│ | ├── post-slug-2.md
│ | └── ...
│ ├── routes/
│ | ├── blog/
│ | ├── index.tsx
| | ├── layout.tsx
| | ├-- service-worker.ts
│ | └-- ...
│ ├── config.mjs
│ ├── entry.dev.tsx
│ ├── entry.preview.tsx
│ ├── entry.ssr.tsx
│ └── root.tsx
├── package.json
└── ...
```
- `src/routes`: Provides the directory based routing, which can include a hierarchy of `layout.tsx` layout files, and an `index.tsx` file as the page. Additionally, `index.ts` files are endpoints. Please see the [routing docs](https://qwik.builder.io/qwikcity/routing/overview/) for more info.
- `src/components`: Recommended directory for components.
- `public`: Any static assets, like images, can be placed in the public directory. Please see the [Vite public directory](https://vitejs.dev/guide/assets.html#the-public-directory) for more info.
[](https://githubbox.com/onwidget/qwind/tree/main)
> **Seasoned qwik expert?** Delete this file. Update `config.mjs` and contents. Have fun!
<br>
### 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 `127.0.0.1:5173/` |
| `npm run build` | Build your production site to `./dist/` |
| `npm run preview` | Preview your build locally, before deploying |
| `npm run fmt` | Format codes with Prettier |
| `npm run lint` | Run Eslint |
| `npm run qwik ...` | Run CLI commands like `qwik add`, `qwik build` |
<br>
### Configuration
Basic configuration file: `./src/config.mjs`
```javascript
export const SITE = {
name: "Example",
origin: "https://example.com",
basePathname: "/", // Change this if you need to deploy to Github Pages, for example
trailingSlash: true, // Generate permalinks with or without "/" at the end
};
```
<br>
### Deploy
#### Deploy to production (manual)
You can create an optimized production build with:
```shell
npm run build
```
Now, your website is ready to be deployed. All generated files are located at
`dist` folder, which you can deploy the folder to any hosting service you
prefer.
#### Deploy to Netlify
Clone this repository on own GitHub account and deploy to Netlify:
[](https://app.netlify.com/start/deploy?repository=https://github.com/onwidget/qwind)
#### Deploy to Vercel
Clone this repository on own GitHub account and deploy to Vercel:
[](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Fonwidget%2Fqwind)
<br>
## Roadmap
### Base
- [ ] Create utilities to generate permalinks tailored to the domain and base pathname.
- [ ] Simplify the way to optimize images.
- [ ] Create component to make SEO simpler and more intuitive.
- [ ] Create configurable blog with categories, tags and authors using MDX.
- [ ] Add more frequently used pages (Portfolio, Services, Contact, Docs ...).
- [ ] Find or create a library to have more icon sources available.
- [ ] Refactor some code that doesn't follow Qwik conventions yet.
### Advanced
- [ ] Achieve perfect 100% Google Page Speed score.
- [ ] Insert complex javascript example widget on home page to demonstrate Qwik features.
- [ ] Create small illustrative admin backend.
<br>
## Contributing
If you have any idea, suggestions or find any bugs, feel free to open a discussion, an issue or create a pull request.
That would be very useful for all of us and we would be happy to listen and take action.
## Acknowledgements
Initially created by [onWidget](https://onwidget.com) and maintained by a community of [contributors](https://github.com/onwidget/qwind/graphs/contributors).
## License
**Qwind** is licensed under the MIT license — see the [LICENSE](https://github.com/onwidget/qwind/blob/main/LICENSE.md) file for details.
Explore similar templates
Compare previews and descriptions within the same stack and category.

astrowind
AstroWind is a free, open-source Astro starter theme using Astro and Tailwind CSS, released under the MIT license.
Astro · Blog

astro-paper
AstroPaper is a minimal, responsive, accessible, and SEO-friendly Astro blog theme. Articles are stored as Markdown/MDX in src/content/posts/, with subdirectories affecting URLs.
Astro · Blog

astro-theme-cactus
Astro Cactus is an Astro-based blog and portfolio theme that uses Markdown/MDX content collections to manage posts, notes, and tags, with frontmatter type-checked by a schema.
Astro · Portfolio

astrofy
Astrofy is a free and open-source personal portfolio website template built with Astro and TailwindCSS, with built-in blog, CV timeline, project showcase, store, and RSS feed modules.
Astro · Portfolio
accessible-astro-starter
An accessibility-focused Astro 6 starter template with WCAG 2.2 AA practices, Tailwind CSS 4, TypeScript, Prettier, ESLint, form validation, blog and portfolio examples, and preference toggles for dark mode, high contrast, and reduced motion.
Astro · Blog

astro-erudite
astro-erudite is an opinionated, unstyled static blog template built with Astro and native CSS, with no UI or CSS framework and minimal dependencies.
Astro · Portfolio
