Build super fast, modern websites with Vue.js
Gridsome is a Vue-powered static site generator for building CDN-ready websites for any headless CMS, local files or APIs
This project is under active development. Any feedback or contributions would be appreciated.
Enjoy a modern development stack
Build websites with modern tools like Vue.js, webpack and Node.js. Get hot-reloading and access to any packages from npm and write CSS in your favorite preprocessor like Sass or Less with autoprefixing.
Connect to any CMS or data source
Use any CMS or data source for content. Pull data from WordPress, Contentful, local Markdown, or any other headless CMS or APIs and access it with GraphQL in your pages and components.
PWA Offline-first architecture
Get perfect page speed scores
Gridsome automatically optimises your frontend to load and perform blazing fast. You get code-splitting, image optimisation, lazy-loading, and almost perfect lighthouse scores out-of-the-box.
Build future ready websites
Ready for global domination
Gridsome sites are usually not connected to any database and can be hosted entirely on a global CDN. It can handle thousands to millions of hits without breaking - and no expensive server costs.
1. Install Gridsome CLI tool
npm install --global @gridsome/cli
2. Create a Gridsome project
gridsome create my-gridsome-siteto create a new project
cd my-gridsome-siteto open folder
gridsome developto start local dev server at
- Happy coding
3. Next steps
.vuecomponents in the
~/src/pagesdirectory to create pages
gridsome buildto generate static files in a
How to contribute
- Clone this repository.
- Create a new Gridsome project inside the
- Enter the new project folder and run
lerna bootstrapif installed).
- The project will now use the local packages when you run
Make sure your test poject has a version number in its
package.json if you use an existing project.
To use the local version of
@gridsome/cli as the global command, enter the
~/packages/cli folder and run
Yarn will add dependencies from your test projects to the root
yarn.lock file. So you should not commit changes in that file unless you have added dependencies to any of the core packages. If you need to commit it, remove your projects from the
~/projects folder temporary and run
lerna bootstrap in the root folder. Yarn will then clean up the lock file with only core dependencies. Commit the file and move your projects back and run
lerna bootstrap again to start developing.
Roadmap for v1.0
*.vuepages and templates
- GraphQL data layer
- Multi-process image processing
- Multi-process HTML rendering
- Lazy-loading images and pages
- Plugin API
- Download external assets
- Service Worker