installing nsm
nsm commands
content files
template files
displaying mathematics
displaying code blocks
hosting your site

Hosting your site

To host your site just copy everything from the site directory (not the stage directory) to the server on which you would like to host it.

For creating static websites on code collaboration sites offering repository management like BitBucket, GitHub and GitLab you can import/fork, rename and clone a site repository and work from that (use nsm clone repository-url). For some basic templates see here. To build, commit and push local changes remotely use nsm bcp "commit message". To build, commit and push local changes remotely use nsm bcp "commit message".

Note - You can rename a repository when importing it, rather than forking and renaming, plus on BitBucket and GitHub you cannot remove fork relationships. Also on GitHub you will need to go in to the site repository's settings, find the GitHub Pages section and set the source to master branch (there may be some delay before your website goes live).

If you would like to be a masochist and set up your own site repositories from scratch for any of BitBucket, GitHub or GitLab then see:

  1. Hosting on BitBucket;
  2. Hosting on GitHub; or
  3. Hosting on GitLab.

You can also combine any of the above hosting options with Netlify, which works well for custom domains (including subdomains) and automatically renews Let's Encrypt certificates for your site. I personally find hosting on GitLab the easiest, because you only need one branch (standard master) then have it deploy the site when you push using a .gitlab-ci.yml file.

Other good free hosting options for static sites include:

Also check out Aerobatic.

To host dynamic websites for free check out Heroku. Other options for hosting dynamic websites (or static sites if you would like) include hiring a server with someone like:

  1. BuyVM;
  2. Joe's Datacenter; or
  3. Linode.
or any site that offers linux VPS hiring, then using something like the following to set up a web server on the server you have hired:
  1. LAMP stack; or
  2. NGINX (check out NGINX Unit for free options).