Everything you need to know about your site

Working on your site

Your website source repository

When you signed up with us, you were given a Git repository to store your website's source code. Git is a "Distributed Version Control System". You can read more about it here, and you can find plenty of tutorials for using it here.

You can have up to three accounts for your Git repository. When you signed up with us, we gave you a support email. If you need an account added or removed from your Git repository, just send an email to support. Account modifications may take upwards of three working days to process.

Having three accounts allows you to have dedicated people to help you design and work on your site.

Your repository layout

Your website source code must be laid out in a specific way. It should have a "www" directory in the top level of the repository. This "www" directory is where your final website will live. Everything inside the "www" directory will be available on your website. The "www" directory and each sub-directory should have an "index.html" as the directory index file.

At the top of your directory is a ".gitignore" file. You can modify it to add more files for Git to ignore (see the documentation here), but do not delete this file, and do not remove the top line in the file. This line specifies a server file that we automatically add to your production site which is used for your site's healthcheck.

Other than the "www" directory, the ".gitignore" file, and the healthcheck file, you are free to structure the rest of your repository as you would like. If you would like to use a site-generation tool (such as Jekyll, Hugo, Hexo, or Nikola ) then you can place your source and generation tools elsewhere in your repository.

Your staging and production sites

When you sign up with us, you will be given three sites. You will have a staging site, a production site, and a failover production site.

Staging site

If you make a branch in your Git repository named "stage", then anything contained in that branch will be displayed on your staging site. If no "stage" branch is found in your Git repository, then the "master" branch will be used instead. You are strongly encouraged to make your experimental changes to your site in "stage" and then, when you are ready to move your changes into production, merge "stage" into "master". You can either do this with a Git tool, or by making a "Pull Request" in your repository's web interface and merging that (for more information on "Pull Requests" as applicable with the Git repository we give you, go here.)

Your staging site will be refreshed every 15 minutes. Every 15 minutes the server hosting your staging site will pull all of the latest changes from your Git repository, and display either the contents of the "stage" branch, or, if no "stage" branch exists, the "master" branch.

Production site

Everything in your "master" branch inside your Git repository is considered ready for production. Your production site will display everything found in the "master" branch.

Once per day, between midnight and 6am UTC-05[2], the server running your production site will pull the latest changes to the "master" branch from your repository and make them live on your production site.

You should be certain that whatever is in your "master" branch is what you want on your production site.

Failover site

The failover site is intended to be a duplicate of your production site, so the same rules as production apply to it.

Helpful support is an email away!

While we cannot help you design your site, if you have a question about anything here, feel free to email support!