From caf049bccb264cf9d28b46bd8468fe51bae5265c Mon Sep 17 00:00:00 2001 From: Giulio Malitesta Date: Fri, 26 Jun 2026 23:54:34 +0200 Subject: [PATCH] Add AtomVM Ecosystem page Introduce a new /ecosystem/ page showcasing the products, community projects, and strategic contributors built around AtomVM. --- _data/ecosystem.yml | 50 ++++++++ _data/home.yml | 4 + _includes/ecosystem_card.html | 25 ++++ _layouts/ecosystem.html | 30 +++++ _sass/_ecosystem.scss | 61 ++++++++++ assets/css/main.scss | 1 + assets/images/ecosystem/la-machine.svg | 1 + assets/images/ecosystem/midimesh.svg | 12 ++ assets/images/ecosystem/nlnet-dark.svg | 162 +++++++++++++++++++++++++ assets/images/ecosystem/nlnet.svg | 98 +++++++++++++++ assets/images/ecosystem/piyopiyo.png | Bin 0 -> 59055 bytes ecosystem.md | 5 + 12 files changed, 449 insertions(+) create mode 100644 _data/ecosystem.yml create mode 100644 _includes/ecosystem_card.html create mode 100644 _layouts/ecosystem.html create mode 100644 _sass/_ecosystem.scss create mode 100644 assets/images/ecosystem/la-machine.svg create mode 100644 assets/images/ecosystem/midimesh.svg create mode 100644 assets/images/ecosystem/nlnet-dark.svg create mode 100644 assets/images/ecosystem/nlnet.svg create mode 100644 assets/images/ecosystem/piyopiyo.png create mode 100644 ecosystem.md diff --git a/_data/ecosystem.yml b/_data/ecosystem.yml new file mode 100644 index 0000000..b234743 --- /dev/null +++ b/_data/ecosystem.yml @@ -0,0 +1,50 @@ +title: "AtomVM Ecosystem" +intro: "They love AtomVM, and we love them!" + +categories: + - heading: "Commercial Products" + items: + - name: "La Machine" + logo: /assets/images/ecosystem/la-machine.svg + desc: >- + An artistic, hardware "Useless Box" reloaded with Erlang. Built completely offline, it + demonstrates AtomVM's extreme reliability, stability, and deterministic memory management + in a rugged standalone production environment on an ESP32-C3 chip. + links: + - { label: "GitHub", url: "https://github.com/pguyot/la_machine" } + - { label: "Website", url: "https://la-machine.fr/" } + + - heading: "Third-Party Projects" + items: + - name: "midiMESH" + logo: /assets/images/ecosystem/midimesh.svg + desc: >- + Real-time network MIDI handling using Elixir on the ESP32. It routes audio and musical + instrument data over network protocols, leveraging AtomVM's execution model to safely + coordinate live hardware and network events. + links: + - { label: "GitHub", url: "https://github.com/nanassound/midimesh_esp32" } + + - heading: "Strategic Ecosystem Contributors" + items: + - name: "NLnet Foundation (NGI0 Commons Fund)" + logo: /assets/images/ecosystem/nlnet.svg + logo_dark: /assets/images/ecosystem/nlnet-dark.svg + desc: >- + NLnet officially funds and hosts the "Towards AtomVM v1.0" project initiative, + providing strategic financial backing to expand hardware support, polish core APIs, and + improve runtime security on the road to a stable 1.0 release. + links: + - { label: "NLnet project", url: "https://nlnet.nl/project/AtomVM/" } + - name: "piyopiyo.ex" + logo: /assets/images/ecosystem/piyopiyo.png + desc: >- + A highly active Japanese Elixir user community based out of Nagoya. They actively + collaborate on real-world implementations—such as building AtomVM configurations to ingest + BLE data from SwitchBot hardware—and regularly host localized, hands-on developer workshops + to lower the barrier to entry for embedded BEAM applications. + links: + - { label: "GitHub", url: "https://github.com/piyopiyoex" } + +outro: >- + Building something with AtomVM? [Get in touch](/contact/) to be featured here. diff --git a/_data/home.yml b/_data/home.yml index 1ce83a4..53b25be 100644 --- a/_data/home.yml +++ b/_data/home.yml @@ -5,6 +5,8 @@ navbar_entries: url: /news/ - title: Extensions url: /extensions/ + - title: Ecosystem + url: /ecosystem/ - title: Forum url: https://erlangforums.com/c/erlang-platforms/atomvm-forum/76 @@ -64,6 +66,8 @@ footer: url: /sample-code/ - title: Extensions url: /extensions/ + - title: Ecosystem + url: /ecosystem/ - title: Tutorials url: /tutorials/ cta: diff --git a/_includes/ecosystem_card.html b/_includes/ecosystem_card.html new file mode 100644 index 0000000..c2561e7 --- /dev/null +++ b/_includes/ecosystem_card.html @@ -0,0 +1,25 @@ +
+ {% if include.item.logo %} + + {% endif %} +

{{ include.item.name }}

+
{{ include.item.desc | markdownify }}
+ {% if include.item.links %} + + {% endif %} +
diff --git a/_layouts/ecosystem.html b/_layouts/ecosystem.html new file mode 100644 index 0000000..c2e58ce --- /dev/null +++ b/_layouts/ecosystem.html @@ -0,0 +1,30 @@ +--- +layout: default +--- +
+ + + {% for category in site.data.ecosystem.categories %} +
+ +
+ {% for item in category.items %} + {% include ecosystem_card.html item=item %} + {% endfor %} +
+
+ {% endfor %} + + {% if site.data.ecosystem.outro %} +
+
{{ site.data.ecosystem.outro | markdownify }}
+
+ {% endif %} +
diff --git a/_sass/_ecosystem.scss b/_sass/_ecosystem.scss new file mode 100644 index 0000000..e690e31 --- /dev/null +++ b/_sass/_ecosystem.scss @@ -0,0 +1,61 @@ +.page-header__intro { + max-width: 760px; + margin: 16px auto 0; + color: var(--color-text-muted); +} + +.eco-section { + width: 100%; + max-width: 1420px; + display: flex; + flex-direction: column; + gap: 32px; +} + +.eco-card__logo { + display: flex; + align-items: center; +} + +.eco-card__logo img { + height: 56px; + width: auto; + max-width: 100%; + object-fit: contain; +} + +/* Theme-specific logo swap: show the light asset by default, the dark one + when the site theme toggle sets [data-theme="dark"]. */ +.eco-card__logo-dark { display: none; } +[data-theme="dark"] .eco-card__logo-light { display: none; } +[data-theme="dark"] .eco-card__logo-dark { display: block; } + +/* Centre a lone card instead of pinning it to the left column. */ +.features__grid--single { + justify-items: center; +} + +@media (min-width: 768px) { + .features__grid--single { + grid-template-columns: min(100%, 700px); + justify-content: center; + } +} + +.eco-card__links { + display: flex; + flex-wrap: wrap; + gap: 16px; + margin-top: auto; +} + +.eco-card__link { + display: inline-flex; + align-items: center; + gap: 6px; + font-size: var(--body-secondary-size); + color: var(--color-link); + text-decoration: none; +} + +.eco-card__link:hover { color: var(--color-link-hover); } diff --git a/assets/css/main.scss b/assets/css/main.scss index 20d3bea..6ed1723 100644 --- a/assets/css/main.scss +++ b/assets/css/main.scss @@ -8,6 +8,7 @@ @import 'typography'; @import 'layout'; @import 'cards'; +@import 'ecosystem'; @import 'navbar'; @import 'footer'; @import 'buttons'; diff --git a/assets/images/ecosystem/la-machine.svg b/assets/images/ecosystem/la-machine.svg new file mode 100644 index 0000000..0f1c672 --- /dev/null +++ b/assets/images/ecosystem/la-machine.svg @@ -0,0 +1 @@ +logo_button \ No newline at end of file diff --git a/assets/images/ecosystem/midimesh.svg b/assets/images/ecosystem/midimesh.svg new file mode 100644 index 0000000..d5a891c --- /dev/null +++ b/assets/images/ecosystem/midimesh.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/assets/images/ecosystem/nlnet-dark.svg b/assets/images/ecosystem/nlnet-dark.svg new file mode 100644 index 0000000..0b31dca --- /dev/null +++ b/assets/images/ecosystem/nlnet-dark.svg @@ -0,0 +1,162 @@ + + + + + Logo NLnet Foundation + + + + image/svg+xml + + https://nlnet.nl/logo + Logo NLnet Foundation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/images/ecosystem/nlnet.svg b/assets/images/ecosystem/nlnet.svg new file mode 100644 index 0000000..7a3d57b --- /dev/null +++ b/assets/images/ecosystem/nlnet.svg @@ -0,0 +1,98 @@ + + diff --git a/assets/images/ecosystem/piyopiyo.png b/assets/images/ecosystem/piyopiyo.png new file mode 100644 index 0000000000000000000000000000000000000000..9e136a318cddd6f24eb4690556cf48924354f401 GIT binary patch literal 59055 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 literal 0 HcmV?d00001 diff --git a/ecosystem.md b/ecosystem.md new file mode 100644 index 0000000..fe74c32 --- /dev/null +++ b/ecosystem.md @@ -0,0 +1,5 @@ +--- +layout: ecosystem +title: "AtomVM Ecosystem" +permalink: /ecosystem/ +---