vagejs 0.10: several languages, and React, Vue and MDX

vagejs 0.10 adds two things: sites in more than one language, and React, Vue and MDX components that turn into plain HTML when the site is built. Update with npm install vagejs@latest, or start fresh with npm create vagejs@latest my-site.

On this page
  1. What's new: sites in several languages
  2. What's new: React, Vue and MDX
  3. Also in 0.10

What's new: sites in several languages

One site can now hold every language version of your pages, with a folder per language (src/pages/fr/, src/pages/de/) and one config line to turn it on.

Why it matters: search engines need each page marked with its language and linked to its translations, or they may show people the wrong version. vagejs now writes those tags for you, and npm run check lists the pages that still need translating.

What's new: React, Vue and MDX

Layouts can be React or Vue components, and pages can be MDX, which is Markdown with components in it.

Why it matters: you can write a pricing card once and use it on ten pages, without making visitors download JavaScript for it. Every component becomes plain HTML at build time. React, Vue and MDX are optional, so sites that don't use them install nothing new.

Also in 0.10

  • Mobile menus no longer count as hidden links. A menu button made with <details> around your <nav> used to get a warning for every link in it.
  • Two layouts with the same name now stop the build, instead of one being picked without telling you.

The full list is in the changelog. Interactive components followed in 0.11.

Start with one command.
You'll have a site running in a minute.

npm create vagejs@latest my-site

Read the docsUse it with your AI assistant