← Templates

A landing page without a build step, in one file

A landing page without a build step. One Function returns the whole page, with no bundler, no dist folder and no files uploaded beside it. What you read in src/index.js is what a visitor's browser gets.

You want a page online, not a build to look after

A small business needs one page with its name, what it does and how to get in touch. Here that page is one JavaScript file. You change a sentence, deploy, and refresh.

The whole template is public. Read it before you trust it.

Or scaffold it

$ npx wawesome init --template landing-page
$ npx wawesome deploy

What you get

A page for a made-up ceramics studio: a headline, an intro, a button, three cards, opening hours and a footer. It’s all in src/index.js, with no imports and the styles inline. Every path gets the same page. src/index.test.js has the tests.

Run it

npx wawesome init --template landing-page

It offers to log you in if you aren’t. Then it asks for a Function name, home by default, and an App slug. If you haven’t deployed yet, it offers to change your workspace address, which locks at your first deploy. There are no keys to enter. Then it deploys and prints the page’s address.

Name the Function root if you want the page at your App’s own address rather than under /home.

What to change first

The words. They’re all in the site object at the top of src/index.js:

export const site = {
  name: "Fernwood Ceramics",
  tagline: "Hand-thrown stoneware, made to be used every day",
  ...
};

Add or remove a card in sections, and point cta.href at your own email address. Then run npx wawesome deploy and refresh.

The footer has a “Built with wawesome” line. Delete it if you like. We add nothing to what your Function returns, so it won’t come back.

What it doesn’t do

There’s no form, only a mailto: link, and no stylesheet or image files beside the code. The code runs on every visit, so each page view is one invocation. If you’d rather write the site as HTML files that we serve from storage, see Documents. If you need a form, start from contact-form.

  • website
  • landing-page
  • one-page
  • small-business
  • marketing

Ready in about a minute

Sign in with GitHub, deploy, and get a public HTTPS endpoint.

Deploy this template