# Vapour: A starter theme for Vite + TailwindCSS

**URL:** <https://forum.ghost.org/t/vapour-a-starter-theme-for-vite-tailwindcss/61229>\
**Category:** Themes\
**Created:** [December 17, 2025, 7:43pm UTC](https://forum.ghost.org/t/vapour-a-starter-theme-for-vite-tailwindcss/61229 "2025-12-17T19:43:30Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![christopher-b](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/christopher-b/32/38381_2.png) [@christopher-b](https://forum.ghost.org/u/christopher-b)\
**Post date:** [December 17, 2025, 7:43pm UTC](https://forum.ghost.org/t/vapour-a-starter-theme-for-vite-tailwindcss/61229/1 "2025-12-17T19:43:30Z")

</div>

Hi Folks. I recently built a Ghost theme using Vite. There were some significant obstacles to getting it working correctly, but I managed to figure out what I think is a good solution. I pulled that solution out into a standalone theme as a starting point for other folks trying to do the same. It also has TailwindCSS built in (but optional), and Prism integration. There’s not much in the way of visual design; this is really just about the Vite + Tailwind integration.

I go into the rational and details of the solution [here,](https://cbennell.com/posts/vapour-a-ghost-cms-theme-for-vite-tailwindcss/) and the code is [here](https://github.com/christopher-b/vapour).

I hope some folks find this helpful! Let me know what you think.

---

<div class="post-metadata">

**Author:** ![themex](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/themex/32/37349_2.png) [@themex](https://forum.ghost.org/u/themex)\
**Post date:** [December 30, 2025, 4:49am UTC](https://forum.ghost.org/t/vapour-a-starter-theme-for-vite-tailwindcss/61229/2 "2025-12-30T04:49:44Z")

</div>

hi @christopher-b thanks for doing this. It looks promising.

I tried it on local, but found some issue when install the theme. It looks like we’re missing some files.

 ![image](https://us1.discourse-cdn.com/flex015/uploads/ghost2/original/3X/b/8/b80c8dcc6d13064a91f85b956b0254becc21909f.png)

Hope it’s helpful.

Great job btw.

---

<div class="post-metadata">

**Author:** ![Cathy\_Sarisky](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/cathy_sarisky/32/25750_2.png) [@Cathy\_Sarisky](https://forum.ghost.org/u/Cathy_Sarisky)\
**Post date:** [December 30, 2025, 8:24am UTC](https://forum.ghost.org/t/vapour-a-starter-theme-for-vite-tailwindcss/61229/3 "2025-12-30T08:24:09Z")

</div>

I haven’t tried it, but it looks like the theme creates those files in the build step. Did you run yarn build and yarn zip before loading the theme?

---

<div class="post-metadata">

**Author:** ![Cathy\_Sarisky](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/cathy_sarisky/32/25750_2.png) [@Cathy\_Sarisky](https://forum.ghost.org/u/Cathy_Sarisky)\
**Post date:** [December 30, 2025, 8:27am UTC](https://forum.ghost.org/t/vapour-a-starter-theme-for-vite-tailwindcss/61229/4 "2025-12-30T08:27:36Z")

</div>

One option for detecting development mode (imperfect but avoids using a custom setting, since those are limited) would be to check if the site url contains localhost or one of the common ip ranges. 🙂

---

<div class="post-metadata">

**Author:** ![christopher-b](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/christopher-b/32/38381_2.png) [@christopher-b](https://forum.ghost.org/u/christopher-b)\
**Post date:** [January 22, 2026, 3:09pm UTC](https://forum.ghost.org/t/vapour-a-starter-theme-for-vite-tailwindcss/61229/5 "2026-01-22T15:09:08Z")

</div>

Thanks for giving it a look and letting me know about this. @Cathy_Sarisky is correct, running`yarn build` will generate those files. You can also run `yarn zip` to create a zip file you can upload to Ghost. I’ve added a bit to the Readme to call this out.

---

<div class="post-metadata">

**Author:** ![christopher-b](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/christopher-b/32/38381_2.png) [@christopher-b](https://forum.ghost.org/u/christopher-b)\
**Post date:** [January 22, 2026, 3:10pm UTC](https://forum.ghost.org/t/vapour-a-starter-theme-for-vite-tailwindcss/61229/6 "2026-01-22T15:10:44Z")

</div>

Great idea, I’ve added this as a note to the Readme, as I’m not sure I’ll have a chance to implement this any time soon. Thanks for taking a look.
