Our great sponsors
-
SurveyJS
Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
letsencrypt
Certbot is EFF's tool to obtain certs from Let's Encrypt and (optionally) auto-enable HTTPS on your server. It can also act as a client for any other CA that uses the ACME protocol.
A while back I wrote a tool* to make this as easy as possible for my use case: a single command to register the domain, jump through all the AWS hoops, and have a live static site with ssl at the end. I was pretty happy with it.
These days, though, I just use netlify. It's not quite one command, but it's about heroku-level easy, and it gives you a lot of little niceties (autodeploy whenever you push a specific git branch to github, ssl, etc).
I actually just went the other way. I found CF is a bit too aggressive with anti-DDOS measures, and the page would not work sometimes in Safari with default settings.
The default setup for GH Pages is not great. Jekyll is very dated. But if you use GH Actions, you can build yourself a pretty great setup. My site is open source at https://github.com/jacobp100/jacob-does-code
How do you know that Netlify is production ready? I found Netlify Identity to not be production ready* and now I'm not so sure about the rest of the platform.
* Three reasons. 1) The identity widget has people setting it up in such a way that tokens aren't refreshed and logins last only an hour. https://github.com/netlify/netlify-identity-widget/issues/11... 2) Netlify Identity keeps bumping me out despite having gone out of my way to get it configured properly. I don't know why but the issue has lasted for weeks. 3) In development mode, the token can't be verified without making a request to Netlify Functions, and the suggested path (in Redwood.js at least) is to just parse the JWT without verifying it.
Try out Sia Skynet. You can upload with curl and it's very cheap. https://siasky.net
I use GitHub pages for most of my project static websites using gh-pages [0] to deploy via a GitHub Action workflow. It's been working great for general static webpages, or using Vue/React.
However, there are some limitations such as if you need to add custom headers.
If you need more customization, then S3/Cloudfront also works well too. I also use Netlify and had minimal issues.
I have looked into this, I found that [vuepress] https://vuepress.vuejs.org/ compiles into quite good looking static sites.
I wrote a small go app[0] which is invoked every 15 minutes and updates the DNS through the cloudflare API. Its very specific for my use case and ISP but works well.
GitHub pages:
You can use custom domains with SSL
Here's a full example:
Cool! There's also certbot[0] and lego[1] which can do ACME-DNS with a range of providers beside CF. You could also do tls-alpn, which allows you to do do the challenger encrypted on another port. It's primarily worth considering for those issuing certs for non-public domains that shouldn't be broadcasted via public DNS.
I use docsify with github pages. This allows you to edit in markdown.
Github basically gives you a free IDE.