Skip to content

Add Luma embed for Community Day events & facade iframes #38845

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 14 commits into from
May 1, 2025
70 changes: 50 additions & 20 deletions source/_includes/javascripts/scripts.html
Original file line number Diff line number Diff line change
Expand Up @@ -5,32 +5,62 @@
<script src="{{ '/javascripts/prism.js' | cache_buster }}" type="text/javascript" defer></script>
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/@docsearch/js@3/dist/umd/index.min.js"></script>
<script type="text/javascript">
docsearch({
container: '#docsearch',
appId: 'FBHBYS3J0U',
indexName: 'home-assistant',
apiKey: "{{ site.algolia.api_key }}",
});
document.querySelector('.site-title').addEventListener('contextmenu', function(ev) {
ev.preventDefault();
document.location.assign("https://design.home-assistant.io/#brand/logo")
});
docsearch({
container: '#docsearch',
appId: 'FBHBYS3J0U',
indexName: 'home-assistant',
apiKey: "{{ site.algolia.api_key }}",
});
document.querySelector('.site-title').addEventListener('contextmenu', function (ev) {
ev.preventDefault();
document.location.assign("https://design.home-assistant.io/#brand/logo")
});
</script>


{% if page.hero_unit %}
<script type="text/javascript">
const changeNavColor = () => {
const scrollPosition = document.documentElement.scrollTop;
const nav = document.querySelector("header");
if (scrollPosition <= 1) {
nav.classList.add("dark");
} else {
nav.classList.remove("dark");
{
const changeNavColor = () => {
const scrollPosition = document.documentElement.scrollTop;
const nav = document.querySelector("header");
if (scrollPosition <= 1) {
nav.classList.add("dark");
} else {
nav.classList.remove("dark");
}
}
}

window.addEventListener("load", () => changeNavColor());
window.addEventListener("scroll", () => changeNavColor());
window.addEventListener("load", () => changeNavColor());
window.addEventListener("scroll", () => changeNavColor(), { passive: true });
}
</script>
{% endif %}

<script type="text/javascript">
{
const article = document.querySelector("article.post");
if (article) {
const iframes = article.querySelectorAll("iframe[data-src]");
let loaded = false;
if (iframes) {
document.addEventListener('mousemove', loadLazyFrames, { passive: true, once: true });
document.addEventListener('touchmove', loadLazyFrames, { passive: true, once: true });
document.addEventListener('scroll', loadLazyFrames, { passive: true, once: true });

function loadLazyFrames() {
if (loaded) return;
loaded = true;

iframes.forEach((iframe) => {
const src = iframe.getAttribute("data-src");
if (src) {
iframe.setAttribute("src", src);
iframe.removeAttribute("data-src");
}
});
}
}
}
}
</script>
34 changes: 14 additions & 20 deletions source/_posts/2025-04-24-community-day.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -23,26 +23,20 @@ I'm sure you're all wondering, "*Missy, what is a Community Day?*". In its simpl

### Locations and registering to attend

We already have **13 events** hosted by several of us who work on Home Assistant 😎! To coordinate these, we are using Luma, a site focused on tech meetups. All the current events can be found on our [Home Assistant Community Day](https://lu.ma/haday2025) calendar, including:

**Europe**
- [Aveiro, Portugal](https://lu.ma/p9eo4v3t)
- [Bordeaux, France](https://lu.ma/shxhyi6u)
- [London, United Kingdom](https://lu.ma/fa5ez3t7)
- [Madrid, Spain](https://lu.ma/o6pqbjv8)
- [Porto, Portugal](https://lu.ma/uozbfr6n)
- [Prague, Czech Republic](https://lu.ma/dhudha0z)
- [Utrecht, Netherlands](https://lu.ma/e2wyv8k0)
- [Vienna, Austria](https://lu.ma/2vjs7dab)

**North America**
- [Brooklyn, New York](https://lu.ma/efkt35on)
- [Charlotte, North Carolina](https://lu.ma/3kbb2dte)
- [Houston, Texas](https://lu.ma/g5o66to2)
- [Redmond, Washington](https://lu.ma/qb0hhhkm)
- [Twin Cities, Minnesota](https://lu.ma/ljwdnjmc)

All Community Day events are free, so **[register before spaces run out!](https://lu.ma/haday2025)** (No worries, there are waitlists!)
To coordinate all these meetups, we are using Luma, a site focused on tech meetups. All the current events can be found below or on our [Home Assistant Community Day](https://lu.ma/haday2025) calendar.

<iframe
data-src="https://lu.ma/embed/calendar/cal-QXZXEJrvB3UaI63/events?lt=light"
width="100%"
height="600"
frameborder="0"
style="border: 1px solid #bfcbda88; border-radius: 4px;"
allowfullscreen=""
aria-hidden="false"
tabindex="0"
></iframe>
Comment on lines +28 to +37
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛠️ Refactor suggestion

Improve iframe accessibility and markup hygiene

  • Add a title attribute (e.g. title="Home Assistant Community Day Calendar") for screen readers.
  • Remove the deprecated frameborder="0"—rely on CSS for styling (you already have border: 1px solid …).
  • As a progressive enhancement, you could include loading="lazy" on the <iframe>; your JS will still swap data-src, and browsers that support lazy loading will handle it natively.


All Community Day events are free, so **[register before spaces run out!](https://lu.ma/haday2025)** (No worries, there are waitlists!). We also have people who work full-time on Home Assistant attending these events. To find out who you can meet, head over to Luma 😎!

### Host your own

Expand Down