Discord App on Cloudflare
I went through Discord’s tutorial for building your first Discord app that has you complete a starter Express.js server to handle webhooks from your Discord server but doesn’t walk you through how you might deploy it.
I went through the exercise of deploying it to Cloudflare Worker and making the adjustments needed for it to work in that serverless environment.
I struggled with two issues moving to Cloudflare: one was how to persist game state, and another was how to properly make outgoing API requests.
After learning more about the Cloudflare serverless computing model and some of Cloudflare’s building blocks, I was able to solve my issues by rewriting the Discord app in a native Cloudflare handler.
I found Cloudflare’s CLI wrangler easy-to-use, and with the generous free tier, I’m looking forward to building more proof-of-concept-type projects on Cloudflare.
I made my code available on Github here.
Added a visitor counter
After setting up this Hugo site, I wanted to spruce it up a bit by bringing back a throwback from classic websites back in the day: a visitor counter. Below are some notes on that as I get more accustomed to working with Hugo.
The backend
I prepared a backend to handle the visitor count.
Making a request to the backend will increment and return the visitor count.
I hosted the backend on Google’s Cloud Run platform.
I chose this platform for the backend because it’s serverless and at this point would fall under the free tier of usage, i.e. cost me zero dollars.
Also, I wanted to go through the exercise of setting up a serverless backend.
I’ll make a separate post about the details later.
For now, all we need to know for this discussion is that the backend is accessible by a URL.
In order to make it available to frontend Javascript, I will put it in the DOM.
I decided to put it in a meta tag in the head of the HTML document.
The ananke theme has a predefined block that pulls in a partial file if it’s available, so I placed the following snippet in layouts/partials/head-additions.html:
Figuring Out Hugo
Here are some notes from setting up a basic Hugo site with the ananke theme.
I followed the official quickstart guide but had to figure out a few things along that way, which I make a note of below.
Theme setup as Hugo module
The quickstart has you setting the ananke theme up as a Git submodule, but apparently this is the old way of doing things. The new recommended way of installing themes is to set it up as a Hugo module. From a high level, you