The RRULE that was applied to the regular dances was inferred from notes. Dances that were noted to be held on Fridays with a frequency of 52, for example, were assigned a rule that shows them dancing every Friday. But others had, for example, Monday with frequence of 12, suggesting they dance once a month on a Monday, but not which Monday. In that case I guessed the 1st Monday, until that can be verified.
You can embed this on any web page, and set the initial zip code and kilometers, like this
<html> <body> <script async src="https://contradances.net/api/embed.js?zip=37411&kilometers=120"></script> </body> </html>
Or a React component
import React, { useEffect } from "react"; function Events() { useEffect(() => { const script = document.createElement("script"); script.src = "https://contradances.net/api/embed.js?zip=37411&kilometers=120"; script.async = true; document.body.appendChild(script); return () => { document.body.removeChild(script); }; }, []); return ( <div> Dances </div> ); } export default Events;