This article is not particularly clear. It doesn't have a clear discussion of Bayesian versus frequentist interpretations of probability or inferential statements that are conditioned on the unobserved true parameter versus the observed data. It's hard to understand the subtlety of probability without understanding p(theta), p(x), p(theta|x) and p(x|theta).
I've read several pieces on Bayesian stats, and I've done some nontrivial statistics before. It still confuses me that p(data) != 1. I kinda wish the author had gone into detail about how to calculate the probability of an already-observed event.
p(data) is better formulated as p(data|F) where F codifies your assumptions about the possible generative probability models that you're building your likelihood function from. Or, similarly, F codifies your understanding of the world and the possible things that could occur within it.
This makes p(data|F) a perfect normalizing constant for the numerator of Bayes' Theorem since the numerator implies a choice of a specific model in the family F, but p(data|F) averages over all possible models/worlds/parameter choices (contained in F).