How to set up an emergency website

To publish a website with this template, there are two options, depending on your technical skillset. Choose which one describes you best:

No-Code Setup #

You don’t need any programming skills to set up a site with this template.
Following these steps, you can get started without touching any code:

  1. Get a GitHub account (skip if you have one)
  2. Get a Netlify account (skip if you have one)
  3. Deploy this template
  4. Configure your site
  5. Set a domain
  6. Enable CMS

Get a Github account #

Github is a platform that hosts code. It’s required for this template to work.
If you have a GitHub account, go ahead and log in. If not, sign up for an account. You will only need an active email address. When prompted, select the “Individual” (free) plan. You can skip the questions about your use of Github and then verify your email address in the last step.

Get a Netlify account #

Netlify is a free service that will provide the servers for your new website.
If you already have a Netlify account, go ahead and log in. If not, sign up for an account. (Recommended to sign in with your GitHub account)

Deploy this template #

Once these two accounts are set up, go ahead an click the following button to deploy a copy of this template to your Netlify account:

Deploy to Netlify

It will open a window with instructions:

connect to Github

Click the button “Connect to Github”. (You should already be logged in, but if you’re not, log in).

Configure your site #

Next, you need to provide a few settings to customize your website. Fill in the fields with your details.

set configuration details

You can also edit these details later in your Netlify admin.
These settings are available:

NameDescriptionExampleDefault
META_TITLE the title of your site COVID-19 Information Emergency Site
META_URL the full url of your site https://www.covid19.org N/A
META_DESC a short description of your site Updates on the current state of the pandemic. An emergency information website.
META_LANG the 2-letter language code of your site de en
META_COLOR the primary color hex code (optional) #1D70B8 #DB0000
META_EMAIL your main contact email (optional) [email protected] N/A
META_TELEPHONE your main contact phone number (optional) +01 23 456 789 00 N/A

When you’re done, click “Save & Deploy”. It will take about 1-2 minutes afterwards to build your site. You’ll see the message “Site deploy in progress”.

When the site is published, you’ll see a live green link under the site title.

Set a domain #

You can set a custom domain (like “www.yoursite.com”) in your Netlify site settings. From your site’s main admin page, select Domain Settings:

domain settings

By default you’ll get a domain like yoursite.netlify.com - to connect a custom one you own, click on “add custom domain”:

add custom domain

For more information on how to do this, see the Netlify docs.

Enable the Content Management System #

The last step is to configure the built-in CMS, so you can edit the site’s content through a dedicated interface.

The first thing to enable is the Netlify “Identity” service. This allows users to log in with an email address and password. In your main dashboard, select “Identity”, then click on “Enable Identity”.

enable identity

The CMS needs a way to connect to your Github account. To do this, go to Settings > Identity > Services. You’ll see an option to enable “Git Gateway”. Click the button and follow the instructions from there.

enable git gateway

After you’re set up, create a new user by inviting yourself via email. You can then log in at www.your-site.com/admin.

For more information on Netlify CMS, see the docs.


Advanced Setup #

If you feel comfortable setting up a local development environment, you can customize this template even further. Things you need to know:

  • Installing Node and npm packages on a local machine
  • Running basic commands on the command line
  • Writing content in markdown files
  • Basic understanding of static site generators like Eleventy (optional)

Getting Started #

Clone the repository to your machine and start a new git history:

$ git clone https://github.com/maxboeck/emergency-site.git
$ cd emergency-site
$ rm -rf .git
$ git init

The build process requires Node v10 or higher on your system.
To install the dependencies, run npm install in the root directory, where the package.json file is located. The project is now ready for development.

Local Development #

You can run these on the command line in the root of your project:

  • npm start: starts development server
  • npm run build: generates a production build
  • npm run debug: runs eleventy with debug output

To customize the site, edit src/data/meta.js with your details, or set the corresponding environment variables in a new .env file in the root folder of the project.

Deployment #

The easiest way to deploy is by forking this repository and deploying it to Netlify. You can do that by clicking this button:

Deploy to Netlify

If you don’t want to use Netlify, you can also host the site on your own server or on cloud infrastructure like an S3 Bucket. In that case, set up your own process to host the generated output folder dist at your domain.